On 3/19/2016 2:37 PM, Serhiy Storchaka wrote: > On 19.03.16 19:36, Glenn Linderman wrote: >> On 3/19/2016 8:19 AM, Serhiy Storchaka wrote: >>> On 16.03.16 08:03, Serhiy Storchaka wrote: >>> I just tested with Emacs, and it looks that when specify different >>> codings on two different lines, the first coding wins, but when >>> specify different codings on the same line, the last coding wins. >>> >>> Therefore current CPython behavior can be correct, and the regular >>> expression in PEP 263 should be changed to use greedy repetition. >> >> Just because emacs works that way (and even though I'm an emacs user), >> that doesn't mean CPython should act like emacs. > > Yes. But current CPython works that way. The behavior of Emacs is the > argument that maybe this is not a bug. If CPython properly handles the following line as having only one proper coding declaration (utf-8), then I might reluctantly agree that the behavior of Emacs might be a relevant argument. Otherwise, vehemently not relevant. # -*- coding: utf-8 -*- this file does not use coding: latin-1 > >> (4) there is no benefit to specifying the coding twice on a line, it >> only adds confusion, whether in CPython, emacs, or vim. >> (4a) Here's an untested line that emacs would interpret as utf-8, and >> CPython with the greedy regulare expression would interpret as latin-1, >> because emacs looks only between the -*- pair, and CPython ignores that. >> # -*- coding: utf-8 -*- this file does not use coding: latin-1 > > Since Emacs allows to specify the coding twice on a line, and this can > be ambiguous, and CPython already detects some ambiguous situations > (UTF-8 BOM and non-UTF-8 coding cookie), it may be worth to add a > check that the coding is specified only once on a line. Diagnosing ambiguous conditions, even including my example above, might be useful... for a few files... is it worth the effort? What % of .py sources have coding specifications? What % of those have two? -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20160319/d3b5d74d/attachment-0001.html>
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4