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;
 {