[Python-Dev] What does a double coding cookie mean? (original) (raw)
M.-A. Lemburg mal at egenix.com
Thu Mar 17 09:14:33 EDT 2016
- Previous message (by thread): [Python-Dev] What does a double coding cookie mean?
- Next message (by thread): [Python-Dev] What does a double coding cookie mean?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 17.03.2016 01:29, Guido van Rossum wrote:
I've updated the PEP. Please review. I decided not to update the Unicode howto (the thing is too obscure). Serhiy, you're probably in a better position to fix the code looking for cookies to pick the first one if there are two on the same line (or do whatever you think should be done there).
Thanks, will do.
Should we recommend that everyone use tokenize.detectencoding()?
I'd prefer a separate utility for this somewhere, since tokenize.detect_encoding() is not available in Python 2.
I've attached an example implementation with tests, which works in Python 2.7 and 3.
On Wed, Mar 16, 2016 at 5:05 PM, Guido van Rossum <guido at python.org> wrote:
On Wed, Mar 16, 2016 at 12:59 AM, M.-A. Lemburg <mal at egenix.com> wrote:
The only reason to read up to two lines was to address the use of the shebang on Unix, not to be able to define two competing source code encodings :-)
I know. I was just surprised that the PEP was sufficiently vague about it that when I found that mypy picked the second if there were two, I couldn't prove to myself that it was violating the PEP. I'd rather clarify the PEP than rely on the reasoning presented earlier here.
I suppose it's a rather rare case, since it's the first time that I heard about anyone thinking that a possible second line could be picked - after 15 years :-)
I don't like erroring out when there are two different cookies on two lines; I feel that the spirit of the PEP is to read up to two lines until a cookie is found, whichever comes first. >> I will update the regex in the PEP too (or change the wording to avoid "match"). >> I'm not sure what to do if there are two cooking on one line. If CPython currently picks the latter we may want to preserve that behavior. >> Should we recommend that everyone use tokenize.detectencoding()? >> -- --Guido van Rossum (python.org/~guido) >
Marc-Andre Lemburg eGenix.com
Professional Python Services directly from the Experts (#1, Mar 17 2016)
Python Projects, Coaching and Consulting ... http://www.egenix.com/ Python Database Interfaces ... http://products.egenix.com/ Plone/Zope Database Interfaces ... http://zope.egenix.com/
2016-03-07: Released eGenix pyOpenSSL 0.13.14 ... http://egenix.com/go89 2016-02-19: Released eGenix PyRun 2.1.2 ... http://egenix.com/go88
::: We implement business ideas - efficiently in both time and costs :::
eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48 D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg Registered at Amtsgericht Duesseldorf: HRB 46611 http://www.egenix.com/company/contact/ http://www.malemburg.com/
-------------- next part -------------- A non-text attachment was scrubbed... Name: detect_source_encoding.py Type: text/x-python Size: 2159 bytes Desc: not available URL: <http://mail.python.org/pipermail/python-dev/attachments/20160317/831ecdd6/attachment.py>
- Previous message (by thread): [Python-Dev] What does a double coding cookie mean?
- Next message (by thread): [Python-Dev] What does a double coding cookie mean?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]