Command repeating by using cmd queues

This replaces the old pushq/saveq arrays (which were used to save
the keys pressed by the user for repeating a previous command)
with a new command queue.  This means there's no hard-coded limit
to the saved keys, and it can repeat extended commands which are
not bound to any key.
This commit is contained in:
Pasi Kallinen
2022-08-08 14:02:59 +03:00
parent 4e6d3aba4f
commit fd9745f9c6
34 changed files with 417 additions and 379 deletions

View File

@@ -496,20 +496,12 @@ curses_ext_cmd(void)
curses_destroy_win(extwin2);
if (ret != -1) {
if (!g.in_doagain)
savech_extcmd(cur_choice, TRUE);
} else {
char extcmd_char = extcmd_initiator();
if (*cur_choice)
pline("%s%s: unknown extended command.",
visctrl(extcmd_char), cur_choice);
if (!g.in_doagain) {
savech(0); /* reset do-again buffer */
if (letter != '\033')
savech(extcmd_char);
}
}
return ret;
}