[Python-Dev] PEP 414 - Unicode Literals for Python 3 (original) (raw)
Terry Reedy tjreedy at udel.edu
Mon Feb 27 21:19:36 CET 2012
- Previous message: [Python-Dev] PEP 414 - Unicode Literals for Python 3
- Next message: [Python-Dev] PEP 414 - Unicode Literals for Python 3
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 2/27/2012 1:17 PM, Guido van Rossum wrote:
On Mon, Feb 27, 2012 at 10:01 AM, Chris McDonough<chrism at plope.com> wrote:
The best argument is that there already exists tons and tons of Python 2 code that already does:
u'that' +1
I just don't understand the pushback here at all. This is such a nobrainer. I agree. Just let's start deprecating it too, so that once Python 2.x compatibility is no longer relevant we can eventually stop supporting it (though that may have to wait until Python 4...). We need to send some sort of signal that this is a compatibility hack and that no new code should use it. Maybe a SilentDeprecationWarning?
One possibility: leave Ref Man 2.4.1. String and Bytes literals as is. Add ''' 2.4.1.1 Deprecated u prefix.
To aid people who want to update Python 2 code to also run under Python 3, string literals may optionally be prefixed with "u" or "U". For this purpose, but only for this purpose, the grammar actually reads
stringprefix ::= "r" | "R" | "ur" | "Ur" | "uR" | "UR"
Since "u" and "U" will go away again some year, they should only be used for such multi-version code and not in code only intended for Python 3. See PEP 414.
Version added: 3.3 '''
I think the PEP should have exaggerated statements removed, perhaps be shortened, explain how to patch code on installation for 3.1/2, and have something at the top pointing to that explanation.
-- Terry Jan Reedy
- Previous message: [Python-Dev] PEP 414 - Unicode Literals for Python 3
- Next message: [Python-Dev] PEP 414 - Unicode Literals for Python 3
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]