summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 42a671f)
raw | patch | inline | side by side (parent: 42a671f)
author | Paul Mackerras <paulus@samba.org> | |
Wed, 2 Jan 2008 10:44:06 +0000 (21:44 +1100) | ||
committer | Paul Mackerras <paulus@samba.org> | |
Wed, 2 Jan 2008 10:44:06 +0000 (21:44 +1100) |
First, findmore would sometimes get a Tcl error due to relying on
varcorder and vrownum having valid values for the rows being searched,
but they may not be valid unless update_arcrows is called, so this
makes findmore call update_arcrows if necessary.
Secondly, in the "touching paths" and "adding/removing string" modes,
findmore was treating fhighlights($row) == -1 as meaning the row
matches, whereas it only means that we haven't received an answer from
the external git diff-tree process about it yet. This fixes it.
Signed-off-by: Paul Mackerras <paulus@samba.org>
varcorder and vrownum having valid values for the rows being searched,
but they may not be valid unless update_arcrows is called, so this
makes findmore call update_arcrows if necessary.
Secondly, in the "touching paths" and "adding/removing string" modes,
findmore was treating fhighlights($row) == -1 as meaning the row
matches, whereas it only means that we haven't received an answer from
the external git diff-tree process about it yet. This fixes it.
Signed-off-by: Paul Mackerras <paulus@samba.org>
gitk | patch | blob | history |
index bae6604292e8f49f13d8a606fa3e5922d6ed6ffb..cddd2189e507068e0d53d12624e0636f2a1efeeb 100755 (executable)
--- a/gitk
+++ b/gitk
global commitdata commitinfo numcommits findpattern findloc
global findstartline findcurline findallowwrap
global find_dirn gdttype fhighlights fprogcoord
- global curview varcorder vrownum varccommits
+ global curview varcorder vrownum varccommits vrowmod
if {![info exists find_dirn]} {
return 0
set n 500
set moretodo 1
}
+ if {$l + ($find_dirn > 0? $n: 1) > $vrowmod($curview)} {
+ update_arcrows $curview
+ }
set found 0
set domore 1
set ai [bsearch $vrownum($curview) $l]
}
set id [lindex $ids [expr {$l - $arow}]]
if {![info exists fhighlights($l)]} {
+ # this sets fhighlights($l) to -1
askfilehighlight $l $id
+ }
+ if {$fhighlights($l) > 0} {
+ set found $domore
+ break
+ }
+ if {$fhighlights($l) < 0} {
if {$domore} {
set domore 0
set findcurline [expr {$l - $find_dirn}]
}
- } elseif {$fhighlights($l)} {
- set found $domore
- break
}
}
}