aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--reselect4
1 files changed, 3 insertions, 1 deletions
diff --git a/reselect b/reselect
index 073f6d7..60f2571 100644
--- a/reselect
+++ b/reselect
@@ -201,7 +201,9 @@ sub on_key_press {
my $match = $results->{$num}->{match};
$self->launch($match);
}
- } elsif (grep { $_ eq $keyname } @hintchars) {
+ } elsif (length($keyname) == 1 &&
+ grep { index($_, $p->{buffer} . $keyname) == 0} keys %{$p->{results}}) {
+ # accept key only if the new buffer is a prefix of at least one hint
$p->{buffer} = $p->{buffer} . $keyname;
$self->update($p);
}