[PATCH 2/4] git-gui: avoid exception upon Ctrl+T in an empty list
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jan 9, 2018, 14:32 UTC
- Message-ID
- <7cd5ed902e3d8102903d494ba3450b1d745928a9.1515508360.git.johannes.schindelin@gmx.de>
- In-Reply-To
- <cover.1515508360.git.johannes.schindelin@gmx.de>
Previously unstaged files can be staged by clicking on them and then pressing Ctrl+T. Conveniently, the next unstaged file is selected automatically so that the unstaged files can be staged by repeatedly pressing Ctrl+T.
When a user hits Ctrl+T one time too many, though, Git GUI used to throw this exception:
expected number but got ""
expected number but got ""
while executing
"expr {int([lindex [$w tag ranges in_diff] 0])}"
(procedure "toggle_or_diff" line 13)
invoked from within
"toggle_or_diff toggle .vpane.files.workdir.list "
(command bound to event)Let's just avoid that by skipping the operation when there are no more files to stage.
This fixes https://github.com/git-for-windows/git/issues/1060
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> --- git-gui/git-gui.sh | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh index ed24aa9d2f1..3c085cddc61 100755 --- a/git-gui/git-gui.sh +++ b/git-gui/git-gui.sh @@ -2504,6 +2504,10 @@ proc toggle_or_diff {mode w args} { if {$last_clicked ne {}} { set lno [lindex $last_clicked 1] } else { + if {[llength $file_lists($w)] == 0} { + set last_clicked {} + return + } set lno [expr {int([lindex [$w tag ranges in_diff] 0])}] } if {$mode eq "toggle"} {
-- 2.15.1.windows.2.395.g5bb0817ee52