Staging
v0.5.1
https://github.com/python/cpython
Revision dd613cf335d7556e20ef3dd01c3abc081b958449 authored by Miss Islington (bot) on 09 June 2018, 07:13:53 UTC, committed by GitHub on 09 June 2018, 07:13:53 UTC

While locale coercion and UTF-8 mode turned out to
be complementary ideas rather than competing ones,
it isn't immediately obvious why it's useful to
have both, or how they interact at runtime.

This updates both the Python 3.7 What's New doc
and the PYTHONCOERCECLOCALE and PYTHONUTF8
documentation in an attempt to clarify that
relationship:

- in the respective What's New sections, add a closing paragraph
  explaining which problem each one solves, and pointing to the
  other PEP's section for the specific aspects it relies on the other
  PEP to solve
- use "locale-aware mode" as a more descriptive term for the
  default non-UTF-8 mode
- improve wording conistenccy between the PYTHONCOERCECLOCALE
  and PYTHONUTF8 docs when they cover the same thing (mostly
  related to legacy locale detection and setting the standard
  stream error handler)
- improve the description of the locale coercion trigger conditions
  (including pointing out that setting LC_ALL turns off locale coercion)
- port the full description of the UTF-8 mode behaviour changes
  from PEP 540 into the PYTHONUTF8 documentation
- be explicit that PYTHONIOENCODING still overrides the settings
  for the standard streams
- mention concrete examples of things that do and don't get their
  text encoding assumptions adjusted by the two text encoding
  assumption override techniques
(cherry picked from commit 1bcb8a636857e3383d65aaf196f93edb949f2e79)

