Patch 9.0.0645

5 views
Skip to first unread message

Bram Moolenaar

unread,
Oct 3, 2022, 7:14:48 AM10/3/22
to vim...@googlegroups.com

Patch 9.0.0645
Problem: CTRL-Y does not stop at line 1. (John Marriott)
Solution: Stop at line 1 when 'smoothscroll' is not set. (closes #11261)
Files: src/move.c, src/testdir/test_scroll_opt.vim


*** ../vim-9.0.0644/src/move.c 2022-10-02 21:29:18.416089542 +0100
--- src/move.c 2022-10-03 12:10:37.470483660 +0100
***************
*** 1485,1495 ****
else
#endif
{
! if (curwin->w_topline == 1 && curwin->w_skipcol < width1)
break;
if (curwin->w_p_wrap && curwin->w_p_sms
! && curwin->w_skipcol >= width1)
{
if (curwin->w_skipcol >= width1 + width2)
curwin->w_skipcol -= width2;
else
--- 1485,1498 ----
else
#endif
{
! // 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)
{
+ // scroll a screen line down
if (curwin->w_skipcol >= width1 + width2)
curwin->w_skipcol -= width2;
else
***************
*** 1499,1504 ****
--- 1502,1508 ----
}
else
{
+ // scroll a text line down
--curwin->w_topline;
curwin->w_skipcol = 0;
#ifdef FEAT_DIFF
*** ../vim-9.0.0644/src/testdir/test_scroll_opt.vim 2022-10-02 21:29:18.416089542 +0100
--- src/testdir/test_scroll_opt.vim 2022-10-03 12:09:32.970706910 +0100
***************
*** 37,42 ****
--- 37,55 ----
quit!
endfunc

+ func Test_CtrlE_CtrlY_stop_at_end()
+ enew
+ call setline(1, ['one', 'two'])
+ set number
+ exe "normal \<C-Y>"
+ call assert_equal([" 1 one "], ScreenLines(1, 10))
+ exe "normal \<C-E>\<C-E>\<C-E>"
+ call assert_equal([" 2 two "], ScreenLines(1, 10))
+
+ bwipe!
+ set nonumber
+ endfunc
+
func Test_smoothscroll_CtrlE_CtrlY()
CheckScreendump

*** ../vim-9.0.0644/src/version.c 2022-10-03 11:22:59.217008645 +0100
--- src/version.c 2022-10-03 12:05:07.347799919 +0100
***************
*** 701,702 ****
--- 701,704 ----
{ /* Add new patch number below this line */
+ /**/
+ 645,
/**/

--
Did you hear about the new 3 million dollar West Virginia State Lottery?
The winner gets 3 dollars a year for a million years.

/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
Reply all
Reply to author
Forward
0 new messages