Mercurial > vim
changeset 32667:9e28090dd246 v9.0.1665
patch 9.0.1665: empty CmdlineEnter autocommand causes errors in Ex mode
Commit: https://github.com/vim/vim/commit/590aae35575cbd74d80c41d87fc647f2812aad70
Author: Christian Brabandt <cb@256bit.org>
Date: Sun Jun 25 22:34:22 2023 +0100
patch 9.0.1665: empty CmdlineEnter autocommand causes errors in Ex mode
Problem: Empty CmdlineEnter autocommand causes errors in Ex mode.
Solution: Save and restore ex_pressedreturn. (Christian Brabandt,
closes # 12581, closes #12578)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 25 Jun 2023 23:45:07 +0200 |
parents | f905f7bc568c |
children | d110c049e688 |
files | src/autocmd.c src/ex_docmd.c src/testdir/test_ex_mode.vim src/version.c |
diffstat | 4 files changed, 11 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- 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
--- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -9840,7 +9840,6 @@ is_loclist_cmd(int cmdidx) } #endif -#if defined(FEAT_TIMERS) || defined(PROTO) int get_pressedreturn(void) { @@ -9852,4 +9851,3 @@ set_pressedreturn(int val) { ex_pressedreturn = val; } -#endif