patch 9.0.1000: with 'smoothscroll' skipcol may be reset unnecessarily
Problem: With 'smoothscroll' skipcol may be reset unnecessarily.
Solution: Check the line does actually fit in the window.
diff --git a/src/move.c b/src/move.c
index d976697..7a9ae3e 100644
--- a/src/move.c
+++ b/src/move.c
@@ -1909,7 +1909,11 @@
int scrolled = FALSE;
validate_cheight();
- if (curwin->w_cline_height == curwin->w_height)
+ if (curwin->w_cline_height == curwin->w_height
+ // w_cline_height may be capped at w_height, check there aren't
+ // actually more lines.
+ && plines_win(curwin, curwin->w_cursor.lnum, FALSE)
+ <= curwin->w_height)
{
// the line just fits in the window, don't scroll
reset_skipcol();