提交 6a6eb3d0 编写于 作者: J Jean-Luc Herren 提交者: Junio C Hamano

git-add--interactive: Improve behavior on bogus input

1) Previously, any menu would cause a perl error when entered '0',
   which is never a valid option.

2) Entering a bogus choice (like 998 or 4-2) surprisingly caused
   the same behavior as if the user had just hit 'enter', which
   means to carry out the selected action on the selected items.
   Entering such bogus input is now a no-op and the sub-menu
   doesn't exit.
Signed-off-by: NJean-Luc Herren <jlh@gmx.ch>
Signed-off-by: NJunio C Hamano <gitster@pobox.com>
上级 c95c0248
......@@ -219,7 +219,7 @@ sub list_and_choose {
last;
}
chomp $line;
my $donesomething = 0;
last if $line eq '';
for my $choice (split(/[\s,]+/, $line)) {
my $choose = 1;
my ($bottom, $top);
......@@ -251,12 +251,11 @@ sub list_and_choose {
next TOPLOOP;
}
for ($i = $bottom-1; $i <= $top-1; $i++) {
next if (@stuff <= $i);
next if (@stuff <= $i || $i < 0);
$chosen[$i] = $choose;
$donesomething++;
}
}
last if (!$donesomething || $opts->{IMMEDIATE});
last if ($opts->{IMMEDIATE});
}
for ($i = 0; $i < @stuff; $i++) {
if ($chosen[$i]) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册