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 c0a4fdb..397342c 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -5493,7 +5493,14 @@
// 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,