Re: [PATCH] gitk: Fix nextfile() and add prevfile()
From: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Date: 2016-06-15 22:42:42
Paul Mackerras [off-list ref] writes:
OGAWA Hirofumi writes:quoted
The current nextfile() jumps to last hunk, but I think this is not intention, probably, it's forgetting to add "break;". And this patch also adds prevfile(), it jumps to previous hunk.I think your prevfile isn't quite right - I don't think it will do the right thing if $loc is past the last entry in $difffilestart. Don't you want the "$ctext yview $prev" after the loop? Paul.
Sure, it's obviously useful in the case of big hunk. Thanks. -- OGAWA Hirofumi [off-list ref] The current nextfile() jumps to last hunk, but I think this is not intention, probably, it's forgetting to add "break;". And this patch also adds prevfile(), it jumps to previous hunk. Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> --- gitk | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff -puN gitk~gitk-nextfile-fix gitk
--- git/gitk~gitk-nextfile-fix 2006-09-27 12:14:07.000000000 +0900
+++ git-hirofumi/gitk 2006-09-27 12:16:23.000000000 +0900@@ -4440,12 +4440,27 @@ proc getblobdiffline {bdf ids} { } } +proc prevfile {} { + global difffilestart ctext + set prev [lindex $difffilestart 0] + set here [$ctext index @0,0] + foreach loc $difffilestart { + if {[$ctext compare $loc >= $here]} { + $ctext yview $prev + return + } + set prev $loc + } + $ctext yview $prev +} + proc nextfile {} { global difffilestart ctext set here [$ctext index @0,0] foreach loc $difffilestart { if {[$ctext compare $loc > $here]} { $ctext yview $loc + return } } }
_