`print(3, end=' ')` isn't translated properly

Trent Mick avatarTrent Mick created an issue


Currently this

print(3, end=' ')

becomes this:

import sys
print 3,; sys.stdout.write(u' ')

but I'd expect this:

print 3,

Comments (4)

  1. Joe Amenta

    In http://pythontranslationparty.appspot.com/6004/, 2to3 is the one that gets it wrong. Writing an empty string to the output stream causes the trailing comma not to add a space, and 3to2 takes advantage of that to keep the print syntax relatively unchanged and just touch the immediate surroundings.

    As for http://pythontranslationparty.appspot.com/4334/ it looks like I forgot to account for unicode (or bytes) literal endings... fixed in r188

  2. Log in to comment
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.