[pypy-commit] pyrepl default: Port 659f7a0b3256 from pypy.
arigo
noreply at buildbot.pypy.org
Tue Sep 6 06:27:19 CEST 2011
Author: Armin Rigo <arigo at 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)
More information about the pypy-commit
mailing list