does not accept multiline input under some terminal settings

Ronny Pfannschmidt avatarRonny Pfannschmidt created an issue

After running 'sttyl -icrnl', pypy gives this error when receiving input that requires a continuation line:

>>>> (1,
Traceback (most recent call last):
  File "app_main.py", line 51, in run_toplevel
  File "/home/washort/pypy-1.9/lib_pypy/_pypy_interact.py", line 40, in
interactive_console
    run_multiline_interactive_console(mainmodule)
  File "/home/washort/pypy-1.9/lib_pypy/pyrepl/simple_interact.py", line 62, in
run_multiline_interactive_console
    assert not more
AssertionError

Comments (4)

  1. Michael Hudson-Doyle

    I think this patch is all that is required?

    diff -r 9982325d3628 pyrepl/unix_console.py
    --- a/pyrepl/unix_console.py	Thu May 17 13:58:34 2012 +0200
    +++ b/pyrepl/unix_console.py	Mon Jul 02 11:49:20 2012 +1200
    @@ -358,6 +358,7 @@
             # per-readline preparations:
             self.__svtermstate = tcgetattr(self.input_fd)
             raw = self.__svtermstate.copy()
    +        raw.iflag |= termios.ICRNL
             raw.iflag &=~ (termios.BRKINT | termios.INPCK |
                            termios.ISTRIP | termios.IXON)
             raw.oflag &=~ (termios.OPOST)
    
    
  2. Log in to comment
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.