mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 03:18:16 +00:00
vim-patch:9.0.0964: status line not redrawn when 'splitkeep' is "screen"
Problem: Status line of other window not redrawn when dragging it when
'splitkeep' is set to "screen".
Solution: Set w_redr_status earlier. (Luuk van Baal, closes vim/vim#11635,
closes vim/vim#11632)
74a694dbe2
Co-authored-by: Luuk van Baal <luukvbaal@gmail.com>
This commit is contained in:
@@ -1793,4 +1793,22 @@ function Test_splitkeep_fold()
|
|||||||
call VerifyScreenDump(buf, 'Test_splitkeep_fold_4', {})
|
call VerifyScreenDump(buf, 'Test_splitkeep_fold_4', {})
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
function Test_splitkeep_status()
|
||||||
|
CheckScreendump
|
||||||
|
|
||||||
|
let lines =<< trim END
|
||||||
|
call setline(1, ['a', 'b', 'c'])
|
||||||
|
set nomodified
|
||||||
|
set splitkeep=screen
|
||||||
|
let win = winnr()
|
||||||
|
wincmd s
|
||||||
|
wincmd j
|
||||||
|
END
|
||||||
|
call writefile(lines, 'XTestSplitkeepStatus', 'D')
|
||||||
|
let buf = RunVimInTerminal('-S XTestSplitkeepStatus', #{rows: 10})
|
||||||
|
|
||||||
|
call term_sendkeys(buf, ":call win_move_statusline(win, 1)\<CR>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_splitkeep_status_1', {})
|
||||||
|
endfunction
|
||||||
|
|
||||||
" vim: shiftwidth=2 sts=2 expandtab
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
@@ -6,9 +6,11 @@ local exec_lua = helpers.exec_lua
|
|||||||
local feed = helpers.feed
|
local feed = helpers.feed
|
||||||
|
|
||||||
describe('splitkeep', function()
|
describe('splitkeep', function()
|
||||||
local screen = Screen.new()
|
local screen
|
||||||
|
|
||||||
before_each(function()
|
before_each(function()
|
||||||
clear('--cmd', 'set splitkeep=screen')
|
clear('--cmd', 'set splitkeep=screen')
|
||||||
|
screen = Screen.new()
|
||||||
screen:attach()
|
screen:attach()
|
||||||
end)
|
end)
|
||||||
|
|
||||||
@@ -193,4 +195,33 @@ describe('splitkeep', function()
|
|||||||
:quit |
|
:quit |
|
||||||
]])
|
]])
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
-- oldtest: Test_splitkeep_status()
|
||||||
|
it('does not scroll when split in callback', function()
|
||||||
|
exec([[
|
||||||
|
call setline(1, ['a', 'b', 'c'])
|
||||||
|
set nomodified
|
||||||
|
set splitkeep=screen
|
||||||
|
let win = winnr()
|
||||||
|
wincmd s
|
||||||
|
wincmd j
|
||||||
|
]])
|
||||||
|
feed(':call win_move_statusline(win, 1)<CR>')
|
||||||
|
screen:expect([[
|
||||||
|
a |
|
||||||
|
b |
|
||||||
|
c |
|
||||||
|
~ |
|
||||||
|
~ |
|
||||||
|
~ |
|
||||||
|
~ |
|
||||||
|
[No Name] |
|
||||||
|
^a |
|
||||||
|
b |
|
||||||
|
c |
|
||||||
|
~ |
|
||||||
|
[No Name] |
|
||||||
|
|
|
||||||
|
]])
|
||||||
|
end)
|
||||||
end)
|
end)
|
||||||
|
Reference in New Issue
Block a user