diff src/if_perl.xs @ 9649:fd9727ae3c49 v7.4.2101

commit https://github.com/vim/vim/commit/2932359000b2f918d5fade79ea4d124d5943cd07 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jul 24 22:04:11 2016 +0200 patch 7.4.2101 Problem: Looping over windows, buffers and tab pages is inconsistant. Solution: Use FOR_ALL_ macros everywhere. (Yegappan Lakshmanan)
author Christian Brabandt <cb@256bit.org>
date Sun, 24 Jul 2016 22:15:07 +0200
parents 32e1dfae5664
children 4aead6a9b7a9
line wrap: on
line diff
--- a/src/if_perl.xs
+++ b/src/if_perl.xs
@@ -1534,14 +1534,14 @@ Buffers(...)
 	if (GIMME == G_SCALAR)
 	{
 	    i = 0;
-	    for (vimbuf = firstbuf; vimbuf; vimbuf = vimbuf->b_next)
+	    FOR_ALL_BUFFERS(vimbuf)
 		++i;
 
 	    XPUSHs(sv_2mortal(newSViv(i)));
 	}
 	else
 	{
-	    for (vimbuf = firstbuf; vimbuf; vimbuf = vimbuf->b_next)
+	    FOR_ALL_BUFFERS(vimbuf)
 		XPUSHs(newBUFrv(newSV(0), vimbuf));
 	}
     }
@@ -1586,7 +1586,7 @@ Windows(...)
 	    XPUSHs(sv_2mortal(newSViv(win_count())));
 	else
 	{
-	    for (vimwin = firstwin; vimwin != NULL; vimwin = W_NEXT(vimwin))
+	    FOR_ALL_WINDOWS(vimwin)
 		XPUSHs(newWINrv(newSV(0), vimwin));
 	}
     }