diff options
Diffstat (limited to 'src/nvim/normal.c')
-rw-r--r-- | src/nvim/normal.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/nvim/normal.c b/src/nvim/normal.c index d6e78d9ce4..b63d3812d4 100644 --- a/src/nvim/normal.c +++ b/src/nvim/normal.c @@ -552,7 +552,10 @@ static bool normal_need_additional_char(NormalState *s) // needs to be followed by a second char, examples: // - qc => record using register c // - q: => open command-line window - || (cmdchar == 'q' && !pending_op && !Recording && !Exec_reg) + || (cmdchar == 'q' + && !pending_op + && reg_recording == 0 + && reg_executing == 0) // 'a' or 'i' after an operator is a text object, examples: // - ciw => change inside word // - da( => delete parenthesis and everything inside. @@ -7686,7 +7689,7 @@ static void nv_record(cmdarg_T *cap) } else { // (stop) recording into a named register, unless executing a // register. - if (!Exec_reg && do_record(cap->nchar) == FAIL) { + if (reg_executing == 0 && do_record(cap->nchar) == FAIL) { clearopbeep(cap->oap); } } |