From 8398a36f13660a041234e7f25c46e2065edfea0a 2016-04-14 14:31:03 From: Thomas Kluyver Date: 2016-04-14 14:31:03 Subject: [PATCH] Use system_raw in ptshell Closes gh-9391 We were using system_piped, which runs processes through pexpect. Within the terminal, we can use system_raw, which lets the child processes interact directly with the terminal we're running in. --- diff --git a/IPython/terminal/ptshell.py b/IPython/terminal/ptshell.py index 114aac8..0ae89ba 100644 --- a/IPython/terminal/ptshell.py +++ b/IPython/terminal/ptshell.py @@ -400,5 +400,10 @@ class TerminalInteractiveShell(InteractiveShell): return False return True + # Run !system commands directly, not through pipes, so terminal programs + # work correctly. + system = InteractiveShell.system_raw + + if __name__ == '__main__': TerminalInteractiveShell.instance().interact()