Comment #0 by kevin.lamonte — 2013-06-24T12:21:48Z
None of the shell primitives in std.process allocate a TTY, making it sometimes difficult to automate some applications or to implement a terminal emulator.
Potential API solutions:
1. Add Redirect.TTY: when set, use forkpty() instead of fork() in the existing pipeProcess()/pipeShell().
2. Add pipeTTY().
Comment #1 by bugzilla — 2013-07-28T07:19:42Z
forkpty() is a BSD function, not a standard POSIX function, so I don't see how this can be done in a cross-platform manner.
Comment #2 by kevin.lamonte — 2014-08-25T12:02:24Z
It may be a BSD function, but it is supported in glibc (with -lutil). Every POSIX platform in the DMD downloads page (FreeBSD, Mac, Linux) has forkpty. Which other ones should we be concerned about?
Comment #3 by kevin.lamonte — 2014-11-04T10:18:25Z