1
0
forked from aniani/vim

patch 9.0.0280: the builtin termcap list depends on the version

Problem:    The builtin termcap list depends on the version.
Solution:   Always include all termcap entries.  Remove duplicate lines.
This commit is contained in:
Bram Moolenaar
2022-08-26 17:53:44 +01:00
parent 5416232707
commit 2ee347fbc0
7 changed files with 22 additions and 155 deletions

View File

@@ -10491,7 +10491,8 @@ use: `if exists('+shellslash')`
acl Compiled with |ACL| support. acl Compiled with |ACL| support.
all_builtin_terms Compiled with all builtin terminals enabled. all_builtin_terms Compiled with all builtin terminals enabled. (always
true)
amiga Amiga version of Vim. amiga Amiga version of Vim.
arabic Compiled with Arabic support |Arabic|. arabic Compiled with Arabic support |Arabic|.
arp Compiled with ARP support (Amiga). arp Compiled with ARP support (Amiga).
@@ -10505,7 +10506,7 @@ browse Compiled with |:browse| support, and browse() will
work. work.
browsefilter Compiled with support for |browsefilter|. browsefilter Compiled with support for |browsefilter|.
bsd Compiled on an OS in the BSD family (excluding macOS). bsd Compiled on an OS in the BSD family (excluding macOS).
builtin_terms Compiled with some builtin terminals. builtin_terms Compiled with some builtin terminals. (always true)
byte_offset Compiled with support for 'o' in 'statusline' byte_offset Compiled with support for 'o' in 'statusline'
channel Compiled with support for |channel| and |job| channel Compiled with support for |channel| and |job|
cindent Compiled with 'cindent' support. (always true) cindent Compiled with 'cindent' support. (always true)

View File

@@ -43,15 +43,10 @@ On non-Unix systems a termcap is only available if Vim was compiled with
TERMCAP defined. TERMCAP defined.
*builtin-terms* *builtin_terms* *builtin-terms* *builtin_terms*
Which builtin terminals are available depends on a few defines in feature.h, A number of builtin terminals are available. Since patch 9.0.0280 there is no
which need to be set at compile time: difference between Vim versions. You can see a list of available builtin
define output of ":version" terminals builtin ~ terminals in the error message you get for `:set term=xxx` (when not running
NO_BUILTIN_TCAPS -builtin_terms none the GUI). Also see |+builtin_terms|.
SOME_BUILTIN_TCAPS +builtin_terms most common ones (default)
ALL_BUILTIN_TCAPS ++builtin_terms all available
You can see a list of available builtin terminals with ":set term=xxx" (when
not running the GUI). Also see |+builtin_terms|.
If the termcap code is included Vim will try to get the strings for the If the termcap code is included Vim will try to get the strings for the
terminal you are using from the termcap file and the builtin termcaps. Both terminal you are using from the termcap file and the builtin termcaps. Both

View File

@@ -342,8 +342,8 @@ m *+balloon_eval* |balloon-eval| support in the GUI. Included when
H *+balloon_eval_term* |balloon-eval| support in the terminal, H *+balloon_eval_term* |balloon-eval| support in the terminal,
'balloonevalterm' 'balloonevalterm'
N *+browse* |:browse| command N *+browse* |:browse| command
N *+builtin_terms* some terminals builtin |builtin-terms| T *++builtin_terms* maximal terminals builtin |builtin-terms| Always
B *++builtin_terms* maximal terminals builtin |builtin-terms| enabled since 9.0.0280
N *+byte_offset* support for 'o' flag in 'statusline' option, "go" N *+byte_offset* support for 'o' flag in 'statusline' option, "go"
and ":goto" commands. and ":goto" commands.
m *+channel* inter process communication |channel| m *+channel* inter process communication |channel|

View File

