To: vim_dev@googlegroups.com Subject: Patch 7.3.437 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.3.437 Problem: Continue looping inside FOR_ALL_TAB_WINDOWS even when already done. Solution: Use goto instead of break. (Hirohito Higashi) Files: src/fileio.c, src/globals.h *** ../vim-7.3.436/src/fileio.c 2011-09-02 11:56:15.000000000 +0200 --- src/fileio.c 2012-02-11 23:40:23.000000000 +0100 *************** *** 8898,8907 **** if (tp != curtab) goto_tabpage_tp(tp); win_goto(aucmd_win); ! break; } } } /* Remove the window and frame from the tree of frames. */ (void)winframe_remove(curwin, &dummy, NULL); --- 8898,8908 ---- if (tp != curtab) goto_tabpage_tp(tp); win_goto(aucmd_win); ! goto win_found; } } } + win_found: /* Remove the window and frame from the tree of frames. */ (void)winframe_remove(curwin, &dummy, NULL); *** ../vim-7.3.436/src/globals.h 2012-02-04 23:34:57.000000000 +0100 --- src/globals.h 2012-02-11 23:43:45.000000000 +0100 *************** *** 535,540 **** --- 535,544 ---- 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) \ *** ../vim-7.3.436/src/version.c 2012-02-11 20:44:01.000000000 +0100 --- src/version.c 2012-02-11 23:40:47.000000000 +0100 *************** *** 716,717 **** --- 716,719 ---- { /* Add new patch number below this line */ + /**/ + 437, /**/ -- The future isn't what it used to be. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///