Author: Armin Rigo <ar...@tunes.org>
Branch: 
Changeset: r48249:4519d98952d9
Date: 2011-10-19 23:57 +0200
http://bitbucket.org/pypy/pypy/changeset/4519d98952d9/

Log:    Fix also the case of '__raw_input__'. Harder to test :-/

diff --git a/pypy/module/__builtin__/app_io.py 
b/pypy/module/__builtin__/app_io.py
--- a/pypy/module/__builtin__/app_io.py
+++ b/pypy/module/__builtin__/app_io.py
@@ -27,6 +27,19 @@
     co = compile(source.rstrip()+"\n", filename, 'exec')
     exec co in glob, loc
 
+def _write_prompt(stdout, prompt):
+    print >> stdout, prompt,
+    try:
+        flush = stdout.flush
+    except AttributeError:
+        pass
+    else:
+        flush()
+    try:
+        stdout.softspace = 0
+    except (AttributeError, TypeError):
+        pass
+
 def raw_input(prompt=''):
     """raw_input([prompt]) -> string
 
@@ -47,21 +60,10 @@
     if (hasattr(sys, '__raw_input__') and
         isinstance(stdin, file)  and stdin.fileno() == 0 and stdin.isatty() and
         isinstance(stdout, file) and stdout.fileno() == 1):
-        if prompt is None:
-            prompt = ''
-        return sys.__raw_input__(prompt)
+        _write_prompt(stdout, '')
+        return sys.__raw_input__(str(prompt))
 
-    print >> stdout, prompt,
-    try:
-        flush = stdout.flush
-    except AttributeError:
-        pass
-    else:
-        flush()
-    try:
-        stdout.softspace = 0
-    except (AttributeError, TypeError):
-        pass
+    _write_prompt(stdout, prompt)
     line = stdin.readline()
     if not line:    # inputting an empty line gives line == '\n'
         raise EOFError
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to