]> granicus.if.org Git - python/commit
bpo-33409: Clarify PEP 538/540 relationship (GH-7534)
authorNick Coghlan <ncoghlan@gmail.com>
Sat, 9 Jun 2018 06:54:08 +0000 (16:54 +1000)
committerGitHub <noreply@github.com>
Sat, 9 Jun 2018 06:54:08 +0000 (16:54 +1000)
commit1bcb8a636857e3383d65aaf196f93edb949f2e79
treeeab246936f3762798c97009417d676133951c3cb
parent4acc140f8d2c905197362d0ffec545a412ab32a7
bpo-33409: Clarify PEP 538/540 relationship (GH-7534)

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
Doc/using/cmdline.rst
Doc/whatsnew/3.7.rst
Misc/NEWS.d/next/Documentation/2018-06-08-23-46-01.bpo-33409.r4z9MM.rst [new file with mode: 0644]