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;
 }