To: vim-dev@vim.org Subject: Patch 7.0.174 Fcc: outbox From: Bram Moolenaar 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 ///