patch 8.0.1743: terminal window options are named inconsistently
Problem: Terminal window options are named inconsistently.
Solution: prefix terminal window options with "termwin". Keep the old names
for now as an alias.
diff --git a/src/option.c b/src/option.c
index ea8c6af..aea5066 100644
--- a/src/option.c
+++ b/src/option.c
@@ -250,8 +250,9 @@
# define PV_COLE OPT_WIN(WV_COLE)
#endif
#ifdef FEAT_TERMINAL
-# define PV_TK OPT_WIN(WV_TK)
-# define PV_TMS OPT_WIN(WV_TMS)
+# define PV_TWK OPT_WIN(WV_TWK)
+# define PV_TWS OPT_WIN(WV_TWS)
+# define PV_TWSL OPT_BUF(BV_TWSL)
#endif
#ifdef FEAT_SIGNS
# define PV_SCL OPT_WIN(WV_SCL)
@@ -373,6 +374,9 @@
#ifdef FEAT_KEYMAP
static char_u *p_keymap;
#endif
+#ifdef FEAT_TERMINAL
+static long p_twsl;
+#endif
/* Saved values for when 'bin' is set. */
static int p_et_nobin;
@@ -2750,27 +2754,57 @@
{(char_u *)FALSE, (char_u *)FALSE}
#endif
SCRIPTID_INIT},
+ /* TODO: remove this deprecated entry */
{"terminalscroll", "tlsl", P_NUM|P_VI_DEF|P_VIM|P_RBUF,
#ifdef FEAT_TERMINAL
- (char_u *)&p_tlsl, PV_NONE,
+ (char_u *)&p_twsl, PV_TWSL,
{(char_u *)10000L, (char_u *)10000L}
#else
(char_u *)NULL, PV_NONE,
{(char_u *)NULL, (char_u *)0L}
#endif
SCRIPTID_INIT},
- {"termkey", "tk", P_STRING|P_ALLOCED|P_RWIN|P_VI_DEF,
+ /* TODO: remove this deprecated entry */
+ {"termkey", "tk", P_STRING|P_ALLOCED|P_RWIN|P_VI_DEF,
#ifdef FEAT_TERMINAL
- (char_u *)VAR_WIN, PV_TK,
+ (char_u *)VAR_WIN, PV_TWK,
{(char_u *)"", (char_u *)NULL}
#else
(char_u *)NULL, PV_NONE,
{(char_u *)NULL, (char_u *)0L}
#endif
SCRIPTID_INIT},
+ /* TODO: remove this deprecated entry */
{"termsize", "tms", P_STRING|P_ALLOCED|P_RWIN|P_VI_DEF,
#ifdef FEAT_TERMINAL
- (char_u *)VAR_WIN, PV_TMS,
+ (char_u *)VAR_WIN, PV_TWS,
+ {(char_u *)"", (char_u *)NULL}
+#else
+ (char_u *)NULL, PV_NONE,
+ {(char_u *)NULL, (char_u *)0L}
+#endif
+ SCRIPTID_INIT},
+ {"termwinkey", "twk", P_STRING|P_ALLOCED|P_RWIN|P_VI_DEF,
+#ifdef FEAT_TERMINAL
+ (char_u *)VAR_WIN, PV_TWK,
+ {(char_u *)"", (char_u *)NULL}
+#else
+ (char_u *)NULL, PV_NONE,
+ {(char_u *)NULL, (char_u *)0L}
+#endif
+ SCRIPTID_INIT},
+ {"termwinscroll", "twsl", P_NUM|P_VI_DEF|P_VIM|P_RBUF,
+#ifdef FEAT_TERMINAL
+ (char_u *)&p_twsl, PV_TWSL,
+ {(char_u *)10000L, (char_u *)10000L}
+#else
+ (char_u *)NULL, PV_NONE,
+ {(char_u *)NULL, (char_u *)0L}
+#endif
+ SCRIPTID_INIT},
+ {"termwinsize", "tws", P_STRING|P_ALLOCED|P_RWIN|P_VI_DEF,
+#ifdef FEAT_TERMINAL
+ (char_u *)VAR_WIN, PV_TWS,
{(char_u *)"", (char_u *)NULL}
#else
(char_u *)NULL, PV_NONE,
@@ -7452,19 +7486,20 @@
#endif
#ifdef FEAT_TERMINAL
- /* 'termkey' */
- else if (varp == &curwin->w_p_tk)
+ /* 'termwinkey' */
+ else if (varp == &curwin->w_p_twk)
{
- if (*curwin->w_p_tk != NUL && string_to_key(curwin->w_p_tk, TRUE) == 0)
+ if (*curwin->w_p_twk != NUL
+ && string_to_key(curwin->w_p_twk, TRUE) == 0)
errmsg = e_invarg;
}
- /* 'termsize' */
- else if (varp == &curwin->w_p_tms)
+ /* 'termwinsize' */
+ else if (varp == &curwin->w_p_tws)
{
- if (*curwin->w_p_tms != NUL)
+ if (*curwin->w_p_tws != NUL)
{
- p = skipdigits(curwin->w_p_tms);
- if (p == curwin->w_p_tms
+ p = skipdigits(curwin->w_p_tws);
+ if (p == curwin->w_p_tws
|| (*p != 'x' && *p != '*')
|| *skipdigits(p + 1) != NUL)
errmsg = e_invarg;
@@ -10687,8 +10722,9 @@
case PV_COLE: return (char_u *)&(curwin->w_p_cole);
#endif
#ifdef FEAT_TERMINAL
- case PV_TK: return (char_u *)&(curwin->w_p_tk);
- case PV_TMS: return (char_u *)&(curwin->w_p_tms);
+ case PV_TWK: return (char_u *)&(curwin->w_p_twk);
+ case PV_TWS: return (char_u *)&(curwin->w_p_tws);
+ case PV_TWSL: return (char_u *)&(curbuf->b_p_twsl);
#endif
case PV_AI: return (char_u *)&(curbuf->b_p_ai);
@@ -10887,8 +10923,8 @@
to->wo_cole = from->wo_cole;
#endif
#ifdef FEAT_TERMINAL
- to->wo_tk = vim_strsave(from->wo_tk);
- to->wo_tms = vim_strsave(from->wo_tms);
+ to->wo_twk = vim_strsave(from->wo_twk);
+ to->wo_tws = vim_strsave(from->wo_tws);
#endif
#ifdef FEAT_FOLDING
to->wo_fdc = from->wo_fdc;
@@ -10957,8 +10993,8 @@
check_string_option(&wop->wo_cocu);
#endif
#ifdef FEAT_TERMINAL
- check_string_option(&wop->wo_tk);
- check_string_option(&wop->wo_tms);
+ check_string_option(&wop->wo_twk);
+ check_string_option(&wop->wo_tws);
#endif
#ifdef FEAT_LINEBREAK
check_string_option(&wop->wo_briopt);
@@ -11000,8 +11036,8 @@
clear_string_option(&wop->wo_cocu);
#endif
#ifdef FEAT_TERMINAL
- clear_string_option(&wop->wo_tk);
- clear_string_option(&wop->wo_tms);
+ clear_string_option(&wop->wo_twk);
+ clear_string_option(&wop->wo_tws);
#endif
}
@@ -11178,6 +11214,9 @@
buf->b_p_keymap = vim_strsave(p_keymap);
buf->b_kmap_state |= KEYMAP_INIT;
#endif
+#ifdef FEAT_TERMINAL
+ buf->b_p_twsl = p_twsl;
+#endif
/* This isn't really an option, but copying the langmap and IME
* state from the current buffer is better than resetting it. */
buf->b_p_iminsert = p_iminsert;