Skip to content

Commit 7d53ff4

Browse files
committed
Merge branch 'cb/add-p-single-key-fix'
The single-key-input mode in "git add -p" had some code to handle keys that generate a sequence of input via ReadKey(), which did not handle end-of-file correctly, which has been fixed. * cb/add-p-single-key-fix: add -p: avoid use of undefined $key when ReadKey -> EOF
2 parents 25be7ec + fc8a812 commit 7d53ff4

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

git-add--interactive.perl

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1175,15 +1175,17 @@ sub prompt_single_character {
11751175
ReadMode 'cbreak';
11761176
my $key = ReadKey 0;
11771177
ReadMode 'restore';
1178-
if ($use_termcap and $key eq "\e") {
1179-
while (!defined $term_escapes{$key}) {
1180-
my $next = ReadKey 0.5;
1181-
last if (!defined $next);
1182-
$key .= $next;
1178+
if (defined $key) {
1179+
if ($use_termcap and $key eq "\e") {
1180+
while (!defined $term_escapes{$key}) {
1181+
my $next = ReadKey 0.5;
1182+
last if (!defined $next);
1183+
$key .= $next;
1184+
}
1185+
$key =~ s/\e/^[/;
11831186
}
1184-
$key =~ s/\e/^[/;
1187+
print "$key";
11851188
}
1186-
print "$key" if defined $key;
11871189
print "\n";
11881190
return $key;
11891191
} else {

0 commit comments

Comments
 (0)