git-gui: Paper bag fix bad string length call in spellchecker
[gitweb.git] / lib / diff.tcl
index c2ae4555fe438c4263402485fea73396fcfd37e6..d04f6dbde2c468274770aa5543758186803e9ac5 100644 (file)
@@ -112,7 +112,7 @@ proc show_diff {path w {lno {}}} {
                        set diff_active 0
                        unlock_index
                        ui_status [mc "Unable to display %s" [escape_path $path]]
-                   error_popup [append [mc "Error loading file:"] "\n\n$err"]
+                       error_popup [strcat [mc "Error loading file:"] "\n\n$err"]
                        return
                }
                $ui_diff conf -state normal
@@ -182,7 +182,7 @@ proc show_diff {path w {lno {}}} {
                set diff_active 0
                unlock_index
                ui_status [mc "Unable to display %s" [escape_path $path]]
-               error_popup [append [mc "Error loading diff:"] "\n\n$err"]
+               error_popup [strcat [mc "Error loading diff:"] "\n\n$err"]
                return
        }
 
@@ -220,6 +220,7 @@ proc read_diff {fd} {
 
                if {[string match {mode *} $line]
                        || [string match {new file *} $line]
+                       || [regexp {^(old|new) mode *} $line]
                        || [string match {deleted file *} $line]
                        || [string match {deleted symlink} $line]
                        || [string match {Binary files * and * differ} $line]
@@ -357,5 +358,7 @@ proc apply_hunk {x y} {
        display_file $current_diff_path $mi
        if {$o eq {_}} {
                clear_diff
+       } else {
+               set current_diff_path $current_diff_path
        }
 }