206 lines
5.3 KiB
Plaintext
206 lines
5.3 KiB
Plaintext
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 ///
|