# HG changeset patch # User Bram Moolenaar # Date 1615647603 -3600 # Node ID 03438d77d8ab62445c65d6c9bd23044db8b94900 # Parent f26a7a00f1219fb3641b6340610a9dcc35483d91 patch 8.2.2596: :doautocmd may confuse scripts listening to WinEnter Commit: https://github.com/vim/vim/commit/41cd80335cf318c15c8b0139f53ab5e8a02561ef Author: Bram Moolenaar Date: Sat Mar 13 15:47:56 2021 +0100 patch 8.2.2596: :doautocmd may confuse scripts listening to WinEnter Problem: :doautocmd may confuse scripts listening to WinEnter. Solution: Do the current buffer last. (closes https://github.com/vim/vim/issues/7958) diff --git a/src/autocmd.c b/src/autocmd.c --- a/src/autocmd.c +++ b/src/autocmd.c @@ -1336,7 +1336,7 @@ do_doautocmd( void ex_doautoall(exarg_T *eap) { - int retval; + int retval = OK; aco_save_T aco; buf_T *buf; bufref_T bufref; @@ -1353,7 +1353,8 @@ ex_doautoall(exarg_T *eap) */ FOR_ALL_BUFFERS(buf) { - if (buf->b_ml.ml_mfp != NULL) + // Only do loaded buffers and skip the current buffer, it's done last. + if (buf->b_ml.ml_mfp != NULL && buf != curbuf) { // find a window for this buffer and save some values aucmd_prepbuf(&aco, buf); @@ -1363,22 +1364,31 @@ ex_doautoall(exarg_T *eap) retval = do_doautocmd(arg, FALSE, &did_aucmd); if (call_do_modelines && did_aucmd) - { // Execute the modeline settings, but don't set window-local // options if we are using the current window for another // buffer. do_modelines(curwin == aucmd_win ? OPT_NOWIN : 0); - } // restore the current window aucmd_restbuf(&aco); // stop if there is some error or buffer was deleted if (retval == FAIL || !bufref_valid(&bufref)) + { + retval = FAIL; break; + } } } + // Execute autocommands for the current buffer last. + if (retval == OK) + { + do_doautocmd(arg, FALSE, &did_aucmd); + if (call_do_modelines && did_aucmd) + do_modelines(0); + } + check_cursor(); // just in case lines got deleted } @@ -2166,12 +2176,14 @@ apply_autocmds_group( while (au_pending_free_buf != NULL) { buf_T *b = au_pending_free_buf->b_next; + vim_free(au_pending_free_buf); au_pending_free_buf = b; } while (au_pending_free_win != NULL) { win_T *w = au_pending_free_win->w_next; + vim_free(au_pending_free_win); au_pending_free_win = w; } diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim index e4f67f4fc61ed72fa3a1558a4a965b5e72fd9c2f..8abf911fa8cb7f0bfb4e3ff7a70455d901cf232a GIT binary patch literal 83659 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 diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2596, +/**/ 2595, /**/ 2594,