summaryrefslogtreecommitdiffstats
path: root/src/autocmd.c
diff options
context:
space:
mode:
authorChristian Brabandt <cb@256bit.org>2023-06-25 22:34:22 +0100
committerBram Moolenaar <Bram@vim.org>2023-06-25 22:34:22 +0100
commit590aae35575cbd74d80c41d87fc647f2812aad70 (patch)
tree8efb27054cdf67fcffb5bd5943fa8df0c6ea44a1 /src/autocmd.c
parent8154e642aa476e1a5d3de66c34e8289845b2b797 (diff)
patch 9.0.1665: empty CmdlineEnter autocommand causes errors in Ex modev9.0.1665
Problem: Empty CmdlineEnter autocommand causes errors in Ex mode. Solution: Save and restore ex_pressedreturn. (Christian Brabandt, closes # 12581, closes #12578)
Diffstat (limited to 'src/autocmd.c')
-rw-r--r--src/autocmd.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/autocmd.c b/src/autocmd.c
index 862ddf7ccc..63e56735b5 100644
--- a/src/autocmd.c
+++ b/src/autocmd.c
@@ -2018,7 +2018,6 @@ apply_autocmds_group(
int did_save_redobuff = FALSE;
save_redo_T save_redo;
int save_KeyTyped = KeyTyped;
- int save_did_emsg;
ESTACK_CHECK_DECLARATION;
/*
@@ -2310,12 +2309,14 @@ apply_autocmds_group(
else
check_lnums_nested(TRUE);
- save_did_emsg = did_emsg;
+ int save_did_emsg = did_emsg;
+ int save_ex_pressedreturn = get_pressedreturn();
do_cmdline(NULL, getnextac, (void *)&patcmd,
DOCMD_NOWAIT|DOCMD_VERBOSE|DOCMD_REPEAT);
did_emsg += save_did_emsg;
+ set_pressedreturn(save_ex_pressedreturn);
if (nesting == 1)
// restore cursor and topline, unless they were changed