diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-06-26 07:55:49 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-26 07:55:49 +0800 |
commit | 91aeaeef64da56b1cce37a04b86e831241ce7ff9 (patch) | |
tree | 3d9ef689cac7197f5d60823dab12afea7c29a801 | |
parent | 957d05d16bc80cef14c2e9fe31b6b847e698f9d1 (diff) | |
parent | dc3ee122dc132b5baf11ea0083604927eb6c7443 (diff) | |
download | rneovim-91aeaeef64da56b1cce37a04b86e831241ce7ff9.tar.gz rneovim-91aeaeef64da56b1cce37a04b86e831241ce7ff9.tar.bz2 rneovim-91aeaeef64da56b1cce37a04b86e831241ce7ff9.zip |
Merge pull request #24154 from zeertzjq/vim-9.0.1665
vim-patch:8.2.3833,9.0.1665
-rw-r--r-- | src/nvim/autocmd.c | 8 | ||||
-rw-r--r-- | test/old/testdir/test_ex_mode.vim | 6 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/nvim/autocmd.c b/src/nvim/autocmd.c index 427bce0e80..36f0183fd8 100644 --- a/src/nvim/autocmd.c +++ b/src/nvim/autocmd.c @@ -1783,8 +1783,14 @@ bool apply_autocmds_group(event_T event, char *fname, char *fname_io, bool force check_lnums_nested(true); } + const int save_did_emsg = did_emsg; + const bool save_ex_pressedreturn = get_pressedreturn(); + // Execute the autocmd. The `getnextac` callback handles iteration. - do_cmdline(NULL, getnextac, (void *)&patcmd, DOCMD_NOWAIT | DOCMD_VERBOSE | DOCMD_REPEAT); + do_cmdline(NULL, getnextac, &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 diff --git a/test/old/testdir/test_ex_mode.vim b/test/old/testdir/test_ex_mode.vim index 3332bc6ab9..42f08868a0 100644 --- a/test/old/testdir/test_ex_mode.vim +++ b/test/old/testdir/test_ex_mode.vim @@ -244,6 +244,12 @@ func Test_ex_mode_errors() au! CmdLineEnter delfunc ExEnterFunc + + au CmdlineEnter * : + call feedkeys("gQecho 1\r", 'xt') + + au! CmdlineEnter + quit endfunc |