Commit Graph

8 Commits

Author SHA1 Message Date
Björn Linse
5215e3205a channels: refactor 2017-11-24 14:50:00 +01:00
erw7
8c1782b840 pty_process_win: avoid quoting for cmd.exe 2017-08-16 09:13:44 +02:00
erw7
d3a8c4f992 win/pty: log errors 2017-08-16 09:13:44 +02:00
erw7
84fb794da6 win/pyt: cleanup 2017-08-16 09:13:44 +02:00
erw7
3b992f1688 win/pty: quote_cmd_arg(): check bounds 2017-08-16 09:13:43 +02:00
erw7
e635754e8e win/pty: jobstart, jobstop: fix null-pointer dereference
- Make sure that proc->in is not NULL, because nvim crashed when
  starting a job with pty.
- Make sure that proc->out is not NULL, because nvim crashed when stopping
  a job opened with pty.
2017-08-16 09:13:43 +02:00
erw7
4b1f21de75 win: support :terminal 2017-08-16 09:13:43 +02:00
Ryan Prichard
7f22a27a10 win: integrate winpty (WIP)
Handling of process exit is still broken.  It detects the moment when the
child process exits, then quickly stops polling for process output.  It
should continue polling for output until the agent has scraped all of the
process' output.  This problem is easy to notice by running a command like
"dir && exit", but even typing "exit<ENTER>" can manifest the problem --
the "t" might not appear.

winpty's Cygwin adapter handles shutdown by waiting for the agent to close
the CONOUT pipe, which it does after it has scraped the child's last
output.  AFAIK, neovim doesn't do anything interesting when winpty closes
the CONOUT pipe.
2017-08-16 09:13:43 +02:00