- using PYTHONIOENCODING poses a compatibility problem for
Python 2 subprocesses, so use Py_SetStandardStreamEncoding
instead
- note that components checking for "no output on stderr
means success" will either need to avoid the warning or
switch to checking return codes instead
- Docker, Inc. ends with a full stop, not a comma (noted by
Jan Pokorný)
- explicitly acknowledge Charalampos Stratakis's work on the
Fedora 26 backport
- reference implementation should align with the PEP now, aside from
excluding Mac OS X from the changes
- Fedora's initial 3.6 release is going to be 3.6.1, so reword the
backport section accordingly
- PYTHONCOERCECLOCALE=0 now also disables the library warning
- PEP just refers to locale-aware/locale-independent components,
without specifically limiting that to C/C++ components
- updates reference implementation to use PYTHONCOERCECLOCALE
- removes hard dependency on PEP 540
- still notes PEP 540 covers case where no relevant C-with-UTF-8
locale is available
- clarifies that these settings are still recommended over the
legacy C locale settings for older Python 3 versions, even if
we don't recommend backporting the automatic coercion
- relies entirely on PEP 540 when no appropriate locale
is available
- uses surrogateescape on standard streams by default
- accounts for BSD-style UTF-8 locales
- avoids any reliance on the en_US-UTF-8 locale
- makes note of related GNU readline issue on Android
- PYTHONALLOWCLOCALE=1 -> PYTHONCOERCECLOCALE=0
- reword the proposed library warning
- try all of C.UTF-8, c.utf8 and en_US.UTF-8
- compare and contrast with PEP 540
- new Motivation section showing specific Docker problems
- discuss implications of "strict" error handling
- define configure options to turn the new behaviour off