vim-patch:8.1.2346: CTRL-R CTRL-R doesn't work with modifyOtherKeys

Problem:    CTRL-R CTRL-R doesn't work with modifyOtherKeys.
Solution:   Allow key codes when fetching argument for CTRL-R. (closes vim/vim#5266)
            Also fix CTRL-G in Insert mode.
38571a04b4

Omit test as it sends terminal codes. Use a Lua test instead.
This commit is contained in:
zeertzjq
2022-04-27 17:34:40 +08:00
parent 3090648584
commit 78a7e2d55c
3 changed files with 33 additions and 13 deletions

View File

@@ -1891,6 +1891,7 @@ static int command_line_handle_key(CommandLineState *s)
case Ctrl_R: { // insert register
putcmdline('"', true);
no_mapping++;
allow_keys++;
int i = s->c = plain_vgetc(); // CTRL-R <char>
if (i == Ctrl_O) {
i = Ctrl_R; // CTRL-R CTRL-O == CTRL-R CTRL-R
@@ -1899,7 +1900,8 @@ static int command_line_handle_key(CommandLineState *s)
if (i == Ctrl_R) {
s->c = plain_vgetc(); // CTRL-R CTRL-R <char>
}
--no_mapping;
no_mapping--;
allow_keys--;
// Insert the result of an expression.
// Need to save the current command line, to be able to enter
// a new one...