patch 8.1.0995: a getchar() call resets the reg_executing() result
Problem: A getchar() call while executing a register resets the
reg_executing() result.
Solution: Save and restore reg_executing. (closes #406
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 7cecab0..f59574d 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -4811,6 +4811,7 @@
{
varnumber_T n;
int error = FALSE;
+ int save_reg_executing = reg_executing;
#ifdef MESSAGE_QUEUE
// vpeekc() used to check for messages, but that caused problems, invoking
@@ -4845,6 +4846,7 @@
}
--no_mapping;
--allow_keys;
+ reg_executing = save_reg_executing;
set_vim_var_nr(VV_MOUSE_WIN, 0);
set_vim_var_nr(VV_MOUSE_WINID, 0);