neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 91aeaeef64da56b1cce37a04b86e831241ce7ff9
parent 957d05d16bc80cef14c2e9fe31b6b847e698f9d1
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Mon, 26 Jun 2023 07:55:49 +0800

Merge pull request #24154 from zeertzjq/vim-9.0.1665

vim-patch:8.2.3833,9.0.1665
Diffstat:
Msrc/nvim/autocmd.c | 8+++++++-
Mtest/old/testdir/test_ex_mode.vim | 6++++++
2 files changed, 13 insertions(+), 1 deletion(-)

diff --git 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 @@ -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