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:
committed by
Christian Brabandt
parent
7b9eb6389d
commit
2a1e253e26
@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user