mirror of
https://github.com/neovim/neovim.git
synced 2025-09-21 02:38:19 +00:00
vim-patch:9.0.1772: Cursor may be adjusted in 'splitkeep'ed windows
Problem: Cursor is adjusted in window that did not change in size by
'splitkeep'.
Solution: Only check that cursor position is valid in a window that
has changed in size.
closes: vim/vim#12509
16af913eee
Co-authored-by: Luuk van Baal <luukvbaal@gmail.com>
This commit is contained in:
@@ -1807,7 +1807,34 @@ function Test_splitkeep_misc()
|
||||
set splitkeep&
|
||||
endfunc
|
||||
|
||||
function Test_splitkeep_callback()
|
||||
func Test_splitkeep_cursor()
|
||||
CheckScreendump
|
||||
let lines =<< trim END
|
||||
set splitkeep=screen
|
||||
autocmd CursorMoved * wincmd p | wincmd p
|
||||
call setline(1, range(1, 200))
|
||||
func CursorEqualize()
|
||||
call cursor(100, 1)
|
||||
wincmd =
|
||||
endfunc
|
||||
wincmd s
|
||||
call CursorEqualize()
|
||||
END
|
||||
call writefile(lines, 'XTestSplitkeepCallback', 'D')
|
||||
let buf = RunVimInTerminal('-S XTestSplitkeepCallback', #{rows: 8})
|
||||
|
||||
call VerifyScreenDump(buf, 'Test_splitkeep_cursor_1', {})
|
||||
|
||||
call term_sendkeys(buf, "j")
|
||||
call VerifyScreenDump(buf, 'Test_splitkeep_cursor_2', {})
|
||||
|
||||
call term_sendkeys(buf, ":set scrolloff=0\<CR>G")
|
||||
call VerifyScreenDump(buf, 'Test_splitkeep_cursor_3', {})
|
||||
|
||||
call StopVimInTerminal(buf)
|
||||
endfunc
|
||||
|
||||
func Test_splitkeep_callback()
|
||||
CheckScreendump
|
||||
let lines =<< trim END
|
||||
set splitkeep=screen
|
||||
|
Reference in New Issue
Block a user