Karsten Hopp bff830
To: vim-dev@vim.org
Karsten Hopp bff830
Subject: Patch 7.0.174
Karsten Hopp bff830
Fcc: outbox
Karsten Hopp bff830
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp bff830
Mime-Version: 1.0
Karsten Hopp bff830
Content-Type: text/plain; charset=ISO-8859-1
Karsten Hopp bff830
Content-Transfer-Encoding: 8bit
Karsten Hopp bff830
------------
Karsten Hopp bff830
Karsten Hopp bff830
Patch 7.0.174
Karsten Hopp bff830
Problem:    ":mksession" doesn't restore window layout correctly in tab pages
Karsten Hopp bff830
	    other than the current one. (Zhibin He)
Karsten Hopp bff830
Solution:   Use the correct topframe for producing the window layout commands.
Karsten Hopp bff830
Files:	    src/ex_docmd.c
Karsten Hopp bff830
Karsten Hopp bff830
Karsten Hopp bff830
*** ../vim-7.0.173/src/ex_docmd.c	Tue Nov 14 20:24:32 2006
Karsten Hopp bff830
--- src/ex_docmd.c	Tue Nov 28 21:32:41 2006
Karsten Hopp bff830
***************
Karsten Hopp bff830
*** 9675,9680 ****
Karsten Hopp bff830
--- 9675,9681 ----
Karsten Hopp bff830
      win_T	*edited_win = NULL;
Karsten Hopp bff830
      int		tabnr;
Karsten Hopp bff830
      win_T	*tab_firstwin;
Karsten Hopp bff830
+     frame_T	*tab_topframe;
Karsten Hopp bff830
  
Karsten Hopp bff830
      if (ssop_flags & SSOP_BUFFERS)
Karsten Hopp bff830
  	only_save_windows = FALSE;		/* Save ALL buffers */
Karsten Hopp bff830
***************
Karsten Hopp bff830
*** 9786,9791 ****
Karsten Hopp bff830
--- 9787,9793 ----
Karsten Hopp bff830
       * autocommands.
Karsten Hopp bff830
       */
Karsten Hopp bff830
      tab_firstwin = firstwin;	/* first window in tab page "tabnr" */
Karsten Hopp bff830
+     tab_topframe = topframe;
Karsten Hopp bff830
      for (tabnr = 1; ; ++tabnr)
Karsten Hopp bff830
      {
Karsten Hopp bff830
  	int  need_tabnew = FALSE;
Karsten Hopp bff830
***************
Karsten Hopp bff830
*** 9797,9805 ****
Karsten Hopp bff830
--- 9799,9813 ----
Karsten Hopp bff830
  	    if (tp == NULL)
Karsten Hopp bff830
  		break;		/* done all tab pages */
Karsten Hopp bff830
  	    if (tp == curtab)
Karsten Hopp bff830
+ 	    {
Karsten Hopp bff830
  		tab_firstwin = firstwin;
Karsten Hopp bff830
+ 		tab_topframe = topframe;
Karsten Hopp bff830
+ 	    }
Karsten Hopp bff830
  	    else
Karsten Hopp bff830
+ 	    {
Karsten Hopp bff830
  		tab_firstwin = tp->tp_firstwin;
Karsten Hopp bff830
+ 		tab_topframe = tp->tp_topframe;
Karsten Hopp bff830
+ 	    }
Karsten Hopp bff830
  	    if (tabnr > 1)
Karsten Hopp bff830
  		need_tabnew = TRUE;
Karsten Hopp bff830
  	}
Karsten Hopp bff830
***************
Karsten Hopp bff830
*** 9838,9844 ****
Karsten Hopp bff830
  	 */
Karsten Hopp bff830
  	if (put_line(fd, "set splitbelow splitright") == FAIL)
Karsten Hopp bff830
  	    return FAIL;
Karsten Hopp bff830
! 	if (ses_win_rec(fd, topframe) == FAIL)
Karsten Hopp bff830
  	    return FAIL;
Karsten Hopp bff830
  	if (!p_sb && put_line(fd, "set nosplitbelow") == FAIL)
Karsten Hopp bff830
  	    return FAIL;
Karsten Hopp bff830
--- 9846,9852 ----
Karsten Hopp bff830
  	 */
Karsten Hopp bff830
  	if (put_line(fd, "set splitbelow splitright") == FAIL)
Karsten Hopp bff830
  	    return FAIL;
Karsten Hopp bff830
! 	if (ses_win_rec(fd, tab_topframe) == FAIL)
Karsten Hopp bff830
  	    return FAIL;
Karsten Hopp bff830
  	if (!p_sb && put_line(fd, "set nosplitbelow") == FAIL)
Karsten Hopp bff830
  	    return FAIL;
Karsten Hopp bff830
*** ../vim-7.0.173/src/version.c	Tue Nov 28 20:54:32 2006
Karsten Hopp bff830
--- src/version.c	Tue Nov 28 21:40:07 2006
Karsten Hopp bff830
***************
Karsten Hopp bff830
*** 668,669 ****
Karsten Hopp bff830
--- 668,671 ----
Karsten Hopp bff830
  {   /* Add new patch number below this line */
Karsten Hopp bff830
+ /**/
Karsten Hopp bff830
+     174,
Karsten Hopp bff830
  /**/
Karsten Hopp bff830
Karsten Hopp bff830
-- 
Karsten Hopp bff830
ARTHUR:    Well, it doesn't matter.  Will you go and tell your master that
Karsten Hopp bff830
           Arthur from the Court of Camelot is here.
Karsten Hopp bff830
GUARD #1:  Listen, in order to maintain air-speed velocity, a swallow
Karsten Hopp bff830
           needs to beat its wings 43 times every second, right?
Karsten Hopp bff830
ARTHUR:    Please!
Karsten Hopp bff830
                                  The Quest for the Holy Grail (Monty Python)
Karsten Hopp bff830
Karsten Hopp bff830
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp bff830
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp bff830
\\\        download, build and distribute -- http://www.A-A-P.org        ///
Karsten Hopp bff830
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///