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.
diff --git a/src/channel.c b/src/channel.c
index 40a3e95..d654dc0 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -5525,7 +5525,11 @@
* Returns NULL when out of memory.
*/
job_T *
-job_start(typval_T *argvars, char **argv_arg, jobopt_T *opt_arg)
+job_start(
+ typval_T *argvars,
+ char **argv_arg,
+ jobopt_T *opt_arg,
+ int is_terminal UNUSED)
{
job_T *job;
char_u *cmd = NULL;
@@ -5679,7 +5683,7 @@
ch_log(NULL, "Starting job: %s", (char *)ga.ga_data);
ga_clear(&ga);
}
- mch_job_start(argv, job, &opt);
+ mch_job_start(argv, job, &opt, is_terminal);
#else
ch_log(NULL, "Starting job: %s", (char *)cmd);
mch_job_start((char *)cmd, job, &opt);