Skip to content

Commit 843d8ed

Browse files
committed
Port 659f7a0b3256 from pypy.
1 parent 04a6042 commit 843d8ed

File tree

3 files changed

+7
-4
lines changed

3 files changed

+7
-4
lines changed

pyrepl/reader.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -576,7 +576,7 @@ def push_char(self, char):
576576
self.console.push_char(char)
577577
self.handle1(0)
578578

579-
def readline(self):
579+
def readline(self, returns_unicode=False):
580580
"""Read a line. The implementation of this method also shows
581581
how to drive Reader if you want more control over the event
582582
loop."""
@@ -585,6 +585,8 @@ def readline(self):
585585
self.refresh()
586586
while not self.finished:
587587
self.handle1()
588+
if returns_unicode:
589+
return self.get_unicode()
588590
return self.get_buffer()
589591
finally:
590592
self.restore()

pyrepl/readline.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ def raw_input(self, prompt=''):
198198
reader.ps1 = prompt
199199
return reader.readline()
200200

201-
def multiline_input(self, more_lines, ps1, ps2):
201+
def multiline_input(self, more_lines, ps1, ps2, returns_unicode=False):
202202
"""Read an input on possibly multiple lines, asking for more
203203
lines as long as 'more_lines(unicodetext)' returns an object whose
204204
boolean value is true.
@@ -209,7 +209,7 @@ def multiline_input(self, more_lines, ps1, ps2):
209209
reader.more_lines = more_lines
210210
reader.ps1 = reader.ps2 = ps1
211211
reader.ps3 = reader.ps4 = ps2
212-
return reader.readline()
212+
return reader.readline(returns_unicode=returns_unicode)
213213
finally:
214214
reader.more_lines = saved
215215

pyrepl/simple_interact.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ def more_lines(unicodetext):
5454
ps1 = getattr(sys, 'ps1', '>>> ')
5555
ps2 = getattr(sys, 'ps2', '... ')
5656
try:
57-
statement = multiline_input(more_lines, ps1, ps2)
57+
statement = multiline_input(more_lines, ps1, ps2,
58+
returns_unicode=True)
5859
except EOFError:
5960
break
6061
more = console.push(statement)

0 commit comments

Comments
 (0)