From 609c0513cac7898782c55f5fb20275733cc566e9 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Mon, 7 Nov 2022 19:50:51 +0800 Subject: vim-patch:8.2.3626: "au! event" cannot be followed by another command Problem: "au!" and "au! event" cannot be followed by another command as documented. Solution: When a bar is found set nextcmd. https://github.com/vim/vim/commit/b8e642f7ace5382b4dacb7a8effd86f22b828cc1 Cherry-pick do_autocmd() "eap" argument from patch 8.2.3268. Co-authored-by: Bram Moolenaar --- src/nvim/autocmd.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/nvim/autocmd.c') diff --git a/src/nvim/autocmd.c b/src/nvim/autocmd.c index 5b5ea43d86..9845e6be13 100644 --- a/src/nvim/autocmd.c +++ b/src/nvim/autocmd.c @@ -779,7 +779,7 @@ void au_event_restore(char *old_ei) // :autocmd * *.c show all autocommands for *.c files. // // Mostly a {group} argument can optionally appear before . -void do_autocmd(char *arg_in, int forceit) +void do_autocmd(exarg_T *eap, char *arg_in, int forceit) { char *arg = arg_in; char *envpat = NULL; @@ -790,6 +790,7 @@ void do_autocmd(char *arg_in, int forceit) int group; if (*arg == '|') { + eap->nextcmd = arg + 1; arg = ""; group = AUGROUP_ALL; // no argument, use all groups } else { @@ -806,6 +807,7 @@ void do_autocmd(char *arg_in, int forceit) pat = skipwhite(pat); if (*pat == '|') { + eap->nextcmd = pat + 1; pat = ""; cmd = ""; } else { -- cgit