From e76062c078debed0df818f70e4db14ad7a7cb53a Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Mon, 28 Nov 2022 18:51:43 +0000 Subject: patch 9.0.0965: using one window for executing autocommands is insufficient Problem: Using one window for executing autocommands is insufficient. Solution: Use up to five windows for executing autocommands. --- src/evalbuffer.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/evalbuffer.c') diff --git a/src/evalbuffer.c b/src/evalbuffer.c index 82a10d675c..e611c52e4c 100644 --- a/src/evalbuffer.c +++ b/src/evalbuffer.c @@ -136,6 +136,8 @@ typedef struct { * * Information is saved in "cob" and MUST be restored by calling * change_other_buffer_restore(). + * + * If this fails then "curbuf" will not be equal to "buf". */ static void change_other_buffer_prepare(cob_T *cob, buf_T *buf) @@ -156,7 +158,8 @@ change_other_buffer_prepare(cob_T *cob, buf_T *buf) // curwin->w_buffer differ from "curbuf", use the autocmd window. curbuf = curwin->w_buffer; aucmd_prepbuf(&cob->cob_aco, buf); - cob->cob_using_aco = TRUE; + if (curbuf == buf) + cob->cob_using_aco = TRUE; } } -- cgit v1.2.3