1
0
forked from aniani/vim

patch 9.1.1465: tabpanel: not correctly drawn with 'equalalways'

Problem:  tabpanel: not correctly drawn with 'equalalways'
Solution: call win_equal() (Hirohito Higashi)

closes: #17554

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Hirohito Higashi 2025-06-16 20:26:08 +02:00 committed by Christian Brabandt
parent b7ebe610cc
commit acd04b2fd7
No known key found for this signature in database
GPG Key ID: F3F92DA383FDDE09
6 changed files with 44 additions and 9 deletions

View File

@ -1,10 +1,10 @@
|a+0&#ffffff0|s|d|f| @24||+1&&|a+0&&|s|d|f| @43
|a|s|d|f| @24||+1&&|a+0&&|s|d|f| @43
|a|s|d|f| @24||+1&&|a+0&&|s|d|f| @43
|a|s|d|f| @24||+1&&|a+0&&|s|d|f| @43
|a|s|d|f| @24||+1&&|a+0&&|s|d|f| @43
|a|s|d|f| @24||+1&&|a+0&&|s|d|f| @43
|a|s|d|f| @24||+1&&|a+0&&|s|d|f| @43
|a|s|d>f| @24||+1&&|a+0&&|s|d|f| @43
|[+3&&|N|o| |N|a|m|e|]| |[|+|]| @1|1|0|1|,|4| @5|B|o|t| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @16|1|0|1|,|4| @9|B|o|t
|a+0&#ffffff0|s|d|f| @34||+1&&|a+0&&|s|d|f| @33
|a|s|d|f| @34||+1&&|a+0&&|s|d|f| @33
|a|s|d|f| @34||+1&&|a+0&&|s|d|f| @33
|a|s|d|f| @34||+1&&|a+0&&|s|d|f| @33
|a|s|d|f| @34||+1&&|a+0&&|s|d|f| @33
|a|s|d|f| @34||+1&&|a+0&&|s|d|f| @33
|a|s|d|f| @34||+1&&|a+0&&|s|d|f| @33
|a|s|d>f| @34||+1&&|a+0&&|s|d|f| @33
|[+3&&|N|o| |N|a|m|e|]| |[|+|]| @7|1|0|1|,|4| @9|B|o|t| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @6|1|0|1|,|4| @9|B|o|t
|:+0&&|t|a|b|o|n|l|y| @69

View File

@ -0,0 +1,10 @@
|3+2#e000e06#ffffff0|++2#0000000&| |b@2| @14|3+2#e000e06&|++2#0000000&| |b@2| | +8#0000001#e0e0e08|0@3| | +1#0000000#ffffff0@42|X+8#0000001#e0e0e08
|0@3| @15> +0#0000000#ffffff0@19||+1&&| +0&&@17||+1&&|a+0&&@2| @14
| +1&&@19|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&|b+0&&@2| @14
| +1&&@19|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&|c+0&&@2| @14
| +1&&@19|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&|d+0&&@2| @14
| +1&&@19|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&|~+0#4040ff13&| @16
| +1#0000000&@19|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&|~+0#4040ff13&| @16
| +1#0000000&@19|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&|~+0#4040ff13&| @16
| +1#0000000&@19|b+3&&@2| @17|a+1&&@2| @15|[|N|o| |N|a|m|e|]| |[|+|]| @4
| +0&&@77

View File

@ -0,0 +1,10 @@
| +2&#ffffff0|3+2#e000e06&|++2#0000000&| |b@2| | +8#0000001#e0e0e08|0@3| | +1#0000000#ffffff0@62|X+8#0000001#e0e0e08
> +0#0000000#ffffff0@25||+1&&| +0&&@24||+1&&|a+0&&@2| @21
|~+0#4040ff13&| @24||+1#0000000&|~+0#4040ff13&| @23||+1#0000000&|b+0&&@2| @21
|~+0#4040ff13&| @24||+1#0000000&|~+0#4040ff13&| @23||+1#0000000&|c+0&&@2| @21
|~+0#4040ff13&| @24||+1#0000000&|~+0#4040ff13&| @23||+1#0000000&|d+0&&@2| @21
|~+0#4040ff13&| @24||+1#0000000&|~+0#4040ff13&| @23||+1#0000000&|~+0#4040ff13&| @23
|~| @24||+1#0000000&|~+0#4040ff13&| @23||+1#0000000&|~+0#4040ff13&| @23
|~| @24||+1#0000000&|~+0#4040ff13&| @23||+1#0000000&|~+0#4040ff13&| @23
|b+3#0000000&@2| @23|a+1&&@2| @22|[|N|o| |N|a|m|e|]| |[|+|]| @11
| +0&&@77

View File

@ -26,6 +26,14 @@ function Test_tabpanel_showtabpanel_eq_0()
call VerifyScreenDump(buf, 'Test_tabpanel_stpl_eq_0_0', {})
call term_sendkeys(buf, ":tabnext\<CR>\<C-L>")
call VerifyScreenDump(buf, 'Test_tabpanel_stpl_eq_0_1', {})
call term_sendkeys(buf, ":set showtabpanel=2\<CR>")
call term_sendkeys(buf, ":vsp aaa\<CR>:vsp bbb\<CR>\<C-L>")
call VerifyScreenDump(buf, 'Test_tabpanel_stpl_eq_0_2', {})
call term_sendkeys(buf, ":set showtabpanel=0\<CR>\<C-L>")
call VerifyScreenDump(buf, 'Test_tabpanel_stpl_eq_0_3', {})
call term_sendkeys(buf, ":wincmd |\<CR>")
call term_sendkeys(buf, ":set showtabpanel=2\<CR>\<C-L>")
call VerifyScreenDump(buf, 'Test_tabpanel_stpl_eq_0_2', {})
call StopVimInTerminal(buf)
endfunc

View File

@ -709,6 +709,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1465,
/**/
1464,
/**/

View File

@ -6204,6 +6204,8 @@ shell_new_columns(void)
if (firstwin == NULL) // not initialized yet
return;
int save_wincol = firstwin->w_wincol;
int save_fr_width = topframe->fr_width;
int w = COLUMNS_WITHOUT_TPL();
// First try setting the widths of windows with 'winfixwidth'. If that
@ -6214,6 +6216,9 @@ shell_new_columns(void)
win_comp_pos(); // recompute w_winrow and w_wincol
if (p_ea && (firstwin->w_wincol != save_wincol
|| topframe->fr_width != save_fr_width))
win_equal(curwin, FALSE, 0);
if (!skip_win_fix_scroll)
win_fix_scroll(TRUE);