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