diff options
Diffstat (limited to 'source/ap/vim/patches/7.2.161')
-rw-r--r-- | source/ap/vim/patches/7.2.161 | 205 |
1 files changed, 205 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.2.161 b/source/ap/vim/patches/7.2.161 new file mode 100644 index 00000000..576a03da --- /dev/null +++ b/source/ap/vim/patches/7.2.161 @@ -0,0 +1,205 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.161 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.161 +Problem: Folds messed up in other tab page. (Vlad Irnov) +Solution: Instead of going over all windows in current tab page go over all + windows in all tab pages. Also free memory for location lists in + other tab pages when exiting. (Lech Lorens) +Files: src/fileio.c, src/mark.c, src/misc1.c, src/misc2.c + + +*** ../vim-7.2.160/src/fileio.c Wed Mar 18 15:40:03 2009 +--- src/fileio.c Wed Apr 22 15:46:35 2009 +*************** +*** 6846,6855 **** + #endif + #ifdef FEAT_FOLDING + { +! win_T *wp; + + /* Update folds unless they are defined manually. */ +! FOR_ALL_WINDOWS(wp) + if (wp->w_buffer == curwin->w_buffer + && !foldmethodIsManual(wp)) + foldUpdateAll(wp); +--- 6846,6856 ---- + #endif + #ifdef FEAT_FOLDING + { +! win_T *wp; +! tabpage_T *tp; + + /* Update folds unless they are defined manually. */ +! FOR_ALL_TAB_WINDOWS(tp, wp) + if (wp->w_buffer == curwin->w_buffer + && !foldmethodIsManual(wp)) + foldUpdateAll(wp); +*** ../vim-7.2.160/src/mark.c Sun Nov 9 13:43:25 2008 +--- src/mark.c Wed Apr 22 17:32:29 2009 +*************** +*** 1023,1028 **** +--- 1023,1031 ---- + int fnum = curbuf->b_fnum; + linenr_T *lp; + win_T *win; ++ #ifdef FEAT_WINDOWS ++ tabpage_T *tab; ++ #endif + + if (line2 < line1 && amount_after == 0L) /* nothing to do */ + return; +*************** +*** 1064,1070 **** + /* quickfix marks */ + qf_mark_adjust(NULL, line1, line2, amount, amount_after); + /* location lists */ +! FOR_ALL_WINDOWS(win) + qf_mark_adjust(win, line1, line2, amount, amount_after); + #endif + +--- 1067,1073 ---- + /* quickfix marks */ + qf_mark_adjust(NULL, line1, line2, amount, amount_after); + /* location lists */ +! FOR_ALL_TAB_WINDOWS(tab, win) + qf_mark_adjust(win, line1, line2, amount, amount_after); + #endif + +*************** +*** 1086,1092 **** + /* + * Adjust items in all windows related to the current buffer. + */ +! FOR_ALL_WINDOWS(win) + { + #ifdef FEAT_JUMPLIST + if (!cmdmod.lockmarks) +--- 1089,1095 ---- + /* + * Adjust items in all windows related to the current buffer. + */ +! FOR_ALL_TAB_WINDOWS(tab, win) + { + #ifdef FEAT_JUMPLIST + if (!cmdmod.lockmarks) +*** ../vim-7.2.160/src/misc1.c Wed Mar 18 15:40:03 2009 +--- src/misc1.c Wed Apr 22 17:32:46 2009 +*************** +*** 2717,2722 **** +--- 2717,2725 ---- + long xtra; + { + win_T *wp; ++ #ifdef FEAT_WINDOWS ++ tabpage_T *tp; ++ #endif + int i; + #ifdef FEAT_JUMPLIST + int cols; +*************** +*** 2769,2775 **** + curbuf->b_changelistlen = JUMPLISTSIZE - 1; + mch_memmove(curbuf->b_changelist, curbuf->b_changelist + 1, + sizeof(pos_T) * (JUMPLISTSIZE - 1)); +! FOR_ALL_WINDOWS(wp) + { + /* Correct position in changelist for other windows on + * this buffer. */ +--- 2772,2778 ---- + curbuf->b_changelistlen = JUMPLISTSIZE - 1; + mch_memmove(curbuf->b_changelist, curbuf->b_changelist + 1, + sizeof(pos_T) * (JUMPLISTSIZE - 1)); +! FOR_ALL_TAB_WINDOWS(tp, wp) + { + /* Correct position in changelist for other windows on + * this buffer. */ +*************** +*** 2777,2783 **** + --wp->w_changelistidx; + } + } +! FOR_ALL_WINDOWS(wp) + { + /* For other windows, if the position in the changelist is + * at the end it stays at the end. */ +--- 2780,2786 ---- + --wp->w_changelistidx; + } + } +! FOR_ALL_TAB_WINDOWS(tp, wp) + { + /* For other windows, if the position in the changelist is + * at the end it stays at the end. */ +*************** +*** 2796,2802 **** + #endif + } + +! FOR_ALL_WINDOWS(wp) + { + if (wp->w_buffer == curbuf) + { +--- 2799,2805 ---- + #endif + } + +! FOR_ALL_TAB_WINDOWS(tp, wp) + { + if (wp->w_buffer == curbuf) + { +*** ../vim-7.2.160/src/misc2.c Wed Mar 11 17:27:46 2009 +--- src/misc2.c Wed Apr 22 15:46:35 2009 +*************** +*** 1075,1085 **** + + #ifdef FEAT_QUICKFIX + { +! win_T *win; + + qf_free_all(NULL); + /* Free all location lists */ +! FOR_ALL_WINDOWS(win) + qf_free_all(win); + } + #endif +--- 1075,1086 ---- + + #ifdef FEAT_QUICKFIX + { +! win_T *win; +! tabpage_T *tab; + + qf_free_all(NULL); + /* Free all location lists */ +! FOR_ALL_TAB_WINDOWS(tab, win) + qf_free_all(win); + } + #endif +*** ../vim-7.2.160/src/version.c Wed Apr 22 18:43:06 2009 +--- src/version.c Wed Apr 29 10:59:01 2009 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 161, + /**/ + +-- +CONCORDE: Quickly, sir, come this way! +LAUNCELOT: No! It's not right for my idiom. I must escape more ... more ... +CONCORDE: Dramatically, sir? +LAUNCELOT: Dramatically. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |