[pypy-commit] pypy py3k: fix print with file=None

pjenvey noreply at buildbot.pypy.org
Wed Jan 23 03:34:14 CET 2013


Author: Philip Jenvey <pjenvey at underboss.org>
Branch: py3k
Changeset: r60361:ebff654ad84e
Date: 2013-01-22 18:31 -0800
http://bitbucket.org/pypy/pypy/changeset/ebff654ad84e/

Log:	fix print with file=None

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
@@ -53,9 +53,11 @@
 
 def print_(*args, **kwargs):
     """The new-style print function from py3k."""
-    fp = kwargs.pop("file", sys.stdout)
+    fp = kwargs.pop("file", None)
     if fp is None:
-        return
+        fp = sys.stdout
+        if fp is None:
+            return
     def write(data):
         fp.write(str(data))
     sep = kwargs.pop("sep", None)
diff --git a/pypy/module/__builtin__/test/test_builtin.py b/pypy/module/__builtin__/test/test_builtin.py
--- a/pypy/module/__builtin__/test/test_builtin.py
+++ b/pypy/module/__builtin__/test/test_builtin.py
@@ -623,6 +623,12 @@
         out = io.StringIO()
         pr(None, file=out)
         assert out.getvalue() == "None\n"
+        out = sys.stdout = io.StringIO()
+        try:
+            pr("amaury", file=None)
+        finally:
+            sys.stdout = save
+        assert out.getvalue() == "amaury\n"
 
     def test_print_function2(self):
         import builtins


More information about the pypy-commit mailing list