updated for version 7.4.309
Problem:    When increasing the size of the lower window, the upper window
            jumps back to the top. (Ron Aaron)
Solution:   Change setting the topline. (Nobuhiro Takasaki)
diff --git a/src/window.c b/src/window.c
index cea7c40..856e7c4 100644
--- a/src/window.c
+++ b/src/window.c
@@ -5710,8 +5710,9 @@
 		    --wp->w_wrow;
 		}
 	    }
+            set_topline(wp, lnum);
 	}
-	else
+	else if (sline > 0)
 	{
 	    while (sline > 0 && lnum > 1)
 	    {
@@ -5748,14 +5749,15 @@
 		lnum++;
 		wp->w_wrow -= line_size + sline;
 	    }
-	    else if (sline >= 0)
+	    else if (sline > 0)
 	    {
 		/* First line of file reached, use that as topline. */
 		lnum = 1;
 		wp->w_wrow -= sline;
 	    }
+
+            set_topline(wp, lnum);
 	}
-	set_topline(wp, lnum);
     }
 
     if (wp == curwin)