summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgitk15
1 files changed, 11 insertions, 4 deletions
diff --git a/gitk b/gitk
index bae6604292..cddd2189e5 100755
--- a/gitk
+++ b/gitk
@@ -4950,7 +4950,7 @@ proc findmore {} {
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
@@ -4986,6 +4986,9 @@ proc findmore {} {
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]
@@ -5032,14 +5035,18 @@ proc findmore {} {
}
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
}
}
}