aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ex_cmds.c
diff options
context:
space:
mode:
authorJames McCoy <jamessan@jamessan.com>2017-03-10 16:13:37 -0500
committerJames McCoy <jamessan@jamessan.com>2017-03-11 20:32:09 -0500
commit564e9dc17fd53ab6cb1bc63a55dba2df9538a31f (patch)
tree40c382cf733ab05a3d6c51dd684253ddce7b2cf9 /src/nvim/ex_cmds.c
parent5674057e3a5597f792a077d714bd7d32af81bfc8 (diff)
downloadrneovim-564e9dc17fd53ab6cb1bc63a55dba2df9538a31f.tar.gz
rneovim-564e9dc17fd53ab6cb1bc63a55dba2df9538a31f.tar.bz2
rneovim-564e9dc17fd53ab6cb1bc63a55dba2df9538a31f.zip
vim-patch:7.4.2101
Problem: Looping over windows, buffers and tab pages is inconsistant. Solution: Use FOR_ALL_ macros everywhere. (Yegappan Lakshmanan) https://github.com/vim/vim/commit/2932359000b2f918d5fade79ea4d124d5943cd07
Diffstat (limited to 'src/nvim/ex_cmds.c')
-rw-r--r--src/nvim/ex_cmds.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/nvim/ex_cmds.c b/src/nvim/ex_cmds.c
index 159e027793..54459792aa 100644
--- a/src/nvim/ex_cmds.c
+++ b/src/nvim/ex_cmds.c
@@ -4365,10 +4365,15 @@ void ex_help(exarg_T *eap)
) {
if (cmdmod.tab != 0)
wp = NULL;
- else
- for (wp = firstwin; wp != NULL; wp = wp->w_next)
- if (wp->w_buffer != NULL && wp->w_buffer->b_help)
+ else {
+ wp = NULL;
+ FOR_ALL_WINDOWS_IN_TAB(wp2, curtab) {
+ if (wp2->w_buffer != NULL && wp2->w_buffer->b_help) {
+ wp = wp2;
break;
+ }
+ }
+ }
if (wp != NULL && wp->w_buffer->b_nwindows > 0)
win_enter(wp, true);
else {