diff options
author | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2019-05-02 22:40:31 -0400 |
---|---|---|
committer | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2019-05-02 22:43:02 -0400 |
commit | 049321c357c837c8dc7138f755996e9b8a46b8c5 (patch) | |
tree | 94b1cb33ada2ff7736d097c219380c411998dfde | |
parent | 31755783e330d5b3761fc471ae512d61638cae9d (diff) | |
download | rneovim-049321c357c837c8dc7138f755996e9b8a46b8c5.tar.gz rneovim-049321c357c837c8dc7138f755996e9b8a46b8c5.tar.bz2 rneovim-049321c357c837c8dc7138f755996e9b8a46b8c5.zip |
vim-patch:8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Problem: No cmdline redraw when tabpages have different 'cmdheight'.
Solution: redraw the command line when 'cmdheight' changes when switching
tabpages. (closes vim/vim#4321)
https://github.com/vim/vim/commit/0fef0aeb1ca6c85df0a656a70b6ca49c34563c89
-rw-r--r-- | src/nvim/testdir/test_tabpage.vim | 24 | ||||
-rw-r--r-- | src/nvim/window.c | 3 |
2 files changed, 27 insertions, 0 deletions
diff --git a/src/nvim/testdir/test_tabpage.vim b/src/nvim/testdir/test_tabpage.vim index 48ac6eb2f2..3c26717b96 100644 --- a/src/nvim/testdir/test_tabpage.vim +++ b/src/nvim/testdir/test_tabpage.vim @@ -1,5 +1,6 @@ " Tests for tabpage +" source screendump.vim function Test_tabpage() bw! @@ -555,4 +556,27 @@ func Test_tabs() bw! endfunc +func Test_tabpage_cmdheight() + if !CanRunVimInTerminal() + throw 'Skipped: only works with terminal' + endif + call writefile([ + \ 'set laststatus=2', + \ 'set cmdheight=2', + \ 'tabnew', + \ 'set cmdheight=3', + \ 'tabnext', + \ 'redraw!', + \ 'echo "hello\nthere"', + \ 'tabnext', + \ 'redraw', + \ ], 'XTest_tabpage_cmdheight') + " Check that cursor line is concealed + let buf = RunVimInTerminal('-S XTest_tabpage_cmdheight', {'statusoff': 3}) + call VerifyScreenDump(buf, 'Test_tabpage_cmdheight', {}) + + call StopVimInTerminal(buf) + call delete('XTest_conceal') +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/nvim/window.c b/src/nvim/window.c index d9898533da..c6270d6c76 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -3793,6 +3793,9 @@ static void enter_tabpage(tabpage_T *tp, buf_T *old_curbuf, int trigger_enter_au * the frames for that. When the Vim window was resized need to update * frame sizes too. Use the stored value of p_ch, so that it can be * different for each tab page. */ + if (p_ch != curtab->tp_ch_used) { + clear_cmdline = true; + } p_ch = curtab->tp_ch_used; if (curtab->tp_old_Rows != Rows || (old_off != firstwin->w_winrow )) |