patch 8.0.1074: ":term NONE" does not work on MS-Windows
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)
diff --git a/src/os_unix.c b/src/os_unix.c
index 1ec59fc..3366efd 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -5263,7 +5263,11 @@
&& (!(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 @@
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();