mirror of
git://git.sv.gnu.org/nano.git
synced 2025-01-10 11:32:11 +03:00
search: when polling the keyboard, consume all waiting keystrokes
When during searching we look at the keyboard, then don't look at just the first keystroke, but check if there are more, and if so, check each one until we find a Cancel -- or until all keystrokes have been consumed and we can continue. This fixes the first half of https://savannah.gnu.org/bugs/?47438.
This commit is contained in:
parent
c918c6563b
commit
9cbe6a640c
12
src/search.c
12
src/search.c
@ -292,10 +292,14 @@ int findnextstr(
|
||||
|
||||
lastkbcheck = time(NULL);
|
||||
|
||||
if (input && func_from_key(&input) == do_cancel) {
|
||||
statusbar(_("Cancelled"));
|
||||
disable_nodelay();
|
||||
return -2;
|
||||
/* Consume all waiting keystrokes until a Cancel. */
|
||||
while (input) {
|
||||
if (func_from_key(&input) == do_cancel) {
|
||||
statusbar(_("Cancelled"));
|
||||
disable_nodelay();
|
||||
return -2;
|
||||
}
|
||||
input = parse_kbinput(NULL);
|
||||
}
|
||||
|
||||
if (++feedback > 0)
|
||||
|
Loading…
Reference in New Issue
Block a user