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);