mirror of
https://github.com/python/cpython.git
synced 2024-11-24 10:24:35 +08:00
8e5fd53be0
This fixes the symptom, but PRINT_ITEM has no way to know what (if anything) PyFile_WriteObject() writes unless the object being printed is a string. When the object isn't a string, this fix retains the guess that softspace should be set after PyFile_WriteObject(). We might want to say that it's the job of filelike-object write methods to leave the file's softspace in the correct state. That would probably be better -- but everyone relies on PRINT_ITEM to guess for them now.
15 lines
356 B
Python
15 lines
356 B
Python
import test_support
|
|
import StringIO
|
|
|
|
# SF bug 480215: softspace confused in nested print
|
|
f = StringIO.StringIO()
|
|
class C:
|
|
def __str__(self):
|
|
print >> f, 'a'
|
|
return 'b'
|
|
|
|
print >> f, C(), 'c ', 'd\t', 'e'
|
|
print >> f, 'f', 'g'
|
|
# In 2.2 & earlier, this printed ' a\nbc d\te\nf g\n'
|
|
test_support.vereq(f.getvalue(), 'a\nb c d\te\nf g\n')
|