diff src/ex_docmd.c @ 28359:390dfc3e409b v8.2.4705

patch 8.2.4705: jump list marker disappears Commit: https://github.com/vim/vim/commit/6d4e725a3447af6f69305fdc9f1e1ff8d82e3863 Author: zeertzjq <zeertzjq@outlook.com> Date: Thu Apr 7 13:58:04 2022 +0100 patch 8.2.4705: jump list marker disappears Problem: Jump list marker disappears. Solution: Reset reg_executing later. (closes https://github.com/vim/vim/issues/10111, closes https://github.com/vim/vim/issues/10100)
author Bram Moolenaar <Bram@vim.org>
date Thu, 07 Apr 2022 15:00:05 +0200
parents b418e073b42f
children 0902a477cd03
line wrap: on
line diff
--- 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;