summaryrefslogtreecommitdiff
path: root/lib/blame.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'lib/blame.tcl')
-rw-r--r--lib/blame.tcl12
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/blame.tcl b/lib/blame.tcl
index 33e8489..33d5204 100644
--- a/lib/blame.tcl
+++ b/lib/blame.tcl
@@ -518,8 +518,10 @@ method _read_blame {fd} {
set first_lno $lno
while {
- ![catch {set ncmit $line_commit([expr {$first_lno - 1}])}]
+ ![catch {set ncmit $line_commit([expr {$first_lno - 1}])}]
+ && ![catch {set nfile $line_file([expr {$first_lno - 1}])}]
&& $ncmit eq $cmit
+ && $nfile eq $file
} {
incr first_lno -1
}
@@ -572,8 +574,12 @@ method _read_blame {fd} {
incr blame_lines
}
- while {![catch {set ncmit $line_commit($lno)}]
- && $ncmit eq $cmit} {
+ while {
+ ![catch {set ncmit $line_commit($lno)}]
+ && ![catch {set nfile $line_file($lno)}]
+ && $ncmit eq $cmit
+ && $nfile eq $file
+ } {
$w_cgrp delete $lno.0 "$lno.0 lineend"
if {$lno == $first_lno} {