diff options
author | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2019-05-26 19:39:38 -0400 |
---|---|---|
committer | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2019-05-26 20:24:11 -0400 |
commit | 21f160746a4b406f84311a64fff96c1bd52f23c9 (patch) | |
tree | 20b69ca7e01201f0a68d2a1d22db8a4377411cc0 /src/nvim/normal.c | |
parent | fb4d5a184678ab231da20ef559c8e423dfa54d6e (diff) | |
download | rneovim-21f160746a4b406f84311a64fff96c1bd52f23c9.tar.gz rneovim-21f160746a4b406f84311a64fff96c1bd52f23c9.tar.bz2 rneovim-21f160746a4b406f84311a64fff96c1bd52f23c9.zip |
vim-patch:8.1.0020: cannot tell whether a register is executing or recording
Problem: Cannot tell whether a register is being used for executing or
recording.
Solution: Add reg_executing() and reg_recording(). (Hirohito Higashi,
closes vim/vim#2745) Rename the global variables for consistency. Store
the register name in reg_executing.
https://github.com/vim/vim/commit/0b6d911e5de1a1c10a23d4c2ee1b0275c474a2dd
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); } } |