patch 9.1.1391: Vim does not have a vertical tabpanel
Problem: Vim does not have a tabpanel
Solution: include the tabpanel feature
(Naruhiko Nishino, thinca)
closes: #17263
Co-authored-by: thinca <thinca@gmail.com>
Signed-off-by: Naruhiko Nishino <naru123456789@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index b87e3c7..a929465 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -247,6 +247,7 @@
static void ex_redir(exarg_T *eap);
static void ex_redrawstatus(exarg_T *eap);
static void ex_redrawtabline(exarg_T *eap);
+static void ex_redrawtabpanel(exarg_T *eap);
static void close_redir(void);
static void ex_mark(exarg_T *eap);
static void ex_startinsert(exarg_T *eap);
@@ -8233,7 +8234,7 @@
{
n = W_WINROW(curwin) + curwin->w_wrow - msg_scrolled;
if (n >= 0)
- windgoto(n, curwin->w_wincol + curwin->w_wcol);
+ windgoto(n, curwin->w_wincol + curwin->w_wcol + TPL_LCOL(curwin));
}
len = eap->line2;
@@ -8992,6 +8993,29 @@
out_flush();
}
+/*
+ * ":redrawtabpanel": force redraw of the tabpanel
+ */
+ static void
+ex_redrawtabpanel(exarg_T *eap UNUSED)
+{
+ int save_RedrawingDisabled = RedrawingDisabled;
+ RedrawingDisabled = 0;
+
+ int save_p_lz = p_lz;
+ p_lz = FALSE;
+
+#if defined(FEAT_TABPANEL)
+ draw_tabpanel();
+#else
+ emsg(_(e_cannot_not_support_redrawtabpanel));
+#endif
+
+ RedrawingDisabled = save_RedrawingDisabled;
+ p_lz = save_p_lz;
+ out_flush();
+}
+
static void
close_redir(void)
{