set idlist {}
if {$row > 0} {
- foreach id [lindex $rowidlist [expr {$row - 1}]] {
+ set rm1 [expr {$row - 1}]
+ foreach id [lindex $rowidlist $rm1] {
if {$id ne {}} {
lappend idlist $id
}
}
+ set final [lindex $rowfinal $rm1]
}
for {} {$row < $endrow} {incr row} {
set rm1 [expr {$row - 1}]
- if {$rm1 < 0 || [lindex $rowidlist $rm1] eq {}} {
+ if {$rm1 < 0 || $idlist eq {}} {
set idlist [make_idlist $row]
set final 1
} else {
set id [lindex $displayorder $rm1]
- set final [lindex $rowfinal $rm1]
set col [lsearch -exact $idlist $id]
set idlist [lreplace $idlist $col $col]
foreach p [lindex $parentlist $rm1] {
} elseif {$row < $l} {
if {![rowsequal $idlist [lindex $rowidlist $row]]} {
lset rowidlist $row $idlist
- lset rowfinal $row $final
changedrow $row
}
+ lset rowfinal $row $final
} else {
set pad [ntimes [expr {$row - $l}] {}]
set rowidlist [concat $rowidlist $pad]
# on that row and below will move down one row.
proc insertrow {row newcmit} {
global displayorder parentlist commitlisted children
- global commitrow curview rowidlist rowisopt numcommits
+ global commitrow curview rowidlist rowisopt rowfinal numcommits
global numcommits
global selectedline commitidx ordertok
}
set rowidlist [linsert $rowidlist $row $idlist]
set rowisopt [linsert $rowisopt $row 0]
+ set rowfinal [linsert $rowfinal $row [lindex $rowfinal $row]]
incr numcommits
# Remove a commit that was inserted with insertrow on row $row.
proc removerow {row} {
global displayorder parentlist commitlisted children
- global commitrow curview rowidlist rowisopt numcommits
+ global commitrow curview rowidlist rowisopt rowfinal numcommits
global numcommits
global linesegends selectedline commitidx
set rowidlist [lreplace $rowidlist $row $row]
set rowisopt [lreplace $rowisopt $row $row]
+ set rowfinal [lreplace $rowfinal $row $row]
incr numcommits -1