summaryrefslogtreecommitdiff
path: root/src/os_unix.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-09-08 14:39:30 +0200
committerBram Moolenaar <Bram@vim.org>2017-09-08 14:39:30 +0200
commit2dc9d26c14e410c09e538cccfa90da19ae344ba4 (patch)
treea64bfe611511770d918f712be72d9e5c4378ba82 /src/os_unix.c
parentba2929b6afd2fc20479912a8dec789be26a38244 (diff)
downloadvim-git-2dc9d26c14e410c09e538cccfa90da19ae344ba4.tar.gz
patch 8.0.1074: ":term NONE" does not work on MS-Windowsv8.0.1074
Problem: ":term NONE" does not work on MS-Windows. Solution: Make it work. Split "pty" into "pty_in" and "pty_out". (Yasuhiro Matsumoto, closes #2058, closes #2045)
Diffstat (limited to 'src/os_unix.c')
-rw-r--r--src/os_unix.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/os_unix.c b/src/os_unix.c
index 1ec59fcdc..3366efd1d 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -5263,7 +5263,11 @@ mch_job_start(char **argv, job_T *job, jobopt_T *options)
&& (!(use_file_for_in || use_null_for_in)
|| !(use_file_for_in || use_null_for_out)
|| !(use_out_for_err || use_file_for_err || use_null_for_err)))
- open_pty(&pty_master_fd, &pty_slave_fd, &job->jv_tty_name);
+ {
+ open_pty(&pty_master_fd, &pty_slave_fd, &job->jv_tty_out);
+ if (job->jv_tty_out != NULL)
+ job->jv_tty_in = vim_strsave(job->jv_tty_out);
+ }
/* TODO: without the channel feature connect the child to /dev/null? */
/* Open pipes for stdin, stdout, stderr. */
@@ -5687,7 +5691,9 @@ mch_create_pty_channel(job_T *job, jobopt_T *options)
int pty_slave_fd = -1;
channel_T *channel;
- open_pty(&pty_master_fd, &pty_slave_fd, &job->jv_tty_name);
+ open_pty(&pty_master_fd, &pty_slave_fd, &job->jv_tty_out);
+ if (job->jv_tty_out != NULL)
+ job->jv_tty_in = vim_strsave(job->jv_tty_out);
close(pty_slave_fd);
channel = add_channel();