diff src/os_win32.c @ 14065:e271ca6f32f9 v8.1.0050

patch 8.1.0050: $VIM_TERMINAL is also set when not in a terminal window commit https://github.com/vim/vim/commit/493359eb3b10377d5c3524e91d911809b8ac7a76 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jun 12 20:25:52 2018 +0200 patch 8.1.0050: $VIM_TERMINAL is also set when not in a terminal window Problem: $VIM_TERMINAL is also set when not in a terminal window. Solution: Pass a flag to indicate whether the job runs in a terminal.
author Christian Brabandt <cb@256bit.org>
date Tue, 12 Jun 2018 20:30:06 +0200
parents f39150ec146e
children 39ec4b90e4a7
line wrap: on
line diff
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -5275,26 +5275,31 @@ win32_build_env(dict_T *env, garray_T *g
 	}
     }
 
-    if (is_terminal)
-    {
-# ifdef FEAT_CLIENTSERVER
+# if defined(FEAT_CLIENTSERVER) || defined(FEAT_TERMINAL)
+    {
+#  ifdef FEAT_CLIENTSERVER
 	char_u	*servername = get_vim_var_str(VV_SEND_SERVER);
 	size_t	servername_len = STRLEN(servername);
-# endif
+#  endif
+#  ifdef FEAT_TERMINAL
 	char_u	*version = get_vim_var_str(VV_VERSION);
 	size_t	version_len = STRLEN(version);
+#  endif
 	// size of "VIM_SERVERNAME=" and value,
 	// plus "VIM_TERMINAL=" and value,
 	// plus two terminating NULs
 	size_t	n = 0
-# ifdef FEAT_CLIENTSERVER
+#  ifdef FEAT_CLIENTSERVER
 		    + 15 + servername_len
-# endif
-		    + 13 + version_len + 2;
+#  endif
+#  ifdef FEAT_TERMINAL
+		    + 13 + version_len + 2
+#  endif
+		    ;
 
 	if (ga_grow(gap, (int)n) == OK)
 	{
-# ifdef FEAT_CLIENTSERVER
+#  ifdef FEAT_CLIENTSERVER
 	    for (n = 0; n < 15; n++)
 		*((WCHAR*)gap->ga_data + gap->ga_len++) =
 		    (WCHAR)"VIM_SERVERNAME="[n];
@@ -5302,14 +5307,19 @@ win32_build_env(dict_T *env, garray_T *g
 		*((WCHAR*)gap->ga_data + gap->ga_len++) =
 		    (WCHAR)servername[n];
 	    *((WCHAR*)gap->ga_data + gap->ga_len++) = L'\0';
-# endif
-	    for (n = 0; n < 13; n++)
-		*((WCHAR*)gap->ga_data + gap->ga_len++) =
-		    (WCHAR)"VIM_TERMINAL="[n];
-	    for (n = 0; n < version_len; n++)
-		*((WCHAR*)gap->ga_data + gap->ga_len++) =
-		    (WCHAR)version[n];
-	    *((WCHAR*)gap->ga_data + gap->ga_len++) = L'\0';
+#  endif
+#  ifdef FEAT_TERMINAL
+	    if (is_terminal)
+	    {
+		for (n = 0; n < 13; n++)
+		    *((WCHAR*)gap->ga_data + gap->ga_len++) =
+			(WCHAR)"VIM_TERMINAL="[n];
+		for (n = 0; n < version_len; n++)
+		    *((WCHAR*)gap->ga_data + gap->ga_len++) =
+			(WCHAR)version[n];
+		*((WCHAR*)gap->ga_data + gap->ga_len++) = L'\0';
+	    }
+#  endif
 	}
     }
 }