[pypy-commit] pypy default: issue #1959: print(file=None) should print to sys.stdout.
arigo
noreply at buildbot.pypy.org
Sat Jan 10 22:58:10 CET 2015
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r75294:d0ccb94ead87
Date: 2015-01-10 22:58 +0100
http://bitbucket.org/pypy/pypy/changeset/d0ccb94ead87/
Log: issue #1959: print(file=None) should print to sys.stdout.
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
@@ -86,9 +86,9 @@
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
def write(data):
if not isinstance(data, basestring):
data = str(data)
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
@@ -651,9 +651,10 @@
out = sys.stdout = StringIO.StringIO()
try:
pr("Hello,", "person!")
+ pr("2nd line", file=None)
finally:
sys.stdout = save
- assert out.getvalue() == "Hello, person!\n"
+ assert out.getvalue() == "Hello, person!\n2nd line\n"
out = StringIO.StringIO()
pr("Hello,", "person!", file=out)
assert out.getvalue() == "Hello, person!\n"
@@ -668,7 +669,6 @@
result = out.getvalue()
assert isinstance(result, unicode)
assert result == u"Hello, person!\n"
- pr("Hello", file=None) # This works.
out = StringIO.StringIO()
pr(None, file=out)
assert out.getvalue() == "None\n"
More information about the pypy-commit
mailing list