patch 7.4.961
Problem: Test107 fails in some circunstances.
Solution: When using "zt", "zb" and "z=" recompute the fraction.
diff --git a/src/normal.c b/src/normal.c
index b9170ac..89c67d9 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -4880,6 +4880,7 @@
case 't': scroll_cursor_top(0, TRUE);
redraw_later(VALID);
+ set_fraction(curwin);
break;
/* "z." and "zz": put cursor in middle of screen */
@@ -4888,6 +4889,7 @@
case 'z': scroll_cursor_halfway(TRUE);
redraw_later(VALID);
+ set_fraction(curwin);
break;
/* "z^", "z-" and "zb": put cursor at bottom of screen */
@@ -4910,6 +4912,7 @@
case 'b': scroll_cursor_bot(0, TRUE);
redraw_later(VALID);
+ set_fraction(curwin);
break;
/* "zH" - scroll screen right half-page */
diff --git a/src/proto/window.pro b/src/proto/window.pro
index 0d719f0..ffead2c 100644
--- a/src/proto/window.pro
+++ b/src/proto/window.pro
@@ -53,6 +53,7 @@
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 set_fraction __ARGS((win_T *wp));
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));
diff --git a/src/version.c b/src/version.c
index 052bbc9..514f8be 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 961,
+/**/
960,
/**/
959,
diff --git a/src/window.c b/src/window.c
index 010d7ae..613cc5f 100644
--- a/src/window.c
+++ b/src/window.c
@@ -75,7 +75,6 @@
#endif /* FEAT_WINDOWS */
static win_T *win_alloc __ARGS((win_T *after, int hidden));
-static void set_fraction __ARGS((win_T *wp));
#define URL_SLASH 1 /* path_is_url() has found "://" */
#define URL_BACKSLASH 2 /* path_is_url() has found ":\\" */
@@ -5828,7 +5827,7 @@
/*
* Set wp->w_fraction for the current w_wrow and w_height.
*/
- static void
+ void
set_fraction(wp)
win_T *wp;
{