patch 7.4.2024
Problem: More buf_valid() calls can be optimized.
Solution: Use bufref_valid() instead.
diff --git a/src/main.c b/src/main.c
index 42638e4..26941bd 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1460,9 +1460,13 @@
for (buf = firstbuf; buf != NULL; buf = buf->b_next)
if (buf->b_ml.ml_mfp != NULL)
{
+ bufref_T bufref;
+
+ set_bufref(&bufref, buf);
apply_autocmds(EVENT_BUFUNLOAD, buf->b_fname, buf->b_fname,
FALSE, buf);
- if (!buf_valid(buf)) /* autocmd may delete the buffer */
+ if (!bufref_valid(&bufref))
+ /* autocmd deleted the buffer */
break;
}
apply_autocmds(EVENT_VIMLEAVEPRE, NULL, NULL, FALSE, curbuf);