[PATCH] git-gui: Don't select the wrong file if the last listed file is staged.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>
---
 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

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux