Author: Armin Rigo <ar...@tunes.org> Branch: Changeset: r127:183fb78bf113 Date: 2011-09-06 06:27 +0200 http://bitbucket.org/pypy/pyrepl/changeset/183fb78bf113/
Log: Port 659f7a0b3256 from pypy. diff --git a/pyrepl/reader.py b/pyrepl/reader.py --- a/pyrepl/reader.py +++ b/pyrepl/reader.py @@ -576,7 +576,7 @@ self.console.push_char(char) self.handle1(0) - def readline(self): + def readline(self, returns_unicode=False): """Read a line. The implementation of this method also shows how to drive Reader if you want more control over the event loop.""" @@ -585,6 +585,8 @@ self.refresh() while not self.finished: self.handle1() + if returns_unicode: + return self.get_unicode() return self.get_buffer() finally: self.restore() diff --git a/pyrepl/readline.py b/pyrepl/readline.py --- a/pyrepl/readline.py +++ b/pyrepl/readline.py @@ -198,7 +198,7 @@ reader.ps1 = prompt return reader.readline() - def multiline_input(self, more_lines, ps1, ps2): + def multiline_input(self, more_lines, ps1, ps2, returns_unicode=False): """Read an input on possibly multiple lines, asking for more lines as long as 'more_lines(unicodetext)' returns an object whose boolean value is true. @@ -209,7 +209,7 @@ reader.more_lines = more_lines reader.ps1 = reader.ps2 = ps1 reader.ps3 = reader.ps4 = ps2 - return reader.readline() + return reader.readline(returns_unicode=returns_unicode) finally: reader.more_lines = saved diff --git a/pyrepl/simple_interact.py b/pyrepl/simple_interact.py --- a/pyrepl/simple_interact.py +++ b/pyrepl/simple_interact.py @@ -54,7 +54,8 @@ ps1 = getattr(sys, 'ps1', '>>> ') ps2 = getattr(sys, 'ps2', '... ') try: - statement = multiline_input(more_lines, ps1, ps2) + statement = multiline_input(more_lines, ps1, ps2, + returns_unicode=True) except EOFError: break more = console.push(statement) _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit