Mercurial > vim
diff src/if_mzsch.c @ 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 | 29de7dda7a6a |
children | 80ac9cf77c9b |
line wrap: on
line diff
--- a/src/if_mzsch.c +++ b/src/if_mzsch.c @@ -1916,7 +1916,7 @@ get_window_count(void *data UNUSED, int #ifdef FEAT_WINDOWS win_T *w; - for (w = firstwin; w != NULL; w = w->w_next) + FOR_ALL_WINDOWS(w) #endif ++n; return scheme_make_integer(n); @@ -2197,7 +2197,7 @@ get_buffer_by_num(void *data, int argc, fnum = SCHEME_INT_VAL(GUARANTEE_INTEGER(prim->name, 0)); - for (buf = firstbuf; buf; buf = buf->b_next) + FOR_ALL_BUFFERS(buf) if (buf->b_fnum == fnum) return buffer_new(buf); @@ -2220,7 +2220,7 @@ get_buffer_by_name(void *data, int argc, fname = GUARANTEED_STRING_ARG(prim->name, 0); buffer = scheme_false; - for (buf = firstbuf; buf; buf = buf->b_next) + FOR_ALL_BUFFERS(buf) { if (buf->b_ffname == NULL || buf->b_sfname == NULL) /* empty string */ @@ -2283,7 +2283,7 @@ get_buffer_count(void *data UNUSED, int buf_T *b; int n = 0; - for (b = firstbuf; b; b = b->b_next) ++n; + FOR_ALL_BUFFERS(b) ++n; return scheme_make_integer(n); }