From 3621604029119a8806da006eb0468cf65e23b980 Mon Sep 17 00:00:00 2001 From: Luuk van Baal Date: Thu, 27 Apr 2023 18:35:25 +0200 Subject: vim-patch:9.0.0900: cursor moves too far with 'smoothscroll' Problem: Cursor moves too far with 'smoothscroll'. Solution: Only move as far as really needed. (Yee Cheng Chin, closes vim/vim#11504) https://github.com/vim/vim/commit/81ba26e9de24ca6b1c05b6ec03e53b21793f1a4b Co-authored-by: Yee Cheng Chin --- test/functional/legacy/scroll_opt_spec.lua | 32 ++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 11 deletions(-) (limited to 'test/functional/legacy/scroll_opt_spec.lua') diff --git a/test/functional/legacy/scroll_opt_spec.lua b/test/functional/legacy/scroll_opt_spec.lua index 2f88221032..a05470418f 100644 --- a/test/functional/legacy/scroll_opt_spec.lua +++ b/test/functional/legacy/scroll_opt_spec.lua @@ -279,8 +279,8 @@ describe('smoothscroll', function() ]]) exec('call DoRel()') screen:expect([[ - 2<<>> marker - no need to show whole line + feed('2gj3l2k') + screen:expect([[ + <<<^h some text with some text | + Line with some text with some text with | + some text with some text with some text | + with some text with some text | + Line with some text with some text with | + some text with some text with some text | + with some text with some text | + | + ]]) + -- moving cursor up where the >>> marker is - whole top line shows + feed('2j02k') screen:expect([[ ^Line with some text with some text with | some text with some text with some text | @@ -524,11 +536,9 @@ describe('smoothscroll', function() -- oldtest: Test_smoothscroll_long_line_showbreak() it("cursor is not one screen line too far down", function() screen:try_resize(40, 6) - exec([[ - " a line that spans four screen lines - call setline(1, 'with lots of text in one line '->repeat(6)) - set smoothscroll scrolloff=0 showbreak=+++\ - ]]) + -- a line that spans four screen lines + exec("call setline(1, 'with lots of text in one line '->repeat(6))") + exec('set smoothscroll scrolloff=0 showbreak=+++\\ ') local s1 = [[ ^with lots of text in one line with lots | +++ of text in one line with lots of tex| @@ -540,8 +550,8 @@ describe('smoothscroll', function() screen:expect(s1) feed('') screen:expect([[ - +++ of text in one line with lots of tex| - +++ ^t in one line with lots of text in o| + +++ ^of text in one line with lots of tex| + +++ t in one line with lots of text in o| +++ ne line with lots of text in one lin| +++ e with lots of text in one line | ~ | -- cgit