From: Bram Moolenaar Date: Sun, 5 Apr 2020 19:42:12 +0000 (+0200) Subject: patch 8.2.0518: a terminal falls back to setting $TERM to "xterm" X-Git-Tag: v8.2.0518 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5ba8d3578c835edcfb7e3b132e623c12e62f250b;p=vim patch 8.2.0518: a terminal falls back to setting $TERM to "xterm" Problem: A terminal falls back to setting $TERM to "xterm". Solution: Use "xterm-color" if more than 16 colors are supported and "xterm-256color" if at least 256 colors are supported. (closes #5887) --- diff --git a/src/os_unix.c b/src/os_unix.c index c0a4fdbe3..397342c68 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -5493,7 +5493,14 @@ mch_job_start(char **argv, job_T *job, jobopt_T *options, int is_terminal) // Use 'term' or $TERM if it starts with "xterm", otherwise fall // back to "xterm". if (term == NULL || *term == NUL || STRNCMP(term, "xterm", 5) != 0) - term = "xterm"; + { + if (t_colors > 16) + term = "xterm-color"; + if (t_colors >= 256) + term = "xterm-256color"; + else + term = "xterm"; + } set_child_environment( (long)options->jo_term_rows, (long)options->jo_term_cols, diff --git a/src/version.c b/src/version.c index 4c07cd2e7..f420990b9 100644 --- a/src/version.c +++ b/src/version.c @@ -738,6 +738,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 518, /**/ 517, /**/