mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 21:51:50 +00:00 
			
		
		
		
	 8e5fd53be0
			
		
	
	
		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.
		
			
				
	
	
		
			14 lines
		
	
	
	
		
			356 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			14 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')
 |