forked from aniani/vim
patch 8.1.0880: MS-Windows: inconsistent selection of winpty/conpty
Problem: MS-Windows: inconsistent selection of winpty/conpty. Solution: Name option 'termwintype', use ++type argument and "term_pty" for term_start(). (Hirohito Higashi, closes #3915)
This commit is contained in:
35
src/option.c
35
src/option.c
@@ -253,7 +253,6 @@
|
||||
# define PV_TWK OPT_WIN(WV_TWK)
|
||||
# define PV_TWS OPT_WIN(WV_TWS)
|
||||
# define PV_TWSL OPT_BUF(BV_TWSL)
|
||||
# define PV_TMOD OPT_WIN(WV_TMOD)
|
||||
#endif
|
||||
#ifdef FEAT_SIGNS
|
||||
# define PV_SCL OPT_WIN(WV_SCL)
|
||||
@@ -2699,15 +2698,6 @@ static struct vimoption options[] =
|
||||
#else
|
||||
(char_u*)NULL, PV_NONE,
|
||||
{(char_u *)FALSE, (char_u *)FALSE}
|
||||
#endif
|
||||
SCTX_INIT},
|
||||
{"termmode", "tmod", P_STRING|P_ALLOCED|P_VI_DEF,
|
||||
#ifdef FEAT_TERMINAL
|
||||
(char_u *)VAR_WIN, PV_TMOD,
|
||||
{(char_u *)"", (char_u *)NULL}
|
||||
#else
|
||||
(char_u *)NULL, PV_NONE,
|
||||
{(char_u *)NULL, (char_u *)0L}
|
||||
#endif
|
||||
SCTX_INIT},
|
||||
{"termwinkey", "twk", P_STRING|P_ALLOCED|P_RWIN|P_VI_DEF,
|
||||
@@ -2735,6 +2725,15 @@ static struct vimoption options[] =
|
||||
#else
|
||||
(char_u *)NULL, PV_NONE,
|
||||
{(char_u *)NULL, (char_u *)0L}
|
||||
#endif
|
||||
SCTX_INIT},
|
||||
{"termwintype", "twt", P_STRING|P_ALLOCED|P_VI_DEF,
|
||||
#if defined(WIN3264) && defined(FEAT_TERMINAL)
|
||||
(char_u *)&p_twt, PV_NONE,
|
||||
{(char_u *)"", (char_u *)NULL}
|
||||
#else
|
||||
(char_u *)NULL, PV_NONE,
|
||||
{(char_u *)NULL, (char_u *)0L}
|
||||
#endif
|
||||
SCTX_INIT},
|
||||
{"terse", NULL, P_BOOL|P_VI_DEF,
|
||||
@@ -3218,8 +3217,8 @@ static char *(p_cot_values[]) = {"menu", "menuone", "longest", "preview", "noins
|
||||
#ifdef FEAT_SIGNS
|
||||
static char *(p_scl_values[]) = {"yes", "no", "auto", NULL};
|
||||
#endif
|
||||
#ifdef FEAT_TERMINAL
|
||||
static char *(p_tmod_values[]) = {"winpty", "conpty", "", NULL};
|
||||
#if defined(WIN3264) && defined(FEAT_TERMINAL)
|
||||
static char *(p_twt_values[]) = {"winpty", "conpty", "", NULL};
|
||||
#endif
|
||||
|
||||
static void set_options_default(int opt_flags);
|
||||
@@ -7505,12 +7504,14 @@ did_set_string_option(
|
||||
errmsg = e_invarg;
|
||||
}
|
||||
}
|
||||
// 'termmode'
|
||||
else if (varp == &curwin->w_p_tmod)
|
||||
# if defined(WIN3264)
|
||||
// 'termwintype'
|
||||
else if (varp == &p_twt)
|
||||
{
|
||||
if (check_opt_strings(*varp, p_tmod_values, FALSE) != OK)
|
||||
if (check_opt_strings(*varp, p_twt_values, FALSE) != OK)
|
||||
errmsg = e_invarg;
|
||||
}
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_VARTABS
|
||||
@@ -10952,7 +10953,6 @@ get_varp(struct vimoption *p)
|
||||
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);
|
||||
case PV_TMOD: return (char_u *)&(curwin->w_p_tmod);
|
||||
#endif
|
||||
|
||||
case PV_AI: return (char_u *)&(curbuf->b_p_ai);
|
||||
@@ -11153,7 +11153,6 @@ copy_winopt(winopt_T *from, winopt_T *to)
|
||||
#ifdef FEAT_TERMINAL
|
||||
to->wo_twk = vim_strsave(from->wo_twk);
|
||||
to->wo_tws = vim_strsave(from->wo_tws);
|
||||
to->wo_tmod = vim_strsave(from->wo_tmod);
|
||||
#endif
|
||||
#ifdef FEAT_FOLDING
|
||||
to->wo_fdc = from->wo_fdc;
|
||||
@@ -11224,7 +11223,6 @@ check_winopt(winopt_T *wop UNUSED)
|
||||
#ifdef FEAT_TERMINAL
|
||||
check_string_option(&wop->wo_twk);
|
||||
check_string_option(&wop->wo_tws);
|
||||
check_string_option(&wop->wo_tmod);
|
||||
#endif
|
||||
#ifdef FEAT_LINEBREAK
|
||||
check_string_option(&wop->wo_briopt);
|
||||
@@ -11268,7 +11266,6 @@ clear_winopt(winopt_T *wop UNUSED)
|
||||
#ifdef FEAT_TERMINAL
|
||||
clear_string_option(&wop->wo_twk);
|
||||
clear_string_option(&wop->wo_tws);
|
||||
clear_string_option(&wop->wo_tmod);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user