patch 8.1.1327: unnecessary scroll after horizontal split
Problem: Unnecessary scroll after horizontal split.
Solution: Don't adjust to fraction if all the text fits in the window.
(Martin Kunev, closes #4367)
diff --git a/src/window.c b/src/window.c
index f8df1cc..f031989 100644
--- a/src/window.c
+++ b/src/window.c
@@ -5827,9 +5827,13 @@
int sline, line_size;
int height = wp->w_height;
- // Don't change w_topline when height is zero. Don't set w_topline when
- // 'scrollbind' is set and this isn't the current window.
- if (height > 0 && (!wp->w_p_scb || wp == curwin))
+ // Don't change w_topline in any of these cases:
+ // - window height is 0
+ // - 'scrollbind' is set and this isn't the current window
+ // - window height is sufficient to display the whole buffer
+ if (height > 0
+ && (!wp->w_p_scb || wp == curwin)
+ && (height < wp->w_buffer->b_ml.ml_line_count))
{
/*
* Find a value for w_topline that shows the cursor at the same