patch 9.1.1397: tabpanel not correctly updated on :tabonly

Problem:  tabpanel not correctly updated on :tabonly
          (Maxim Kim)
Solution: force a redraw, take 'equalalways' into account
          (Naruhiko Nishino)

related: https://github.com/vim/vim/pull/17330#issuecomment-2888146370
closes: #17337

Signed-off-by: Naruhiko Nishino <naru123456789@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Naruhiko Nishino
2025-05-17 16:19:24 +02:00
committed by Christian Brabandt
parent 7b9eb6389d
commit 2a1e253e26
8 changed files with 78 additions and 2 deletions

View File

@ -59,6 +59,7 @@ tabpanelopt_changed(void)
int new_align = ALIGN_LEFT;
int new_columns = 20;
int new_is_vert = FALSE;
int do_equal = 0;
p = p_tplo;
while (*p != NUL)
@ -90,10 +91,20 @@ tabpanelopt_changed(void)
++p;
}
// Whether all the windows are automatically made the same size
// when tabpanel size is changed.
do_equal = p_ea && tpl_columns != new_columns;
tpl_align = new_align;
tpl_columns = new_columns;
tpl_is_vert = new_is_vert;
shell_new_columns();
redraw_tabpanel = TRUE;
if (do_equal)
win_equal(curwin, FALSE, 0);
return OK;
}