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>
diff --git a/src/tabpanel.c b/src/tabpanel.c
index 0472e6b..fb5a957 100644
--- a/src/tabpanel.c
+++ b/src/tabpanel.c
@@ -59,6 +59,7 @@
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 @@
++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;
}