To: vim_dev@googlegroups.com Subject: Patch 7.3.608 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.3.608 Problem: winrestview() does not always restore the view correctly. Solution: Call win_new_height() and win_new_width(). (Lech Lorens) Files: src/eval.c, src/proto/window.pro, src/window.c *** ../vim-7.3.607/src/eval.c 2012-07-16 19:27:25.000000000 +0200 --- src/eval.c 2012-07-19 17:50:16.000000000 +0200 *************** *** 18601,18606 **** --- 18601,18610 ---- curwin->w_skipcol = get_dict_number(dict, (char_u *)"skipcol"); check_cursor(); + win_new_height(curwin, curwin->w_height); + # ifdef FEAT_VERTSPLIT + win_new_width(curwin, W_WIDTH(curwin)); + # endif changed_window_setting(); if (curwin->w_topline == 0) *** ../vim-7.3.607/src/proto/window.pro 2012-06-13 14:28:16.000000000 +0200 --- src/proto/window.pro 2012-07-19 18:05:10.000000000 +0200 *************** *** 51,56 **** --- 51,58 ---- void win_setminheight __ARGS((void)); void win_drag_status_line __ARGS((win_T *dragwin, int offset)); void win_drag_vsep_line __ARGS((win_T *dragwin, int offset)); + void win_new_height __ARGS((win_T *wp, int height)); + void win_new_width __ARGS((win_T *wp, int width)); void win_comp_scroll __ARGS((win_T *wp)); void command_height __ARGS((void)); void last_status __ARGS((int morewin)); *** ../vim-7.3.607/src/window.c 2012-07-16 17:31:48.000000000 +0200 --- src/window.c 2012-07-19 18:05:18.000000000 +0200 *************** *** 54,60 **** static void frame_insert __ARGS((frame_T *before, frame_T *frp)); static void frame_remove __ARGS((frame_T *frp)); #ifdef FEAT_VERTSPLIT - static void win_new_width __ARGS((win_T *wp, int width)); static void win_goto_ver __ARGS((int up, long count)); static void win_goto_hor __ARGS((int left, long count)); #endif --- 54,59 ---- *************** *** 71,77 **** static win_T *win_alloc __ARGS((win_T *after, int hidden)); static void set_fraction __ARGS((win_T *wp)); - static void win_new_height __ARGS((win_T *wp, int height)); #define URL_SLASH 1 /* path_is_url() has found "://" */ #define URL_BACKSLASH 2 /* path_is_url() has found ":\\" */ --- 70,75 ---- *************** *** 5557,5563 **** * This takes care of the things inside the window, not what happens to the * window position, the frame or to other windows. */ ! static void win_new_height(wp, height) win_T *wp; int height; --- 5555,5561 ---- * This takes care of the things inside the window, not what happens to the * window position, the frame or to other windows. */ ! void win_new_height(wp, height) win_T *wp; int height; *************** *** 5697,5703 **** /* * Set the width of a window. */ ! static void win_new_width(wp, width) win_T *wp; int width; --- 5695,5701 ---- /* * Set the width of a window. */ ! void win_new_width(wp, width) win_T *wp; int width; *** ../vim-7.3.607/src/version.c 2012-07-19 17:39:01.000000000 +0200 --- src/version.c 2012-07-19 17:53:37.000000000 +0200 *************** *** 716,717 **** --- 716,719 ---- { /* Add new patch number below this line */ + /**/ + 608, /**/ -- Although the scythe isn't pre-eminent among the weapons of war, anyone who has been on the wrong end of, say, a peasants' revolt will know that in skilled hands it is fearsome. -- (Terry Pratchett, Mort) /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///