Mercurial > vim
diff src/memline.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 | b2aada04d84e |
children | 4aead6a9b7a9 |
line wrap: on
line diff
--- a/src/memline.c +++ b/src/memline.c @@ -739,7 +739,7 @@ ml_open_files(void) { buf_T *buf; - for (buf = firstbuf; buf != NULL; buf = buf->b_next) + FOR_ALL_BUFFERS(buf) if (!buf->b_p_ro || buf->b_changed) ml_open_file(buf); } @@ -873,7 +873,7 @@ ml_close_all(int del_file) { buf_T *buf; - for (buf = firstbuf; buf != NULL; buf = buf->b_next) + FOR_ALL_BUFFERS(buf) ml_close(buf, del_file && ((buf->b_flags & BF_PRESERVED) == 0 || vim_strchr(p_cpo, CPO_PRESERVE) == NULL)); #ifdef FEAT_SPELL @@ -893,7 +893,7 @@ ml_close_notmod(void) { buf_T *buf; - for (buf = firstbuf; buf != NULL; buf = buf->b_next) + FOR_ALL_BUFFERS(buf) if (!bufIsChanged(buf)) ml_close(buf, TRUE); /* close all not-modified buffers */ } @@ -2264,7 +2264,7 @@ ml_sync_all(int check_file, int check_ch buf_T *buf; stat_T st; - for (buf = firstbuf; buf != NULL; buf = buf->b_next) + FOR_ALL_BUFFERS(buf) { if (buf->b_ml.ml_mfp == NULL || buf->b_ml.ml_mfp->mf_fname == NULL) continue; /* no file */