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 -- [EMAIL PROTECTED] -- 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    ///

Reply via email to