Should stdlib files contain 'narrow non breaking space' U+202F?

Chris Angelico rosuav at gmail.com
Thu Dec 17 18:18:56 EST 2015


On Fri, Dec 18, 2015 at 10:05 AM, Mark Lawrence <breamoreboy at yahoo.co.uk> wrote:
> The culprit character is hidden between "Issue #" and "20540" at line 400 of
> C:\Python35\Lib\multiprocessing\connection.py.
> https://bugs.python.org/issue20540 and
> https://hg.python.org/cpython/rev/125c24f47f3c refers.
>
> I'm asking as I've just spent 30 minutes tracking down why my debug code
> would bomb when running on 3.5, but not 2.7 or 3.2 through 3.4.

I'm curious as to why this character should bomb your code at all -
it's in a comment. Is it that your program was expecting ASCII, or is
it something about that particular character?

Here's a quick listing of the CPython standard library files that aren't ASCII:

rosuav at sikorsky:~/cpython/Lib$ find -name \*.py -not -wholename
\*test\* -exec file {} \;|grep UTF-8
./encodings/punycode.py: Python script, UTF-8 Unicode text executable
./encodings/koi8_t.py: Python script, UTF-8 Unicode text executable
./msilib/__init__.py: Python script, UTF-8 Unicode text executable
./shlex.py: Python script, UTF-8 Unicode text executable
./http/client.py: Python script, UTF-8 Unicode text executable
./distutils/command/bdist_msi.py: Python script, UTF-8 Unicode text executable
./multiprocessing/connection.py: Python script, UTF-8 Unicode text executable
./functools.py: Python script, UTF-8 Unicode text executable
./heapq.py: Python script, UTF-8 Unicode text executable
./email/message.py: Python script, UTF-8 Unicode text executable
./getopt.py: Python script, UTF-8 Unicode text executable
./urllib/request.py: Python script, UTF-8 Unicode text executable
./sre_compile.py: Python script, UTF-8 Unicode text executable
./sqlite3/dbapi2.py: Python script, UTF-8 Unicode text executable
./sqlite3/__init__.py: Python script, UTF-8 Unicode text executable

Does your program bomb on any of these?

ChrisA



More information about the Python-list mailing list