0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

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)
This commit is contained in:
Bram Moolenaar
2017-09-08 14:39:30 +02:00
parent ba2929b6af
commit 2dc9d26c14
8 changed files with 177 additions and 43 deletions

View File

@@ -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();