0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

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.
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.
arabic Compiled with Arabic support |Arabic|.
arp Compiled with ARP support (Amiga).
@@ -10505,7 +10506,7 @@ browse Compiled with |:browse| support, and browse() will
work.
browsefilter Compiled with support for |browsefilter|.
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'
channel Compiled with support for |channel| and |job|
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.
*builtin-terms* *builtin_terms*
Which builtin terminals are available depends on a few defines in feature.h,
which need to be set at compile time:
define output of ":version" terminals builtin ~
NO_BUILTIN_TCAPS -builtin_terms none
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|.
A number of builtin terminals are available. Since patch 9.0.0280 there is no
difference between Vim versions. You can see a list of available builtin
terminals in the error message you get for `: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
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,
'balloonevalterm'
N *+browse* |:browse| command
N *+builtin_terms* some terminals builtin |builtin-terms|
B *++builtin_terms* maximal terminals builtin |builtin-terms|
T *++builtin_terms* maximal terminals builtin |builtin-terms| Always
enabled since 9.0.0280
N *+byte_offset* support for 'o' flag in 'statusline' option, "go"
and ":goto" commands.
m *+channel* inter process communication |channel|

View File

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

View File

@@ -120,6 +120,7 @@
* +path_extra up/downwards searching in 'path' and 'tags'.
* +wildignore 'wildignore' and 'backupskip' options
* +wildmenu 'wildmenu' option
* +builtin_terms all builtin termcap entries included
*
* Obsolete:
* +tag_old_static Old style static tags: "file:tag file ..".
@@ -375,39 +376,19 @@
#endif
/*
* +builtin_terms Choose one out of the following four:
*
* 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>).
* +cryptv Encryption (originally by Mohsin Ahmed <mosh@sasi.com>).
*/
#if defined(FEAT_NORMAL) && !defined(FEAT_CRYPT) || defined(PROTO)
# define FEAT_CRYPT
#endif
/*
* libsodium - add cryptography support
*/
#if defined(HAVE_SODIUM) && defined(FEAT_BIG)
# define FEAT_SODIUM
#endif
/*
* +mksession ":mksession" command.
* fully depends on +eval
@@ -514,13 +495,6 @@
# define FEAT_SOUND_CANBERRA
#endif
/*
* libsodium - add cryptography support
*/
#if defined(HAVE_SODIUM) && defined(FEAT_BIG)
# define FEAT_SODIUM
#endif
// There are two ways to use XPM.
#if (defined(HAVE_XM_XPMP_H) && defined(FEAT_GUI_MOTIF)) \
|| defined(HAVE_X11_XPM_H)

View File

@@ -223,7 +223,6 @@ static int initial_cursor_blink = FALSE;
*/
static struct builtin_term builtin_termcaps[] =
{
#if defined(FEAT_GUI)
/*
* GUI pseudo term-cap.
@@ -276,9 +275,6 @@ static struct builtin_term builtin_termcaps[] =
// in check_termcode()
#endif
#ifndef NO_BUILTIN_TCAPS
# if defined(AMIGA) || defined(ALL_BUILTIN_TCAPS)
/*
* 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('#', '3'), "\233\065\060~"}, // shifted insert 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
*/
@@ -474,9 +406,7 @@ static struct builtin_term builtin_termcaps[] =
# else
{(int)KS_CRI, "\033[%dC"},
# endif
# endif
# if defined(ALL_BUILTIN_TCAPS)
/*
* 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
@@ -555,9 +485,7 @@ static struct builtin_term builtin_termcaps[] =
{K_END, "\316O"},
{K_PAGEDOWN, "\316Q"},
{K_PAGEUP, "\316I"},
# endif
# if defined(MSWIN) || defined(ALL_BUILTIN_TCAPS)
/*
* 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
@@ -689,9 +617,7 @@ static struct builtin_term builtin_termcaps[] =
{K_K9, "\316\376"},
{K_BS, "\316x"},
{K_S_BS, "\316y"},
# endif
# if defined(VMS) || defined(ALL_BUILTIN_TCAPS)
/*
* VT320 is working as an ANSI terminal compatible DEC terminal.
* (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_K9, "\033Oy"}, // keypad 9
{K_BS, "\x7f"}, // for some reason 0177 doesn't work
# endif
# if defined(ALL_BUILTIN_TCAPS)
/*
* Ordinary vt52
*/
@@ -818,9 +742,7 @@ static struct builtin_term builtin_termcaps[] =
{K_F3, "\033R"},
{(int)KS_CL, "\033H\033J"},
{(int)KS_MS, "y"},
# endif
# if defined(UNIX) || defined(ALL_BUILTIN_TCAPS) || defined(SOME_BUILTIN_TCAPS)
{(int)KS_NAME, "xterm"},
{(int)KS_CE, "\033[K"},
{(int)KS_AL, "\033[L"},
@@ -1012,9 +934,7 @@ static struct builtin_term builtin_termcaps[] =
{TERMCAP2KEY('F', 'P'), "\033[56;*~"}, // F35
{TERMCAP2KEY('F', 'Q'), "\033[57;*~"}, // F36
{TERMCAP2KEY('F', 'R'), "\033[58;*~"}, // F37
# endif
# if defined(UNIX) || defined(ALL_BUILTIN_TCAPS)
/*
* iris-ansi for Silicon Graphics machines.
*/
@@ -1128,9 +1048,7 @@ static struct builtin_term builtin_termcaps[] =
{K_END, "\033[146q"},
{K_PAGEUP, "\033[150q"},
{K_PAGEDOWN, "\033[154q"},
# endif
# if defined(DEBUG) || defined(ALL_BUILTIN_TCAPS)
/*
* for debugging
*/
@@ -1316,9 +1234,6 @@ static struct builtin_term builtin_termcaps[] =
{K_K7, "[K7]"},
{K_K8, "[K8]"},
{K_K9, "[K9]"},
# endif
#endif // NO_BUILTIN_TCAPS
/*
* The most minimal terminal: only clear screen and cursor positioning

View File

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