patch 9.0.0645: CTRL-Y does not stop at line 1
Problem: CTRL-Y does not stop at line 1. (John Marriott)
Solution: Stop at line 1 when 'smoothscroll' is not set. (closes #11261)
diff --git a/src/move.c b/src/move.c
index dca77f7..43e3273 100644
--- a/src/move.c
+++ b/src/move.c
@@ -1485,11 +1485,14 @@
else
#endif
{
- if (curwin->w_topline == 1 && curwin->w_skipcol < width1)
+ // break when at the very top
+ if (curwin->w_topline == 1
+ && (!curwin->w_p_sms || curwin->w_skipcol < width1))
break;
if (curwin->w_p_wrap && curwin->w_p_sms
- && curwin->w_skipcol >= width1)
+ && curwin->w_skipcol >= width1)
{
+ // scroll a screen line down
if (curwin->w_skipcol >= width1 + width2)
curwin->w_skipcol -= width2;
else
@@ -1499,6 +1502,7 @@
}
else
{
+ // scroll a text line down
--curwin->w_topline;
curwin->w_skipcol = 0;
#ifdef FEAT_DIFF