[PATCH] git-gui: Don't select the wrong file if the last listed file is staged.
- From
- Abhijit Menon-Sen <ams@toroid.org>
- Date
- Jun 25, 2008, 10:36 UTC
- Message-ID
- <20080625103650.GA20492@toroid.org>
- In-Reply-To
- <1213308730-12707-1-git-send-email-ams@toroid.org>
Johannes Sixt noticed that if the last file in the list was staged, my earlier patch would display the diff for the penultimate file, but show the file _before_ that as being selected.
This was due to my misunderstanding the lno argument to show_diff.
This patch fixes the problem: lno is not decremented in the special case to handle the last item in the list (though we still need to use $lno-1 to find the right path for the next diff).
Signed-off-by: Abhijit Menon-Sen <ams@toroid.org> --- git-gui/git-gui.sh | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh index 23d7dfe..fe4a4c2 100755 --- a/git-gui/git-gui.sh +++ b/git-gui/git-gui.sh @@ -1806,14 +1806,16 @@ proc toggle_or_diff {w x y} { } else { global next_diff_p next_diff_w next_diff_i + set next_diff_w $w + if {$i < $ll} { set i [expr {$i + 1}] + set next_diff_i $i } else { + set next_diff_i $i set i [expr {$i - 1}] } - set next_diff_i $i - set next_diff_w $w set next_diff_p [lindex $file_lists($w) $i] if {$next_diff_p ne {} && $current_diff_path ne {}} {
-- 1.5.6