Mercurial > vim
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)); } }