Co-authored-by: Nick Coghlan <ncoghlan@gmail.com>
1 parent 8016c2b
History
Tip revision: dd613cf335d7556e20ef3dd01c3abc081b958449 authored by Miss Islington (bot) on 09 June 2018, 07:13:53 UTC
bpo-33409: Clarify PEP 538/540 relationship (GH-7534)
Tip revision: dd613cf
File Mode Size
asyncio
collections
concurrent
ctypes
curses
dbm
distutils
email
encodings
ensurepip
html
http
idlelib
importlib
json
lib2to3
logging
msilib
multiprocessing
pydoc_data
site-packages
sqlite3
test
tkinter
turtledemo
unittest
urllib
venv
wsgiref
xml
xmlrpc
__future__.py -rw-r--r-- 5.0 KB
__phello__.foo.py -rw-r--r-- 64 bytes
_bootlocale.py -rw-r--r-- 1.8 KB
_collections_abc.py -rw-r--r-- 25.8 KB
_compat_pickle.py -rw-r--r-- 8.5 KB
_compression.py -rw-r--r-- 5.2 KB
_dummy_thread.py -rw-r--r-- 5.0 KB
_markupbase.py -rw-r--r-- 14.3 KB
_osx_support.py -rw-r--r-- 18.7 KB
_py_abc.py -rw-r--r-- 6.0 KB
_pydecimal.py -rw-r--r-- 223.2 KB
_pyio.py -rw-r--r-- 89.0 KB
_sitebuiltins.py -rw-r--r-- 3.0 KB
_strptime.py -rw-r--r-- 24.9 KB
_threading_local.py -rw-r--r-- 7.0 KB
_weakrefset.py -rw-r--r-- 5.5 KB
abc.py -rw-r--r-- 5.4 KB
aifc.py -rw-r--r-- 32.0 KB
antigravity.py -rw-r--r-- 476 bytes
argparse.py -rw-r--r-- 92.9 KB
ast.py -rw-r--r-- 12.3 KB
asynchat.py -rw-r--r-- 11.1 KB
asyncore.py -rw-r--r-- 19.6 KB
base64.py -rwxr-xr-x 20.0 KB
bdb.py -rw-r--r-- 30.8 KB
binhex.py -rw-r--r-- 13.6 KB
bisect.py -rw-r--r-- 2.5 KB
bz2.py -rw-r--r-- 12.1 KB
cProfile.py -rwxr-xr-x 5.6 KB
calendar.py -rw-r--r-- 24.2 KB
cgi.py -rwxr-xr-x 33.0 KB
cgitb.py -rw-r--r-- 11.7 KB
chunk.py -rw-r--r-- 5.3 KB
cmd.py -rw-r--r-- 14.5 KB
code.py -rw-r--r-- 10.4 KB
codecs.py -rw-r--r-- 35.4 KB
codeop.py -rw-r--r-- 5.9 KB
colorsys.py -rw-r--r-- 4.0 KB
compileall.py -rw-r--r-- 13.0 KB
configparser.py -rw-r--r-- 53.0 KB
contextlib.py -rw-r--r-- 23.2 KB
contextvars.py -rw-r--r-- 129 bytes
copy.py -rw-r--r-- 8.6 KB
copyreg.py -rw-r--r-- 6.9 KB
crypt.py -rw-r--r-- 3.3 KB
csv.py -rw-r--r-- 15.8 KB
dataclasses.py -rw-r--r-- 44.4 KB
datetime.py -rw-r--r-- 82.4 KB
decimal.py -rw-r--r-- 320 bytes
difflib.py -rw-r--r-- 82.4 KB
dis.py -rw-r--r-- 19.4 KB
doctest.py -rw-r--r-- 102.0 KB
dummy_threading.py -rw-r--r-- 2.7 KB
enum.py -rw-r--r-- 33.8 KB
filecmp.py -rw-r--r-- 9.6 KB
fileinput.py -rw-r--r-- 14.2 KB
fnmatch.py -rw-r--r-- 4.0 KB
formatter.py -rw-r--r-- 14.8 KB
fractions.py -rw-r--r-- 23.1 KB
ftplib.py -rw-r--r-- 34.4 KB
functools.py -rw-r--r-- 31.4 KB
genericpath.py -rw-r--r-- 4.6 KB
getopt.py -rw-r--r-- 7.3 KB
getpass.py -rw-r--r-- 5.9 KB
gettext.py -rw-r--r-- 21.5 KB
glob.py -rw-r--r-- 5.5 KB
gzip.py -rw-r--r-- 19.9 KB
hashlib.py -rw-r--r-- 9.3 KB
heapq.py -rw-r--r-- 22.5 KB
hmac.py -rw-r--r-- 6.4 KB
imaplib.py -rw-r--r-- 51.8 KB
imghdr.py -rw-r--r-- 3.7 KB
imp.py -rw-r--r-- 10.4 KB
inspect.py -rw-r--r-- 114.1 KB
io.py -rw-r--r-- 3.4 KB
ipaddress.py -rw-r--r-- 73.3 KB
keyword.py -rwxr-xr-x 2.2 KB
linecache.py -rw-r--r-- 5.2 KB
locale.py -rw-r--r-- 76.2 KB
lzma.py -rw-r--r-- 12.7 KB
macpath.py -rw-r--r-- 6.0 KB
mailbox.py -rw-r--r-- 76.8 KB
mailcap.py -rw-r--r-- 7.9 KB
mimetypes.py -rw-r--r-- 20.3 KB
modulefinder.py -rw-r--r-- 22.5 KB
netrc.py -rw-r--r-- 5.4 KB
nntplib.py -rw-r--r-- 42.1 KB
ntpath.py -rw-r--r-- 21.9 KB
nturl2path.py -rw-r--r-- 2.5 KB
numbers.py -rw-r--r-- 10.0 KB
opcode.py -rw-r--r-- 5.7 KB
operator.py -rw-r--r-- 10.6 KB
optparse.py -rw-r--r-- 59.0 KB
os.py -rw-r--r-- 36.9 KB
pathlib.py -rw-r--r-- 47.7 KB
pdb.py -rwxr-xr-x 60.9 KB
pickle.py -rw-r--r-- 56.5 KB
pickletools.py -rw-r--r-- 89.1 KB
pipes.py -rw-r--r-- 8.7 KB
pkgutil.py -rw-r--r-- 21.0 KB
platform.py -rwxr-xr-x 44.9 KB
plistlib.py -rw-r--r-- 29.2 KB
poplib.py -rw-r--r-- 14.6 KB
posixpath.py -rw-r--r-- 15.1 KB
pprint.py -rw-r--r-- 20.4 KB
profile.py -rwxr-xr-x 21.5 KB
pstats.py -rw-r--r-- 26.7 KB
pty.py -rw-r--r-- 4.7 KB
py_compile.py -rw-r--r-- 7.7 KB
pyclbr.py -rw-r--r-- 14.8 KB
pydoc.py -rw-r--r-- 104.3 KB
queue.py -rw-r--r-- 11.1 KB
quopri.py -rwxr-xr-x 7.1 KB
random.py -rw-r--r-- 26.8 KB
re.py -rw-r--r-- 14.8 KB
reprlib.py -rw-r--r-- 5.1 KB
rlcompleter.py -rw-r--r-- 6.9 KB
runpy.py -rw-r--r-- 11.7 KB
sched.py -rw-r--r-- 6.3 KB
secrets.py -rw-r--r-- 2.0 KB
selectors.py -rw-r--r-- 18.1 KB
shelve.py -rw-r--r-- 8.3 KB
shlex.py -rw-r--r-- 12.7 KB
shutil.py -rw-r--r-- 40.1 KB
signal.py -rw-r--r-- 2.1 KB
site.py -rw-r--r-- 20.5 KB
smtpd.py -rwxr-xr-x 33.9 KB
smtplib.py -rwxr-xr-x 43.1 KB
sndhdr.py -rw-r--r-- 6.9 KB
socket.py -rw-r--r-- 26.7 KB
socketserver.py -rw-r--r-- 26.1 KB
sre_compile.py -rw-r--r-- 26.2 KB
sre_constants.py -rw-r--r-- 7.0 KB
sre_parse.py -rw-r--r-- 38.4 KB
ssl.py -rw-r--r-- 44.0 KB
stat.py -rw-r--r-- 4.9 KB
statistics.py -rw-r--r-- 20.2 KB
string.py -rw-r--r-- 11.3 KB
stringprep.py -rw-r--r-- 12.6 KB
struct.py -rw-r--r-- 257 bytes
subprocess.py -rw-r--r-- 67.5 KB
sunau.py -rw-r--r-- 17.9 KB
symbol.py -rwxr-xr-x 2.1 KB
symtable.py -rw-r--r-- 7.1 KB
sysconfig.py -rw-r--r-- 23.6 KB
tabnanny.py -rwxr-xr-x 11.1 KB
tarfile.py -rwxr-xr-x 90.4 KB
telnetlib.py -rw-r--r-- 22.6 KB
tempfile.py -rw-r--r-- 26.1 KB
textwrap.py -rw-r--r-- 19.0 KB
this.py -rw-r--r-- 1003 bytes
threading.py -rw-r--r-- 46.7 KB
timeit.py -rwxr-xr-x 13.1 KB
token.py -rw-r--r-- 3.7 KB
tokenize.py -rw-r--r-- 25.9 KB
trace.py -rwxr-xr-x 27.9 KB
traceback.py -rw-r--r-- 22.6 KB
tracemalloc.py -rw-r--r-- 16.7 KB
tty.py -rw-r--r-- 879 bytes
turtle.py -rw-r--r-- 140.2 KB
types.py -rw-r--r-- 9.7 KB
typing.py -rw-r--r-- 53.3 KB
uu.py -rwxr-xr-x 6.7 KB
uuid.py -rw-r--r-- 28.1 KB
warnings.py -rw-r--r-- 19.3 KB
wave.py -rw-r--r-- 17.8 KB
weakref.py -rw-r--r-- 20.0 KB
webbrowser.py -rwxr-xr-x 22.6 KB
xdrlib.py -rw-r--r-- 5.8 KB
zipapp.py -rw-r--r-- 7.4 KB
zipfile.py -rw-r--r-- 77.9 KB

back to top