git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
AMAbhijit 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
Previous: Abhijit Menon-SenNext: Johannes Sixt
Message 2 of 4 in “git-gui: Move on to the next filename after staging/unstaging a change”
  1. git-gui: Move on to the next filename after staging/unstaging a changeAbhijit Menon-Sen, Jun 12, 2008
  2. git-gui: Don't select the wrong file if the last listed file is staged.Abhijit Menon-Sen, Jun 25, 2008
  3. Johannes SixtJun 25, 2008
  4. Shawn O. PearceJun 25, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.