To: vim_dev@googlegroups.com Subject: Patch 9.0.0645 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ 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 \" + call assert_equal([" 1 one "], ScreenLines(1, 10)) + exe "normal \\\" + 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 -- Bram@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 ///