summaryrefslogtreecommitdiffstats
path: root/src/ex_docmd.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-04-07 13:58:04 +0100
committerBram Moolenaar <Bram@vim.org>2022-04-07 13:58:04 +0100
commit6d4e725a3447af6f69305fdc9f1e1ff8d82e3863 (patch)
tree2b8acbed1a0774ac7def27ea696f7ad59e93a6d7 /src/ex_docmd.c
parentf26c16144ddb27642c09f2cf5271afd163b36306 (diff)
patch 8.2.4705: jump list marker disappearsv8.2.4705
Problem: Jump list marker disappears. Solution: Reset reg_executing later. (closes #10111, closes #10100)
Diffstat (limited to 'src/ex_docmd.c')
-rw-r--r--src/ex_docmd.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 2d5752445b..90ca7ade2b 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -1733,6 +1733,7 @@ do_one_cmd(
exarg_T ea; // Ex command arguments
cmdmod_T save_cmdmod;
int save_reg_executing = reg_executing;
+ int save_pending_end_reg_executing = pending_end_reg_executing;
int ni; // set when Not Implemented
char_u *cmd;
int starts_with_colon = FALSE;
@@ -2630,6 +2631,7 @@ doend:
undo_cmdmod(&cmdmod);
cmdmod = save_cmdmod;
reg_executing = save_reg_executing;
+ pending_end_reg_executing = save_pending_end_reg_executing;
if (ea.nextcmd && *ea.nextcmd == NUL) // not really a next command
ea.nextcmd = NULL;
@@ -8456,6 +8458,7 @@ save_current_state(save_state_T *sst)
sst->save_finish_op = finish_op;
sst->save_opcount = opcount;
sst->save_reg_executing = reg_executing;
+ sst->save_pending_end_reg_executing = pending_end_reg_executing;
msg_scroll = FALSE; // no msg scrolling in Normal mode
restart_edit = 0; // don't go to Insert mode
@@ -8485,6 +8488,7 @@ restore_current_state(save_state_T *sst)
finish_op = sst->save_finish_op;
opcount = sst->save_opcount;
reg_executing = sst->save_reg_executing;
+ pending_end_reg_executing = sst->save_pending_end_reg_executing;
msg_didout |= sst->save_msg_didout; // don't reset msg_didout now
current_sctx.sc_version = sst->save_script_version;