gitk: Fix display of diff lines beginning with --- or +++
authorPaul Mackerras <paulus@samba.org>
Tue, 7 Mar 2006 22:15:32 +0000 (09:15 +1100)
committerPaul Mackerras <paulus@samba.org>
Tue, 7 Mar 2006 22:15:32 +0000 (09:15 +1100)
Lines in a diff beginning with --- or +++ were not being displayed
at all.  Thanks to Robert Fitzsimons for pointing out the obvious
fix, that lines beginning with --- or +++ are only to be suppressed
in the diff header.  I also took the opportunity to replace a regexp
call with a couple of string compare calls, which should be faster.

Signed-off-by: Paul Mackerras <paulus@samba.org>
gitk

diff --git a/gitk b/gitk
index 36e8647b336a38a9dfcc2e186e41740fd57bb521..3b8ecd03c5ef52c7f8e7330da131e574173c4329 100755 (executable)
--- a/gitk
+++ b/gitk
@@ -2615,7 +2615,9 @@ proc getblobdiffline {bdf ids} {
        set pad [string range "----------------------------------------" 1 $l]
        $ctext insert end "$pad $header $pad\n" filesep
        set diffinhdr 1
-    } elseif {[regexp {^(---|\+\+\+)} $line]} {
+    } elseif {$diffinhdr && [string compare -length 3 $line "---"] == 0} {
+       # do nothing
+    } elseif {$diffinhdr && [string compare -length 3 $line "+++"] == 0} {
        set diffinhdr 0
     } elseif {[regexp {^@@ -([0-9]+),([0-9]+) \+([0-9]+),([0-9]+) @@(.*)} \
                   $line match f1l f1c f2l f2c rest]} {