patch 9.0.0115: when 'cmdheight' is zero pressing ':' may scroll a window

Problem:    When 'cmdheight' is zero pressing ':' may scroll a window.
Solution:   Add the made_cmdheight_nonzero flag and set 'scrolloff' to zero.
diff --git a/src/ex_getln.c b/src/ex_getln.c
index 58c83a8..6c2a3a4 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -1615,10 +1615,17 @@
 
     if (cmdheight0)
     {
-	// If cmdheight is 0, cmdheight must be set to 1 when we enter command
-	// line.
+	int  save_so = lastwin->w_p_so;
+
+	// If cmdheight is 0, cmdheight must be set to 1 when we enter the
+	// command line.  Set "made_cmdheight_nonzero" and reset 'scrolloff' to
+	// avoid scrolling the last window.
+	made_cmdheight_nonzero = TRUE;
+	lastwin->w_p_so = 0;
 	set_option_value((char_u *)"ch", 1L, NULL, 0);
 	update_screen(VALID);                 // redraw the screen NOW
+	made_cmdheight_nonzero = FALSE;
+	lastwin->w_p_so = save_so;
     }
 
     // one recursion level deeper
@@ -2606,9 +2613,11 @@
 
 	if (cmdheight0)
 	{
+	    made_cmdheight_nonzero = TRUE;
 	    set_option_value((char_u *)"ch", 0L, NULL, 0);
 	    // Redraw is needed for command line completion
 	    redraw_all_later(CLEAR);
+	    made_cmdheight_nonzero = FALSE;
 	}
 
 	--depth;