patch 8.2.0500: using the same loop in many places
Problem: Using the same loop in many places.
Solution: Define more FOR_ALL macros. (Yegappan Lakshmanan, closes #5339)
diff --git a/src/window.c b/src/window.c
index 964f1ef..7efe7b1 100644
--- a/src/window.c
+++ b/src/window.c
@@ -1428,10 +1428,10 @@
#ifdef FEAT_PROP_POPUP
win_T *wp;
- for (wp = first_popupwin; wp != NULL; wp = wp->w_next)
+ FOR_ALL_POPUPWINS(wp)
if (wp == win)
return TRUE;
- for (wp = curtab->tp_first_popupwin; wp != NULL; wp = wp->w_next)
+ FOR_ALL_POPUPWINS_IN_TAB(curtab, wp)
if (wp == win)
return TRUE;
#endif
@@ -1473,7 +1473,7 @@
return TRUE;
}
#ifdef FEAT_PROP_POPUP
- for (wp = tp->tp_first_popupwin; wp != NULL; wp = wp->w_next)
+ FOR_ALL_POPUPWINS_IN_TAB(tp, wp)
if (wp == win)
return TRUE;
#endif
@@ -2276,7 +2276,7 @@
{
nexttp = tp->tp_next;
if (tp != curtab)
- for (wp = tp->tp_firstwin; wp != NULL; wp = wp->w_next)
+ FOR_ALL_WINDOWS_IN_TAB(tp, wp)
if (wp->w_buffer == buf
&& !(wp->w_closing || wp->w_buffer->b_locked > 0))
{
@@ -4785,7 +4785,7 @@
FOR_ALL_TABPAGES(tp)
if (tp != curtab)
{
- for (wp = tp->tp_firstwin; wp != NULL; wp = wp->w_next)
+ FOR_ALL_WINDOWS_IN_TAB(tp, wp)
if (wp->w_buffer == buf)
break;
if (wp != NULL)
@@ -4968,7 +4968,7 @@
// Remove the window from the b_wininfo lists, it may happen that the
// freed memory is re-used for another window.
FOR_ALL_BUFFERS(buf)
- for (wip = buf->b_wininfo; wip != NULL; wip = wip->wi_next)
+ FOR_ALL_BUF_WININFO(buf, wip)
if (wip->wi_win == wp)
wip->wi_win = NULL;