To: vim_dev@googlegroups.com
Subject: Patch 7.3.608
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
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    ///
