Mercurial > vim
diff src/testdir/test_scroll_opt.vim @ 30799:ffa5492137c3 v9.0.0734
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Commit: https://github.com/vim/vim/commit/2fbabd238a94022c99506e920186a5b6cdf15426
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Oct 12 19:53:38 2022 +0100
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Problem: Cursor position invalid when scrolling with 'smoothscroll' set.
(Ernie Rael)
Solution: Add w_valid_skipcol and clear flags when it changes. Adjust
w_skipcol after moving the cursor.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 12 Oct 2022 21:00:05 +0200 |
parents | fdc44acc3250 |
children | fa3aba805a34 |
line wrap: on
line diff
--- a/src/testdir/test_scroll_opt.vim +++ b/src/testdir/test_scroll_opt.vim @@ -248,5 +248,26 @@ func Test_smoothscroll_wrap_long_line() call StopVimInTerminal(buf) endfunc +func Test_smoothscroll_one_long_line() + CheckScreendump + + let lines =<< trim END + vim9script + setline(1, 'with lots of text '->repeat(7)) + set smoothscroll scrolloff=0 + END + call writefile(lines, 'XSmoothOneLong', 'D') + let buf = RunVimInTerminal('-S XSmoothOneLong', #{rows: 6, cols: 40}) + call VerifyScreenDump(buf, 'Test_smooth_one_long_1', {}) + + call term_sendkeys(buf, "\<C-E>") + call VerifyScreenDump(buf, 'Test_smooth_one_long_2', {}) + + call term_sendkeys(buf, "0") + call VerifyScreenDump(buf, 'Test_smooth_one_long_1', {}) + + call StopVimInTerminal(buf) +endfunc + " vim: shiftwidth=2 sts=2 expandtab