]> granicus.if.org Git - vim/commitdiff
updated for version 7.3.437 v7.3.437
authorBram Moolenaar <Bram@vim.org>
Sat, 11 Feb 2012 22:45:37 +0000 (23:45 +0100)
committerBram Moolenaar <Bram@vim.org>
Sat, 11 Feb 2012 22:45:37 +0000 (23:45 +0100)
Problem:    Continue looping inside FOR_ALL_TAB_WINDOWS even when already done.
Solution:   Use goto instead of break. (Hirohito Higashi)

src/fileio.c
src/globals.h
src/version.c

index b30d31102e35f98bf2e454aa21560c62c579c0ff..8ed878d73b75ec6e42abfa7cd45fa486980fc671 100644 (file)
@@ -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);
index 13851923f1ea0c47115df3dd032b81bea3202c45..a9f1c2d9701f21aabaaf47469fa01a8a8f64552e 100644 (file)
@@ -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) \
index 2c7ad8fb6b2060c945a26bb7a74adcfb4a9acd40..59498a4caa34e43ee1e26d25f835f6c8e013757e 100644 (file)
@@ -714,6 +714,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    437,
 /**/
     436,
 /**/