7.2 Programs reading input hang

Programs that explicitly use a handle to the console (CON or CON:) instead of stdin and stdout cannot be used as subprocesses to Emacs, and they will also not work in shell-mode. The default ftp client on Windows is an example of such a program - this ftp program is mostly fine for use with ange-ftp or tramp, but not for M-x ftp (see How do I use FTP within Emacs). There is no convenient way for either Emacs or any shell used in shell-mode to redirect the input and output of such processes from the console to input and output pipes. The only workaround is to use a different implementation of the program that does not use the console directly. Microsoft’s new PowerShell appears to be another such program, so that cannot be used as a replacement shell for Emacs.