patch 7.4.2024
Problem:    More buf_valid() calls can be optimized.
Solution:   Use bufref_valid() instead.
diff --git a/src/term.c b/src/term.c
index 7ff5af6..8cb3e8a 100644
--- a/src/term.c
+++ b/src/term.c
@@ -1908,21 +1908,21 @@
 
 #ifdef FEAT_AUTOCMD
 	{
-	    buf_T	*old_curbuf;
+	    bufref_T	old_curbuf;
 
 	    /*
 	     * Execute the TermChanged autocommands for each buffer that is
 	     * loaded.
 	     */
-	    old_curbuf = curbuf;
+	    set_bufref(&old_curbuf, curbuf);
 	    for (curbuf = firstbuf; curbuf != NULL; curbuf = curbuf->b_next)
 	    {
 		if (curbuf->b_ml.ml_mfp != NULL)
 		    apply_autocmds(EVENT_TERMCHANGED, NULL, NULL, FALSE,
 								      curbuf);
 	    }
-	    if (buf_valid(old_curbuf))
-		curbuf = old_curbuf;
+	    if (bufref_valid(&old_curbuf))
+		curbuf = old_curbuf.br_buf;
 	}
 #endif
     }