mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-03 17:24:29 +00:00 
			
		
		
		
	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:
		@@ -1204,16 +1204,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')
 | 
			
		||||
@@ -1272,15 +1271,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)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user