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