diff options
author | Luuk van Baal <luukvbaal@gmail.com> | 2022-11-28 18:41:20 +0100 |
---|---|---|
committer | Luuk van Baal <luukvbaal@gmail.com> | 2022-11-28 23:20:19 +0100 |
commit | bf0665b3f320cd183bd1f960cc8501fca60ced9e (patch) | |
tree | 6bbee977495043494384d4d11e4853d940aa9866 | |
parent | 77a0f4a542ad9354c647b6bafc1bbd5579212a9e (diff) | |
download | rneovim-bf0665b3f320cd183bd1f960cc8501fca60ced9e.tar.gz rneovim-bf0665b3f320cd183bd1f960cc8501fca60ced9e.tar.bz2 rneovim-bf0665b3f320cd183bd1f960cc8501fca60ced9e.zip |
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)
https://github.com/vim/vim/commit/74a694dbe20bb7dea4e06f474cf62e20f9c92f1d
Co-authored-by: Luuk van Baal <luukvbaal@gmail.com>
-rw-r--r-- | src/nvim/testdir/test_window_cmd.vim | 18 | ||||
-rw-r--r-- | test/functional/legacy/window_cmd_spec.lua | 33 |
2 files changed, 50 insertions, 1 deletions
diff --git a/src/nvim/testdir/test_window_cmd.vim b/src/nvim/testdir/test_window_cmd.vim index 20564fed66..6e8368f71d 100644 --- a/src/nvim/testdir/test_window_cmd.vim +++ b/src/nvim/testdir/test_window_cmd.vim @@ -1793,4 +1793,22 @@ function Test_splitkeep_fold() call VerifyScreenDump(buf, 'Test_splitkeep_fold_4', {}) 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 diff --git a/test/functional/legacy/window_cmd_spec.lua b/test/functional/legacy/window_cmd_spec.lua index 8b89c55f5b..0e9775060d 100644 --- a/test/functional/legacy/window_cmd_spec.lua +++ b/test/functional/legacy/window_cmd_spec.lua @@ -6,9 +6,11 @@ local exec_lua = helpers.exec_lua local feed = helpers.feed describe('splitkeep', function() - local screen = Screen.new() + local screen + before_each(function() clear('--cmd', 'set splitkeep=screen') + screen = Screen.new() screen:attach() end) @@ -193,4 +195,33 @@ describe('splitkeep', function() :quit | ]]) 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) |