[vim] - patchlevel 084

Karsten Hopp karsten at fedoraproject.org
Mon Jan 3 16:47:03 UTC 2011


commit 60da636f0bd40a9e36699bca9a4a43bd6749f75f
Author: Karsten Hopp <karsten at redhat.com>
Date:   Mon Jan 3 17:46:35 2011 +0100

    - patchlevel 084

 7.3.084 |  123 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 123 insertions(+), 0 deletions(-)
---
diff --git a/7.3.084 b/7.3.084
new file mode 100644
index 0000000..a46892e
--- /dev/null
+++ b/7.3.084
@@ -0,0 +1,123 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.084
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.3.084
+Problem:    When splitting the window, the new one scrolls with the cursor at
+	    the top.
+Solution:   Compute w_fraction before setting the new height.
+Files:	    src/window.c
+
+
+*** ../vim-7.3.083/src/window.c	2010-09-21 16:56:29.000000000 +0200
+--- src/window.c	2010-12-17 17:09:51.000000000 +0100
+***************
+*** 70,76 ****
+  #endif /* FEAT_WINDOWS */
+  
+  static win_T *win_alloc __ARGS((win_T *after, int hidden));
+! static void win_new_height __ARGS((win_T *, int));
+  
+  #define URL_SLASH	1		/* path_is_url() has found "://" */
+  #define URL_BACKSLASH	2		/* path_is_url() has found ":\\" */
+--- 70,77 ----
+  #endif /* FEAT_WINDOWS */
+  
+  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 ":\\" */
+***************
+*** 983,992 ****
+--- 984,999 ----
+      else
+  	frame_append(curfrp, frp);
+  
++     /* Set w_fraction now so that the cursor keeps the same relative
++      * vertical position. */
++     set_fraction(oldwin);
++     wp->w_fraction = oldwin->w_fraction;
++ 
+  #ifdef FEAT_VERTSPLIT
+      if (flags & WSP_VERT)
+      {
+  	wp->w_p_scr = curwin->w_p_scr;
++ 
+  	if (need_status)
+  	{
+  	    win_new_height(oldwin, oldwin->w_height - 1);
+***************
+*** 5453,5458 ****
+--- 5460,5478 ----
+  
+  #endif /* FEAT_WINDOWS */
+  
++ #define FRACTION_MULT	16384L
++ 
++ /*
++  * Set wp->w_fraction for the current w_wrow and w_height.
++  */
++     static void
++ set_fraction(wp)
++     win_T	*wp;
++ {
++     wp->w_fraction = ((long)wp->w_wrow * FRACTION_MULT
++ 				    + FRACTION_MULT / 2) / (long)wp->w_height;
++ }
++ 
+  /*
+   * Set the height of a window.
+   * This takes care of the things inside the window, not what happens to the
+***************
+*** 5465,5471 ****
+  {
+      linenr_T	lnum;
+      int		sline, line_size;
+- #define FRACTION_MULT	16384L
+  
+      /* Don't want a negative height.  Happens when splitting a tiny window.
+       * Will equalize heights soon to fix it. */
+--- 5485,5490 ----
+***************
+*** 5475,5482 ****
+  	return;	    /* nothing to do */
+  
+      if (wp->w_wrow != wp->w_prev_fraction_row && wp->w_height > 0)
+! 	wp->w_fraction = ((long)wp->w_wrow * FRACTION_MULT
+! 				    + FRACTION_MULT / 2) / (long)wp->w_height;
+  
+      wp->w_height = height;
+      wp->w_skipcol = 0;
+--- 5494,5500 ----
+  	return;	    /* nothing to do */
+  
+      if (wp->w_wrow != wp->w_prev_fraction_row && wp->w_height > 0)
+! 	set_fraction(wp);
+  
+      wp->w_height = height;
+      wp->w_skipcol = 0;
+*** ../vim-7.3.083/src/version.c	2010-12-17 16:27:10.000000000 +0100
+--- src/version.c	2010-12-17 17:14:19.000000000 +0100
+***************
+*** 716,717 ****
+--- 716,719 ----
+  {   /* Add new patch number below this line */
++ /**/
++     84,
+  /**/
+
+-- 
+How To Keep A Healthy Level Of Insanity:
+12. Sing along at the opera.
+
+ /// Bram Moolenaar -- Bram at 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    ///


More information about the scm-commits mailing list