patch 8.0.1071: putty-color and cygwin-color are not recognized
Problem: $TERM names starting with "putty" and "cygwin" are likely to have
a dark background, but are not recognized.
Solution: Only check the first few characters of $TERM to match "putty" or
"cygwin". (Christian Brabandt)
diff --git a/src/option.c b/src/option.c
index a1304c9..a0367e7 100644
--- a/src/option.c
+++ b/src/option.c
@@ -4024,8 +4024,8 @@
* This is just guessing! Recognized are:
* "linux" Linux console
* "screen.linux" Linux console with screen
- * "cygwin" Cygwin shell
- * "putty" Putty program
+ * "cygwin.*" Cygwin shell
+ * "putty.*" Putty program
* We also check the COLORFGBG environment variable, which is set by
* rxvt and derivatives. This variable contains either two or three
* values separated by semicolons; we want the last value in either
@@ -4035,15 +4035,15 @@
term_bg_default(void)
{
#if defined(WIN3264)
- /* DOS console nearly always black */
+ /* DOS console is nearly always black */
return (char_u *)"dark";
#else
char_u *p;
if (STRCMP(T_NAME, "linux") == 0
|| STRCMP(T_NAME, "screen.linux") == 0
- || STRCMP(T_NAME, "cygwin") == 0
- || STRCMP(T_NAME, "putty") == 0
+ || STRNCMP(T_NAME, "cygwin", 6) == 0
+ || STRNCMP(T_NAME, "putty", 5) == 0
|| ((p = mch_getenv((char_u *)"COLORFGBG")) != NULL
&& (p = vim_strrchr(p, ';')) != NULL
&& ((p[1] >= '0' && p[1] <= '6') || p[1] == '8')