diff options
| author | Luuk van Baal <luukvbaal@gmail.com> | 2024-04-03 23:06:23 +0200 |
|---|---|---|
| committer | Luuk van Baal <luukvbaal@gmail.com> | 2024-04-08 23:15:43 +0200 |
| commit | e21423bb35077fe4bbb6a8fab1000e8bfc6b6b7b (patch) | |
| tree | 772262a17c90d4b9a7ecfae87f0b5d8fa5ad4a90 /test/old/testdir/test_scroll_opt.vim | |
| parent | e6cfa22c4cd5b3b422aa4f8350c8e73a3eb2a090 (diff) | |
| download | rneovim-e21423bb35077fe4bbb6a8fab1000e8bfc6b6b7b.tar.gz rneovim-e21423bb35077fe4bbb6a8fab1000e8bfc6b6b7b.tar.bz2 rneovim-e21423bb35077fe4bbb6a8fab1000e8bfc6b6b7b.zip | |
vim-patch:9.1.0260: Problems with "zb" and scrolling to new topline with 'smoothscroll'
Problem: "zb" does not reveal filler lines at the start of a buffer.
Scrolled cursor position with 'smoothscroll' is unpredictable,
and may reset skipcol later if it is not visible (after v9.1.258)
Solution: Replace confusing for loop that reaches final control value too
early with while loop. Set "w_curswant" accordingly so cursor
will be placed in visible part of topline.
(Luuk van Baal)
https://github.com/vim/vim/commit/bd28cae1f1c21c0e3743e3427c98bbd848fad237
Diffstat (limited to 'test/old/testdir/test_scroll_opt.vim')
| -rw-r--r-- | test/old/testdir/test_scroll_opt.vim | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/test/old/testdir/test_scroll_opt.vim b/test/old/testdir/test_scroll_opt.vim index 4e551cdaad..d381456032 100644 --- a/test/old/testdir/test_scroll_opt.vim +++ b/test/old/testdir/test_scroll_opt.vim @@ -1021,6 +1021,8 @@ func Test_smoothscroll_page() call assert_equal(0, winsaveview().skipcol) " Half-page scrolling does not go beyond end of buffer and moves the cursor. + " Even with 'nostartofline', the correct amount of lines is scrolled. + setl nostartofline exe "norm! 0\<C-D>" call assert_equal(200, winsaveview().skipcol) call assert_equal(204, col('.')) @@ -1044,7 +1046,7 @@ func Test_smoothscroll_page() call assert_equal(204, col('.')) exe "norm! \<C-U>" call assert_equal(0, winsaveview().skipcol) - call assert_equal(1, col('.')) + call assert_equal(40, col('.')) bwipe! endfunc @@ -1062,6 +1064,11 @@ func Test_smoothscroll_next_topline() redraw call assert_equal(0, winsaveview().skipcol) + " Also when scrolling back. + exe "norm! G\<C-Y>" + redraw + call assert_equal(880, winsaveview().skipcol) + " Cursor in correct place when not in the first screenline of a buffer line. exe "norm! gg4gj20\<C-D>\<C-D>" redraw |