vim-patch:9.1.0708: Recursive window update does not account for reset skipcol (#30217)

Problem:  Window is updated with potentially invalid skipcol in recursive
          window update path. I.e. cursor outside of visible range in
          large line that does not fit.
Solution: Make sure it is valid (Luuk van Baal).

3d5065fc75
This commit is contained in:
luukvbaal
2024-09-01 14:19:19 +02:00
committed by github-actions[bot]
parent 79030bf196
commit 6a6c6b2658
3 changed files with 10 additions and 12 deletions

View File

@@ -1306,16 +1306,15 @@ describe('smoothscroll', function()
set smoothscroll scrolloff=3
call setline(1, ['one', 'two long '->repeat(100), 'three', 'four', 'five', 'six'])
]])
--FIXME: incorrect screen due to reset_skipcol()/curs_columns() shenanigans
feed(':norm j721|<CR>')
screen:expect([[
two long two long two long two long two |
{1:<<<}two long two long two long two long t|
wo long two long two long two long two l|
ong two long two long two long two long |
^two long two long two long two long two |
long two long two long two long two long|
two long two long two long two long two|
^ long two long two long two long two lon|
g two long two long two long two long tw|
o long two long two long two long two lo|
ng two long two long two long two long t|
long two long two long two long two lon|
:norm j721| |
]])
feed('gj')
@@ -1374,15 +1373,14 @@ describe('smoothscroll', function()
:norm j721| |
]])
feed('gk')
--FIXME: incorrect screen due to reset_skipcol()/curs_columns() shenanigans
screen:expect([[
{1:<<<}long two long two long two long two l|
ong two long two long two long two long |
two long two long two long two long two |
long two long two long two long two long|
two long two long two long two long two|
long two long two long two long two lon|
g two long two long two long two long tw|
o long two long two long two long two lo|
^ng two long two long two long two long t|
^g two long two long |
:norm j721| |
]])
end)