aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ex_docmd.c
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2019-11-16 03:34:25 -0500
committerJustin M. Keyes <justinkz@gmail.com>2019-11-16 00:34:25 -0800
commitd79164c9f9ffbb17b82b3a523e217e61f43697be (patch)
tree689e1d515da7eda3f2676aecb417c7ab1f6287c1 /src/nvim/ex_docmd.c
parente3b08a0fc43eef91b51f8166a036e86b5bdf5613 (diff)
downloadrneovim-d79164c9f9ffbb17b82b3a523e217e61f43697be.tar.gz
rneovim-d79164c9f9ffbb17b82b3a523e217e61f43697be.tar.bz2
rneovim-d79164c9f9ffbb17b82b3a523e217e61f43697be.zip
vim-patch:8.1.0992: :normal resets reg_executing() result #11398
Problem: A :normal command while executing a register resets the reg_executing() result. Solution: Save and restore reg_executing. (closes vim/vim#4066) https://github.com/vim/vim/commit/cce713ddcc0c9ab29926c28e287cbb587a959b08
Diffstat (limited to 'src/nvim/ex_docmd.c')
-rw-r--r--src/nvim/ex_docmd.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c
index 7d02623d67..6a8bea28a7 100644
--- a/src/nvim/ex_docmd.c
+++ b/src/nvim/ex_docmd.c
@@ -8207,6 +8207,7 @@ static void ex_normal(exarg_T *eap)
int save_insertmode = p_im;
int save_finish_op = finish_op;
long save_opcount = opcount;
+ const int save_reg_executing = reg_executing;
char_u *arg = NULL;
int l;
char_u *p;
@@ -8301,7 +8302,8 @@ static void ex_normal(exarg_T *eap)
p_im = save_insertmode;
finish_op = save_finish_op;
opcount = save_opcount;
- msg_didout |= save_msg_didout; /* don't reset msg_didout now */
+ reg_executing = save_reg_executing;
+ msg_didout |= save_msg_didout; // don't reset msg_didout now
/* Restore the state (needed when called from a function executed for
* 'indentexpr'). Update the mouse and cursor, they may have changed. */