changeset 3340:539613ce999d v7.3.437

updated for version 7.3.437 Problem: Continue looping inside FOR_ALL_TAB_WINDOWS even when already done. Solution: Use goto instead of break. (Hirohito Higashi)
author Bram Moolenaar <bram@vim.org>
date Sat, 11 Feb 2012 23:45:37 +0100
parents a5c143237d86
children 4d2f7f850f63
files src/fileio.c src/globals.h src/version.c
diffstat 3 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -8898,10 +8898,11 @@ aucmd_restbuf(aco)
 		    if (tp != curtab)
 			goto_tabpage_tp(tp);
 		    win_goto(aucmd_win);
-		    break;
+		    goto win_found;
 		}
 	    }
 	}
+win_found:
 
 	/* Remove the window and frame from the tree of frames. */
 	(void)winframe_remove(curwin, &dummy, NULL);
--- a/src/globals.h
+++ b/src/globals.h
@@ -535,6 +535,10 @@ EXTERN win_T	*lastwin;		/* last window *
 EXTERN win_T	*prevwin INIT(= NULL);	/* previous window */
 # define W_NEXT(wp) ((wp)->w_next)
 # define FOR_ALL_WINDOWS(wp) for (wp = firstwin; wp != NULL; wp = wp->w_next)
+/*
+ * When using this macro "break" only breaks out of the inner loop. Use "goto"
+ * to break out of the tabpage loop.
+ */
 # define FOR_ALL_TAB_WINDOWS(tp, wp) \
     for ((tp) = first_tabpage; (tp) != NULL; (tp) = (tp)->tp_next) \
 	for ((wp) = ((tp) == curtab) \
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    437,
+/**/
     436,
 /**/
     435,