Blob Blame History Raw
To: vim-dev@vim.org
Subject: Patch 7.0.174
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.0.174
Problem:    ":mksession" doesn't restore window layout correctly in tab pages
	    other than the current one. (Zhibin He)
Solution:   Use the correct topframe for producing the window layout commands.
Files:	    src/ex_docmd.c


*** ../vim-7.0.173/src/ex_docmd.c	Tue Nov 14 20:24:32 2006
--- src/ex_docmd.c	Tue Nov 28 21:32:41 2006
***************
*** 9675,9680 ****
--- 9675,9681 ----
      win_T	*edited_win = NULL;
      int		tabnr;
      win_T	*tab_firstwin;
+     frame_T	*tab_topframe;
  
      if (ssop_flags & SSOP_BUFFERS)
  	only_save_windows = FALSE;		/* Save ALL buffers */
***************
*** 9786,9791 ****
--- 9787,9793 ----
       * autocommands.
       */
      tab_firstwin = firstwin;	/* first window in tab page "tabnr" */
+     tab_topframe = topframe;
      for (tabnr = 1; ; ++tabnr)
      {
  	int  need_tabnew = FALSE;
***************
*** 9797,9805 ****
--- 9799,9813 ----
  	    if (tp == NULL)
  		break;		/* done all tab pages */
  	    if (tp == curtab)
+ 	    {
  		tab_firstwin = firstwin;
+ 		tab_topframe = topframe;
+ 	    }
  	    else
+ 	    {
  		tab_firstwin = tp->tp_firstwin;
+ 		tab_topframe = tp->tp_topframe;
+ 	    }
  	    if (tabnr > 1)
  		need_tabnew = TRUE;
  	}
***************
*** 9838,9844 ****
  	 */
  	if (put_line(fd, "set splitbelow splitright") == FAIL)
  	    return FAIL;
! 	if (ses_win_rec(fd, topframe) == FAIL)
  	    return FAIL;
  	if (!p_sb && put_line(fd, "set nosplitbelow") == FAIL)
  	    return FAIL;
--- 9846,9852 ----
  	 */
  	if (put_line(fd, "set splitbelow splitright") == FAIL)
  	    return FAIL;
! 	if (ses_win_rec(fd, tab_topframe) == FAIL)
  	    return FAIL;
  	if (!p_sb && put_line(fd, "set nosplitbelow") == FAIL)
  	    return FAIL;
*** ../vim-7.0.173/src/version.c	Tue Nov 28 20:54:32 2006
--- src/version.c	Tue Nov 28 21:40:07 2006
***************
*** 668,669 ****
--- 668,671 ----
  {   /* Add new patch number below this line */
+ /**/
+     174,
  /**/

-- 
ARTHUR:    Well, it doesn't matter.  Will you go and tell your master that
           Arthur from the Court of Camelot is here.
GUARD #1:  Listen, in order to maintain air-speed velocity, a swallow
           needs to beat its wings 43 times every second, right?
ARTHUR:    Please!
                                  The Quest for the Holy Grail (Monty Python)

 /// 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    ///