patch 8.2.3097: crash when using "quit" at recovery prompt
Problem: Crash when using "quit" at recovery prompt and autocommands are
triggered.
Solution: Block autocommands when creating an empty buffer to use as the
current buffer. (closes #8506)
diff --git a/src/buffer.c b/src/buffer.c
index 59f51aa..60aa32f 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -1130,7 +1130,12 @@
close_buffer(curwin, curbuf, DOBUF_UNLOAD, FALSE, FALSE);
if (old_curbuf == NULL || !bufref_valid(old_curbuf)
|| old_curbuf->br_buf == curbuf)
+ {
+ // Block autocommands here because curwin->w_buffer is NULL.
+ block_autocmds();
buf = buflist_new(NULL, NULL, 1L, BLN_CURBUF | BLN_LISTED);
+ unblock_autocmds();
+ }
else
buf = old_curbuf->br_buf;
if (buf != NULL)