patch 7.4.2101
Problem:    Looping over windows, buffers and tab pages is inconsistant.
Solution:   Use FOR_ALL_ macros everywhere. (Yegappan Lakshmanan)
diff --git a/src/if_tcl.c b/src/if_tcl.c
index 3ef1544..a1d8d1a 100644
--- a/src/if_tcl.c
+++ b/src/if_tcl.c
@@ -388,7 +388,7 @@
 	    Tcl_WrongNumArgs(interp, 1, objv, "bufNumber");
 	    return TCL_ERROR;
 	}
-	for (buf = firstbuf; buf != NULL; buf = buf->b_next)
+	FOR_ALL_BUFFERS(buf)
 	{
 	    if (buf->b_fnum == n)
 	    {
@@ -416,7 +416,7 @@
 		err = TCL_ERROR;
 		break;
 	    }
-	    for (buf = firstbuf; buf != NULL; buf = buf->b_next)
+	    FOR_ALL_BUFFERS(buf)
 	    {
 		name = tclgetbuffer(interp, buf);
 		if (name == NULL)