From 968cd1ed933c039b8d60b0110bc6b539c71e387d Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Thu, 16 Feb 2023 07:25:16 +0800 Subject: vim-patch:9.0.1309: scrolling two lines with even line count and 'scrolloff' set Problem: Scrolling two lines with even line count and 'scrolloff' set. Solution: Adjust how the topline is computed. (closes vim/vim#10545) https://github.com/vim/vim/commit/1d6539cf36a7b6d1afe76fb6316fe662f543bf60 Cherry-pick test_scroll_opt.vim changes from patch 8.2.1432. Co-authored-by: Bram Moolenaar --- src/nvim/testdir/test_scroll_opt.vim | 20 +++++++++++++++++++- src/nvim/testdir/test_scrollbind.vim | 4 ++-- 2 files changed, 21 insertions(+), 3 deletions(-) (limited to 'src/nvim/testdir') diff --git a/src/nvim/testdir/test_scroll_opt.vim b/src/nvim/testdir/test_scroll_opt.vim index 77920eb8b0..64f4ced470 100644 --- a/src/nvim/testdir/test_scroll_opt.vim +++ b/src/nvim/testdir/test_scroll_opt.vim @@ -1,5 +1,4 @@ " Test for reset 'scroll' -" func Test_reset_scroll() let scr = &l:scroll @@ -34,3 +33,22 @@ func Test_reset_scroll() quit! endfunc + +func Test_scolloff_even_line_count() + new + resize 6 + setlocal scrolloff=3 + call setline(1, range(20)) + normal 2j + call assert_equal(1, getwininfo(win_getid())[0].topline) + normal j + call assert_equal(1, getwininfo(win_getid())[0].topline) + normal j + call assert_equal(2, getwininfo(win_getid())[0].topline) + normal j + call assert_equal(3, getwininfo(win_getid())[0].topline) + + bwipe! +endfunc + +" vim: shiftwidth=2 sts=2 expandtab diff --git a/src/nvim/testdir/test_scrollbind.vim b/src/nvim/testdir/test_scrollbind.vim index 6c5488be05..f67a559c60 100644 --- a/src/nvim/testdir/test_scrollbind.vim +++ b/src/nvim/testdir/test_scrollbind.vim @@ -217,8 +217,8 @@ end of window 2 \ '7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02', \ '56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02', \ 'UTSRQPONMLKJIHGREDCBA9876543210 02', - \ '. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11', - \ '. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11', + \ '. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10', + \ '. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10', \ ''], getline(1, '$')) enew! -- cgit From a2dd7fa97bab06be2b357e34af0ed0a194774d70 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Thu, 16 Feb 2023 07:41:09 +0800 Subject: vim-patch:9.0.1310: 'splitkeep' test has failures Problem: 'splitkeep' test has failures. Solution: Adjust expected cursor line position. https://github.com/vim/vim/commit/fdbd14e89207dca95549f298ee468793da852086 Co-authored-by: Bram Moolenaar --- src/nvim/testdir/test_window_cmd.vim | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/nvim/testdir') diff --git a/src/nvim/testdir/test_window_cmd.vim b/src/nvim/testdir/test_window_cmd.vim index c25b1f1157..4a8a1b11f1 100644 --- a/src/nvim/testdir/test_window_cmd.vim +++ b/src/nvim/testdir/test_window_cmd.vim @@ -1651,9 +1651,16 @@ func Test_splitkeep_options() call assert_equal(1, line("w0")) call assert_equal(curpos, getcurpos()) - " Scroll when cursor becomes invalid in insert mode + " Scroll when cursor becomes invalid in insert mode. norm Lic - call assert_equal(curpos, getcurpos()) + call assert_equal(curpos[0], getcurpos()[0], 'run ' .. run) + + " The line number might be one less because of round-off. + call assert_inrange(curpos[1] - 1, curpos[1], getcurpos()[1], 'run ' .. run) + + call assert_equal(curpos[2], getcurpos()[2], 'run ' .. run) + call assert_equal(curpos[3], getcurpos()[3], 'run ' .. run) + call assert_equal(curpos[4], getcurpos()[4], 'run ' .. run) " No scroll when topline not equal to 1 only | execute "norm gg5\" | split | wincmd k -- cgit From 0bb3a373d32e150af3909e3873be91f34df211dc Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Thu, 16 Feb 2023 07:41:39 +0800 Subject: vim-patch:9.0.1312: Cursor position wrong when splitting window in insert mode Problem: Cursor position wrong when splitting window in insert mode. Solution: Pass the actual mode to win_fix_cursor(). (Luuk van Baal, closes vim/vim#11999, https://github.com/vim/vim/commit/bc3dc298b37820a8212e7d839e882e07d6cc98c8 Co-authored-by: Luuk van Baal --- src/nvim/testdir/test_window_cmd.vim | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) (limited to 'src/nvim/testdir') diff --git a/src/nvim/testdir/test_window_cmd.vim b/src/nvim/testdir/test_window_cmd.vim index 4a8a1b11f1..8b9457ae1d 100644 --- a/src/nvim/testdir/test_window_cmd.vim +++ b/src/nvim/testdir/test_window_cmd.vim @@ -1653,14 +1653,7 @@ func Test_splitkeep_options() " Scroll when cursor becomes invalid in insert mode. norm Lic - call assert_equal(curpos[0], getcurpos()[0], 'run ' .. run) - - " The line number might be one less because of round-off. - call assert_inrange(curpos[1] - 1, curpos[1], getcurpos()[1], 'run ' .. run) - - call assert_equal(curpos[2], getcurpos()[2], 'run ' .. run) - call assert_equal(curpos[3], getcurpos()[3], 'run ' .. run) - call assert_equal(curpos[4], getcurpos()[4], 'run ' .. run) + call assert_equal(curpos, getcurpos(), 'run ' .. run) " No scroll when topline not equal to 1 only | execute "norm gg5\" | split | wincmd k -- cgit