[Python-Dev] Community buildbots (original) (raw)

glyph at divmod.com glyph at divmod.com
Sat Jul 15 20:37:34 CEST 2006


On Sat, 15 Jul 2006 14:35:08 +1000, Nick Coghlan <ncoghlan at gmail.com> wrote:

glyph at divmod.com wrote:

A future import would allow these behaviors to be upgraded module-by- module. No it wouldn't.

Yes it would! :)

future works solely on the semantics of different pieces of syntax, because any syntax changes are purely local to the current module. ... Changing all the literals in a module to be unicode instances instead of str instances is merely scratching the surface of the problem - such a module would still cause severe problems for any non-Unicode aware applications that expected it to return strings.

A module with the given future import could be written to expect that literals are unicode instances instead of str, and encode them appropriately when passing to modules that expect str. This doesn't solve the problem, but unlike -U, you can make fixes which will work persistently without having to treat the type of every string literal as unknown.

The obvious way to write code that works under -U and still works in normal Python is to .encode('charmap') every value intended to be an octet, and put 'u' in front of every string intended to be unicode. That would seem to defeat the purpose of changing the default literal type.



More information about the Python-Dev mailing list