@@ -5469,20 +5469,8 @@ f_has(typval_T *argvars, typval_T *rettv)
0 0
#endif #endif
}, },
{"builtin_terms", {"builtin_terms", 1},
#if defined(SOME_BUILTIN_TCAPS) || defined(ALL_BUILTIN_TCAPS) {"all_builtin_terms", 1},
1
#else
0
#endif
},
{"all_builtin_terms",
#if defined(ALL_BUILTIN_TCAPS)
1
#else
0
#endif
},
{"browsefilter", {"browsefilter",
#if defined(FEAT_BROWSE) && (defined(USE_FILE_CHOOSER) \ #if defined(FEAT_BROWSE) && (defined(USE_FILE_CHOOSER) \
|| defined(FEAT_GUI_MSWIN) \ || defined(FEAT_GUI_MSWIN) \

View File

@@ -120,6 +120,7 @@
* +path_extra up/downwards searching in 'path' and 'tags'. * +path_extra up/downwards searching in 'path' and 'tags'.
* +wildignore 'wildignore' and 'backupskip' options * +wildignore 'wildignore' and 'backupskip' options
* +wildmenu 'wildmenu' option * +wildmenu 'wildmenu' option
* +builtin_terms all builtin termcap entries included
* *
* Obsolete: * Obsolete:
* +tag_old_static Old style static tags: "file:tag file ..". * +tag_old_static Old style static tags: "file:tag file ..".
@@ -375,39 +376,19 @@
#endif #endif
/* /*
* +builtin_terms Choose one out of the following four: * +cryptv Encryption (originally by Mohsin Ahmed <mosh@sasi.com>).
*
* NO_BUILTIN_TCAPS Do not include any builtin termcap entries (used only
* with HAVE_TGETENT defined).
*
* (nothing) Machine specific termcap entries will be included.
*
* SOME_BUILTIN_TCAPS Include most useful builtin termcap entries (used only
* with NO_BUILTIN_TCAPS not defined).
* This is the default.
*
* ALL_BUILTIN_TCAPS Include all builtin termcap entries
* (used only with NO_BUILTIN_TCAPS not defined).
*/
#ifdef HAVE_TGETENT
// #define NO_BUILTIN_TCAPS
#endif
#if !defined(NO_BUILTIN_TCAPS)
# ifdef FEAT_BIG
# define ALL_BUILTIN_TCAPS
# else
# define SOME_BUILTIN_TCAPS // default
# endif
#endif
/*
* +cryptv Encryption (by Mohsin Ahmed <mosh@sasi.com>).
*/ */
#if defined(FEAT_NORMAL) && !defined(FEAT_CRYPT) || defined(PROTO) #if defined(FEAT_NORMAL) && !defined(FEAT_CRYPT) || defined(PROTO)
# define FEAT_CRYPT # define FEAT_CRYPT
#endif #endif
/*
* libsodium - add cryptography support
*/
#if defined(HAVE_SODIUM) && defined(FEAT_BIG)
# define FEAT_SODIUM
#endif
/* /*
* +mksession ":mksession" command. * +mksession ":mksession" command.
* fully depends on +eval * fully depends on +eval
@@ -514,13 +495,6 @@
# define FEAT_SOUND_CANBERRA # define FEAT_SOUND_CANBERRA
#endif #endif
/*
* libsodium - add cryptography support
*/
#if defined(HAVE_SODIUM) && defined(FEAT_BIG)
# define FEAT_SODIUM
#endif
// There are two ways to use XPM. // There are two ways to use XPM.
#if (defined(HAVE_XM_XPMP_H) && defined(FEAT_GUI_MOTIF)) \ #if (defined(HAVE_XM_XPMP_H) && defined(FEAT_GUI_MOTIF)) \
|| defined(HAVE_X11_XPM_H) || defined(HAVE_X11_XPM_H)

View File

@@ -223,7 +223,6 @@ static int initial_cursor_blink = FALSE;
*/ */
static struct builtin_term builtin_termcaps[] = static struct builtin_term builtin_termcaps[] =
{ {
#if defined(FEAT_GUI) #if defined(FEAT_GUI)
/* /*
* GUI pseudo term-cap. * GUI pseudo term-cap.
@@ -276,9 +275,6 @@ static struct builtin_term builtin_termcaps[] =
// in check_termcode() // in check_termcode()
#endif #endif
#ifndef NO_BUILTIN_TCAPS
# if defined(AMIGA) || defined(ALL_BUILTIN_TCAPS)
/* /*
* Amiga console window, default for Amiga * Amiga console window, default for Amiga
*/ */
@@ -376,71 +372,7 @@ static struct builtin_term builtin_termcaps[] =
{TERMCAP2KEY('#', '2'), "\233\065\064~"}, // shifted home key {TERMCAP2KEY('#', '2'), "\233\065\064~"}, // shifted home key
{TERMCAP2KEY('#', '3'), "\233\065\060~"}, // shifted insert key {TERMCAP2KEY('#', '3'), "\233\065\060~"}, // shifted insert key
{TERMCAP2KEY('*', '7'), "\233\065\065~"}, // shifted end key {TERMCAP2KEY('*', '7'), "\233\065\065~"}, // shifted end key
# endif
# ifdef ALL_BUILTIN_TCAPS
/*
* almost standard ANSI terminal
*/
{(int)KS_CE, "\033[K"},
{(int)KS_CD, "\033[J"},
{(int)KS_AL, "\033[L"},
# ifdef TERMINFO
{(int)KS_CAL, "\033[%p1%dL"},
# else
{(int)KS_CAL, "\033[%dL"},
# endif
{(int)KS_DL, "\033[M"},
# ifdef TERMINFO
{(int)KS_CDL, "\033[%p1%dM"},
# else
{(int)KS_CDL, "\033[%dM"},
# endif
{(int)KS_CL, "\033[H\033[2J"},
#ifdef notyet
{(int)KS_VI, "[VI]"}, // cursor invisible, VT320: CSI ? 25 l
{(int)KS_VE, "[VE]"}, // cursor visible, VT320: CSI ? 25 h
#endif
{(int)KS_ME, "\033[m"}, // normal mode
{(int)KS_MR, "\033[7m"}, // reverse
{(int)KS_MD, "\033[1m"}, // bold
{(int)KS_SO, "\033[31m"}, // standout mode: red
{(int)KS_SE, "\033[m"}, // standout end
{(int)KS_CZH, "\033[35m"}, // italic: purple
{(int)KS_CZR, "\033[m"}, // italic end
{(int)KS_US, "\033[4m"}, // underscore mode
{(int)KS_UE, "\033[m"}, // underscore end
{(int)KS_CCO, "8"}, // allow 8 colors
# ifdef TERMINFO
{(int)KS_CAB, "\033[4%p1%dm"},// set background color
{(int)KS_CAF, "\033[3%p1%dm"},// set foreground color
# else
{(int)KS_CAB, "\033[4%dm"}, // set background color
{(int)KS_CAF, "\033[3%dm"}, // set foreground color
# endif
{(int)KS_OP, "\033[m"}, // reset colors
{(int)KS_MS, "y"}, // safe to move cur in reverse mode
{(int)KS_UT, "y"}, // guessed
{(int)KS_LE, "\b"},
# ifdef TERMINFO
{(int)KS_CM, "\033[%i%p1%d;%p2%dH"},
# else
{(int)KS_CM, "\033[%i%d;%dH"},
# endif
{(int)KS_SR, "\033M"},
# ifdef TERMINFO
{(int)KS_CRI, "\033[%p1%dC"},
# else
{(int)KS_CRI, "\033[%dC"},
# endif
{K_UP, "\033[A"},
{K_DOWN, "\033[B"},
{K_LEFT, "\033[D"},
{K_RIGHT, "\033[C"},
# endif
# if defined(UNIX) || defined(ALL_BUILTIN_TCAPS) || defined(SOME_BUILTIN_TCAPS)
/* /*
* standard ANSI terminal, default for unix * standard ANSI terminal, default for unix
*/ */
@@ -474,9 +406,7 @@ static struct builtin_term builtin_termcaps[] =
# else # else
{(int)KS_CRI, "\033[%dC"}, {(int)KS_CRI, "\033[%dC"},
# endif # endif
# endif
# if defined(ALL_BUILTIN_TCAPS)
/* /*
* These codes are valid when nansi.sys or equivalent has been installed. * These codes are valid when nansi.sys or equivalent has been installed.
* Function keys on a PC are preceded with a NUL. These are converted into * Function keys on a PC are preceded with a NUL. These are converted into
@@ -555,9 +485,7 @@ static struct builtin_term builtin_termcaps[] =
{K_END, "\316O"}, {K_END, "\316O"},
{K_PAGEDOWN, "\316Q"}, {K_PAGEDOWN, "\316Q"},
{K_PAGEUP, "\316I"}, {K_PAGEUP, "\316I"},
# endif
# if defined(MSWIN) || defined(ALL_BUILTIN_TCAPS)
/* /*
* These codes are valid for the Win32 Console . The entries that start with * These codes are valid for the Win32 Console . The entries that start with
* ESC | are translated into console calls in os_win32.c. The function keys * ESC | are translated into console calls in os_win32.c. The function keys
@@ -689,9 +617,7 @@ static struct builtin_term builtin_termcaps[] =
{K_K9, "\316\376"}, {K_K9, "\316\376"},
{K_BS, "\316x"}, {K_BS, "\316x"},
{K_S_BS, "\316y"}, {K_S_BS, "\316y"},
# endif
# if defined(VMS) || defined(ALL_BUILTIN_TCAPS)
/* /*
* VT320 is working as an ANSI terminal compatible DEC terminal. * VT320 is working as an ANSI terminal compatible DEC terminal.
* (it covers VT1x0, VT2x0 and VT3x0 up to VT320 on VMS as well) * (it covers VT1x0, VT2x0 and VT3x0 up to VT320 on VMS as well)
@@ -791,9 +717,7 @@ static struct builtin_term builtin_termcaps[] =
{K_K8, "\033Ox"}, // keypad 8 {K_K8, "\033Ox"}, // keypad 8
{K_K9, "\033Oy"}, // keypad 9 {K_K9, "\033Oy"}, // keypad 9
{K_BS, "\x7f"}, // for some reason 0177 doesn't work {K_BS, "\x7f"}, // for some reason 0177 doesn't work
# endif
# if defined(ALL_BUILTIN_TCAPS)
/* /*
* Ordinary vt52 * Ordinary vt52
*/ */
@@ -818,9 +742,7 @@ static struct builtin_term builtin_termcaps[] =
{K_F3, "\033R"}, {K_F3, "\033R"},
{(int)KS_CL, "\033H\033J"}, {(int)KS_CL, "\033H\033J"},
{(int)KS_MS, "y"}, {(int)KS_MS, "y"},
# endif
# if defined(UNIX) || defined(ALL_BUILTIN_TCAPS) || defined(SOME_BUILTIN_TCAPS)
{(int)KS_NAME, "xterm"}, {(int)KS_NAME, "xterm"},
{(int)KS_CE, "\033[K"}, {(int)KS_CE, "\033[K"},
{(int)KS_AL, "\033[L"}, {(int)KS_AL, "\033[L"},
@@ -1012,9 +934,7 @@ static struct builtin_term builtin_termcaps[] =
{TERMCAP2KEY('F', 'P'), "\033[56;*~"}, // F35 {TERMCAP2KEY('F', 'P'), "\033[56;*~"}, // F35
{TERMCAP2KEY('F', 'Q'), "\033[57;*~"}, // F36 {TERMCAP2KEY('F', 'Q'), "\033[57;*~"}, // F36
{TERMCAP2KEY('F', 'R'), "\033[58;*~"}, // F37 {TERMCAP2KEY('F', 'R'), "\033[58;*~"}, // F37
# endif
# if defined(UNIX) || defined(ALL_BUILTIN_TCAPS)
/* /*
* iris-ansi for Silicon Graphics machines. * iris-ansi for Silicon Graphics machines.
*/ */
@@ -1128,9 +1048,7 @@ static struct builtin_term builtin_termcaps[] =
{K_END, "\033[146q"}, {K_END, "\033[146q"},
{K_PAGEUP, "\033[150q"}, {K_PAGEUP, "\033[150q"},
{K_PAGEDOWN, "\033[154q"}, {K_PAGEDOWN, "\033[154q"},
# endif
# if defined(DEBUG) || defined(ALL_BUILTIN_TCAPS)
/* /*
* for debugging * for debugging
*/ */
@@ -1316,9 +1234,6 @@ static struct builtin_term builtin_termcaps[] =
{K_K7, "[K7]"}, {K_K7, "[K7]"},
{K_K8, "[K8]"}, {K_K8, "[K8]"},
{K_K9, "[K9]"}, {K_K9, "[K9]"},
# endif
#endif // NO_BUILTIN_TCAPS
/* /*
* The most minimal terminal: only clear screen and cursor positioning * The most minimal terminal: only clear screen and cursor positioning

View File

@@ -134,15 +134,7 @@ static char *(features[]) =
#else #else
"-browse", "-browse",
#endif #endif
#ifdef NO_BUILTIN_TCAPS
"-builtin_terms",
#endif
#ifdef SOME_BUILTIN_TCAPS
"+builtin_terms",
#endif
#ifdef ALL_BUILTIN_TCAPS
"++builtin_terms", "++builtin_terms",
#endif
#ifdef FEAT_BYTEOFF #ifdef FEAT_BYTEOFF
"+byte_offset", "+byte_offset",
#else #else
@@ -715,6 +707,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
280,
/**/ /**/
279, 279,
/**/ /**/