patch 9.1.1394: tabpanel not correctly redrawn on tabonly
Problem: tabpanel not correctly redrawn on tabonly
(Maxim Kim, after v9.1.1391)
Solution: force redraw of the tabpanel, tweak style
(Hirohito Higashi)
fixes: #17322
closes: #17330
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/testdir/test_tabpanel.vim b/src/testdir/test_tabpanel.vim
index 630226f..cb3c42f 100644
--- a/src/testdir/test_tabpanel.vim
+++ b/src/testdir/test_tabpanel.vim
@@ -4,13 +4,13 @@
source screendump.vim
CheckFeature tabpanel
-function! s:reset()
+function s:reset()
set tabpanel&
set tabpanelopt&
set showtabpanel&
endfunc
-function! Test_tabpanel_mouse()
+function Test_tabpanel_mouse()
let save_showtabline = &showtabline
let save_mouse = &mouse
set showtabline=0 mouse=a
@@ -67,11 +67,11 @@
let &showtabline = save_showtabline
endfunc
-function! Test_tabpanel_drawing()
+function Test_tabpanel_drawing()
CheckScreendump
let lines =<< trim END
- function! MyTabPanel()
+ function MyTabPanel()
let n = g:actual_curtabpage
let hi = n == tabpagenr() ? 'TabLineSel' : 'TabLine'
let label = printf("\n%%#%sTabNumber#%d:%%#%s#", hi, n, hi)
@@ -110,7 +110,7 @@
call StopVimInTerminal(buf)
endfunc
-function! Test_tabpanel_drawing_with_popupwin()
+function Test_tabpanel_drawing_with_popupwin()
CheckScreendump
let lines =<< trim END
@@ -147,7 +147,7 @@
call StopVimInTerminal(buf)
endfunc
-function! Test_tabpanel_drawing_fill_tailing()
+function Test_tabpanel_drawing_fill_tailing()
CheckScreendump
let lines =<< trim END
@@ -171,7 +171,7 @@
call StopVimInTerminal(buf)
endfunc
-function! Test_tabpanel_drawing_pum()
+function Test_tabpanel_drawing_pum()
CheckScreendump
let lines =<< trim END
@@ -189,13 +189,13 @@
call term_sendkeys(buf, "i\<C-x>\<C-v>")
call VerifyScreenDump(buf, 'Test_tabpanel_drawing_pum_0', {})
- call term_sendkeys(buf, "\<cr> ab\<C-x>\<C-v>")
+ call term_sendkeys(buf, "\<CR> ab\<C-x>\<C-v>")
call VerifyScreenDump(buf, 'Test_tabpanel_drawing_pum_1', {})
call StopVimInTerminal(buf)
endfunc
-function! Test_tabpanel_scrolling()
+function Test_tabpanel_scrolling()
CheckScreendump
let lines =<< trim END
@@ -216,7 +216,7 @@
let buf = RunVimInTerminal('-S XTest_tabpanel_scrolling', {'rows': 10, 'cols': 45})
let n = 0
for c in ['H', 'J', 'K', 'L']
- call term_sendkeys(buf, ":wincmd " .. c .. "\<cr>")
+ call term_sendkeys(buf, ":wincmd " .. c .. "\<CR>")
call term_sendkeys(buf, "\<C-d>\<C-d>")
call term_sendkeys(buf, "r@")
call VerifyScreenDump(buf, 'Test_tabpanel_drawing_scrolling_' .. n, {})
@@ -226,7 +226,7 @@
call StopVimInTerminal(buf)
endfunc
-function! Test_tabpanel_many_tabpages()
+function Test_tabpanel_many_tabpages()
CheckScreendump
let lines =<< trim END
@@ -243,14 +243,14 @@
call term_sendkeys(buf, "gt")
call VerifyScreenDump(buf, 'Test_tabpanel_many_tabpages_' .. n, {})
endfor
- call term_sendkeys(buf, ":tabnext +10\<cr>")
- call term_sendkeys(buf, ":tabnext -3\<cr>")
+ call term_sendkeys(buf, ":tabnext +10\<CR>")
+ call term_sendkeys(buf, ":tabnext -3\<CR>")
call VerifyScreenDump(buf, 'Test_tabpanel_many_tabpages_4', {})
call StopVimInTerminal(buf)
endfunc
-function! Test_tabpanel_visual()
+function Test_tabpanel_visual()
CheckScreendump
let lines =<< trim END
@@ -265,16 +265,16 @@
let buf = RunVimInTerminal('-S XTest_tabpanel_visual', {'rows': 10, 'cols': 45})
call term_sendkeys(buf, "v2w")
call VerifyScreenDump(buf, 'Test_tabpanel_visual_0', {})
- call term_sendkeys(buf, "\<esc>0jw")
+ call term_sendkeys(buf, "\<Esc>0jw")
call term_sendkeys(buf, "v2wge")
call VerifyScreenDump(buf, 'Test_tabpanel_visual_1', {})
- call term_sendkeys(buf, "y:echo @\"\<cr>")
+ call term_sendkeys(buf, "y:echo @\"\<CR>")
call VerifyScreenDump(buf, 'Test_tabpanel_visual_2', {})
call StopVimInTerminal(buf)
endfunc
-function! Test_tabpanel_commandline()
+function Test_tabpanel_commandline()
CheckScreendump
let lines =<< trim END
@@ -286,18 +286,18 @@
call writefile(lines, 'XTest_tabpanel_commandline', 'D')
let buf = RunVimInTerminal('-S XTest_tabpanel_commandline', {'rows': 10, 'cols': 45})
- call term_sendkeys(buf, ":ab\<tab>")
+ call term_sendkeys(buf, ":ab\<Tab>")
call VerifyScreenDump(buf, 'Test_tabpanel_commandline_0', {})
- call term_sendkeys(buf, "\<esc>")
- call term_sendkeys(buf, ":set wildoptions=pum\<cr>")
- call term_sendkeys(buf, ":ab\<tab>")
+ call term_sendkeys(buf, "\<Esc>")
+ call term_sendkeys(buf, ":set wildoptions=pum\<CR>")
+ call term_sendkeys(buf, ":ab\<Tab>")
call VerifyScreenDump(buf, 'Test_tabpanel_commandline_1', {})
call StopVimInTerminal(buf)
endfunc
-function! Test_tabpanel_tabline_and_tabpanel()
+function Test_tabpanel_tabline_and_tabpanel()
CheckScreendump
let lines =<< trim END
@@ -319,7 +319,7 @@
call StopVimInTerminal(buf)
endfunc
-function! Test_tabpanel_dont_overflow_into_tabpanel()
+function Test_tabpanel_dont_overflow_into_tabpanel()
CheckScreendump
let lines =<< trim END
@@ -338,7 +338,7 @@
call StopVimInTerminal(buf)
endfunc
-function! Test_tabpanel_dont_vert_is_multibytes_left()
+function Test_tabpanel_dont_vert_is_multibytes_left()
CheckScreendump
let lines =<< trim END
@@ -353,19 +353,19 @@
let buf = RunVimInTerminal('-S XTest_tabpanel_vert_is_multibyte_lefts', {'rows': 10, 'cols': 45})
call VerifyScreenDump(buf, 'Test_tabpanel_vert_is_multibytes_left_0', {})
- call term_sendkeys(buf, ":set tabpanelopt=columns:1,vert\<cr>")
+ call term_sendkeys(buf, ":set tabpanelopt=columns:1,vert\<CR>")
call VerifyScreenDump(buf, 'Test_tabpanel_vert_is_multibytes_left_1', {})
- call term_sendkeys(buf, ":set tabpanelopt=columns:10,vert\<cr>")
+ call term_sendkeys(buf, ":set tabpanelopt=columns:10,vert\<CR>")
call VerifyScreenDump(buf, 'Test_tabpanel_vert_is_multibytes_left_2', {})
- call term_sendkeys(buf, ":set tabpanelopt=columns:2,vert\<cr>")
+ call term_sendkeys(buf, ":set tabpanelopt=columns:2,vert\<CR>")
call VerifyScreenDump(buf, 'Test_tabpanel_vert_is_multibytes_left_3', {})
call StopVimInTerminal(buf)
endfunc
-function! Test_tabpanel_dont_vert_is_multibytes_right()
+function Test_tabpanel_dont_vert_is_multibytes_right()
CheckScreendump
let lines =<< trim END
@@ -380,23 +380,23 @@
let buf = RunVimInTerminal('-S XTest_tabpanel_vert_is_multibytes_right', {'rows': 10, 'cols': 45})
call VerifyScreenDump(buf, 'Test_tabpanel_vert_is_multibytes_right_0', {})
- call term_sendkeys(buf, ":set tabpanelopt=align:right,columns:1,vert\<cr>")
+ call term_sendkeys(buf, ":set tabpanelopt=align:right,columns:1,vert\<CR>")
call VerifyScreenDump(buf, 'Test_tabpanel_vert_is_multibytes_right_1', {})
- call term_sendkeys(buf, ":set tabpanelopt=align:right,columns:10,vert\<cr>")
+ call term_sendkeys(buf, ":set tabpanelopt=align:right,columns:10,vert\<CR>")
call VerifyScreenDump(buf, 'Test_tabpanel_vert_is_multibytes_right_2', {})
- call term_sendkeys(buf, ":set tabpanelopt=align:right,columns:2,vert\<cr>")
+ call term_sendkeys(buf, ":set tabpanelopt=align:right,columns:2,vert\<CR>")
call VerifyScreenDump(buf, 'Test_tabpanel_vert_is_multibytes_right_3', {})
call StopVimInTerminal(buf)
endfunc
-function! Test_tabpanel_eval_tabpanel_statusline_tabline()
+function Test_tabpanel_eval_tabpanel_statusline_tabline()
CheckScreendump
let lines =<< trim END
- function! Expr()
+ function Expr()
return "$%=[%f]%=$"
endfunction
set laststatus=2
@@ -417,13 +417,13 @@
let buf = RunVimInTerminal('-S XTest_tabpanel_eval_tabpanel_statusline_tabline', {'rows': 10, 'cols': 45})
call VerifyScreenDump(buf, 'Test_tabpanel_eval_tabpanel_statusline_tabline_0', {})
- call term_sendkeys(buf, ":set tabpanelopt+=align:right\<cr>")
+ call term_sendkeys(buf, ":set tabpanelopt+=align:right\<CR>")
call VerifyScreenDump(buf, 'Test_tabpanel_eval_tabpanel_statusline_tabline_1', {})
call StopVimInTerminal(buf)
endfunc
-function! Test_tabpanel_noeval_tabpanel_statusline_tabline()
+function Test_tabpanel_noeval_tabpanel_statusline_tabline()
CheckScreendump
let lines =<< trim END
@@ -445,17 +445,17 @@
let buf = RunVimInTerminal('-S XTest_tabpanel_noeval_tabpanel_statusline_tabline', {'rows': 10, 'cols': 45})
call VerifyScreenDump(buf, 'Test_tabpanel_noeval_tabpanel_statusline_tabline_0', {})
- call term_sendkeys(buf, ":set tabpanelopt+=align:right\<cr>")
+ call term_sendkeys(buf, ":set tabpanelopt+=align:right\<CR>")
call VerifyScreenDump(buf, 'Test_tabpanel_noeval_tabpanel_statusline_tabline_1', {})
call StopVimInTerminal(buf)
endfunc
-function! Test_tabpanel_eval_tabpanel_with_linebreaks()
+function Test_tabpanel_eval_tabpanel_with_linebreaks()
CheckScreendump
let lines =<< trim END
- function! Expr()
+ function Expr()
return "top\n$%=[%f]%=$\nbottom"
endfunction
set showtabpanel=2
@@ -471,10 +471,29 @@
let buf = RunVimInTerminal('-S XTest_tabpanel_eval_tabpanel_with_linebreaks', {'rows': 10, 'cols': 45})
call VerifyScreenDump(buf, 'Test_tabpanel_eval_tabpanel_with_linebreaks_0', {})
- call term_sendkeys(buf, ":set tabpanelopt+=align:right\<cr>")
+ call term_sendkeys(buf, ":set tabpanelopt+=align:right\<CR>")
call VerifyScreenDump(buf, 'Test_tabpanel_eval_tabpanel_with_linebreaks_1', {})
call StopVimInTerminal(buf)
endfunc
+function Test_tabpanel_tabonly()
+ CheckScreendump
+
+ let lines =<< trim END
+ tabnew
+ set showtabpanel=1
+ norm 100oasdf
+ vsplit
+ END
+ call writefile(lines, 'XTest_tabpanel_tabonly', 'D')
+
+ let buf = RunVimInTerminal('-S XTest_tabpanel_tabonly', {'rows': 10, 'cols': 80})
+ call VerifyScreenDump(buf, 'Test_tabpanel_only_0', {})
+ call term_sendkeys(buf, ":tabonly\<CR>")
+ call VerifyScreenDump(buf, 'Test_tabpanel_only_1', {})
+
+ call StopVimInTerminal(buf)
+endfunc
+
" vim: shiftwidth=2 sts=2 expandtab