Commit Graph

35 Commits

Author SHA1 Message Date
Nick Coghlan d5049e5369 PEP 538 implementation has been merged 2017-06-11 13:17:59 +10:00
Nick Coghlan 6541b4be47 Mark PEP 538 as Accepted 2017-05-28 16:53:44 +10:00
Nick Coghlan 12cecb0548 PEP 538: Only set LC_CTYPE, never LANG
It looks like setting LANG may have undesirable
side effects in some cases, and all the issues
the PEP aims to handle are resolved by setting
LC_CTYPE.

The proposal and implementation have thus been
updated to only set LC_CTYPE, even when the
target coercion locale is a full locale.
2017-05-27 17:08:32 +10:00
Nick Coghlan 4600ef2c98 PEP 538: Add latest python-dev post to history 2017-05-09 22:27:22 +10:00
Nick Coghlan 2f530ce0d1 PEP 538 updates for python-dev review
* Tidy up the abstract and emphasise the equivalence between
  this proposal and long supported configuration settings
* Don't set LC_ALL (set LC_CTYPE instead)
* Add a rationale for that change
* Use GNU readline misbehaviour as a specific example of the
  benefits of reconfiguring the locale
* Clarify rationale for enabling the changes by default on all
  autotools-using platforms
* Mention the possibility of exposing a public API for use by
  embedding platforms
2017-05-09 20:46:59 +10:00
Nick Coghlan 95bdb222e1 PEP 538: Reference implementation has been updated 2017-05-06 22:21:09 +10:00
Nick Coghlan 4067701b85 PEP 538: clarify sys.stderr error handler isn't changing
The previous wording suggested that all three standard streams
were affected by the proposed change to the default error handler.

Only stdin and stdout are affected - the default error handler for
stderr continues to be "backslashreplace"
2017-05-06 20:59:05 +10:00
Nick Coghlan 2fb53e7c1b PEP 538: Update for latest python-dev discussion
* default standard stream error handler is always "surrogateescape"
  for the potential coercion target locales
* PEP 540 is now a purely optional follow-on PEP that improves the
  handling of cases where none of these locales are available,
  but doesn't require revisiting the changes made for this PEP
* the locale coercion and warning behaviours are now enabled by
  default for all \*nix platforms, even Mac OS X
* covered the Android-specific changes to the use of `setlocale`
* state explicitly that we're aware this makes the behaviour
  of standalone CPython and embedded CPython diverge, we just think
  the potential benefits are sufficient to accept that downside
* note the reference implementation has yet to be updated with
  these changes
2017-05-06 17:06:40 +10:00
Nick Coghlan dc175c5902 PEP 538: Minor JVM/CLR related clarifications 2017-05-05 00:59:53 +10:00
Nick Coghlan c1642ea4a3 PEP 538: add missing underscore 2017-05-04 23:21:31 +10:00
INADA Naoki 1687cb26ac pep-538: fix some wrong backtick usage. (GH-251) 2017-05-04 23:20:13 +10:00
INADA Naoki a5d764f268 pep-0538: rephrase UTF-8 locale description (#249) 2017-05-01 16:26:50 +10:00
Nick Coghlan de15fb533c Update BDFL delegations for PEPs 538 & 540
- Barry stepping down due to lack of time
- Naoki Inada will handle both PEPs due to
  the significant overlap between them
2017-04-24 14:33:34 +10:00
Barry Warsaw 96a71d803b Fix a couple of typos. 2017-03-28 18:16:44 -04:00
Nick Coghlan 0789423c46 PEP 538: update based on implementation progress
- 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
2017-03-17 18:27:53 +10:00
Nick Coghlan 918d676de1 PEP 538: Update for status changes
- 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
2017-03-13 18:08:49 +10:00
Nick Coghlan bbb750f6ba PEP 538: switch to PR as main reference implementation 2017-03-13 16:13:28 +10:00
Nick Coghlan 144c024805 PEP 538: Note Mac OS X limitation on reference implementation 2017-03-13 16:03:31 +10:00
Nick Coghlan 48f355fc28 PEP 538: update for python-dev & implementation feedback
- 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
2017-03-13 15:06:48 +10:00
Nick Coghlan 4c46c57100 PEP 538: Add Barry as BDFL-Delegate 2017-03-10 12:13:53 +10:00
Nick Coghlan a06b7af8fd PEP 538: Fix title and add new post date 2017-03-05 17:35:19 +10:00
Nick Coghlan a20a56ceb5 PEP 538: Update reference implementation (#219)
- 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
2017-03-05 17:29:54 +10:00
Nick Coghlan 67346590a7 PEP 538: typo fixes 2017-02-06 15:02:06 +01:00
Nick Coghlan 03b6c20d26 PEP 538: Add missing words 2017-01-21 01:35:51 +11:00
Nick Coghlan 481573aa27 PEP 538: Update to depend on PEP 540
- 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
2017-01-21 01:13:24 +11:00
Nick Coghlan 1f1abb3b6a PEP 538: document core design principles
Also provides a bit more background on the rationale for
using "strict" by default on stdin and stdout when coercing
the locale to one based on UTF-8
2017-01-08 11:57:31 +10:00
Nick Coghlan e788aa9084 PEP 538: tweak wording of proposed warnings 2017-01-07 22:20:23 +10:00
Nick Coghlan c2aa424e28 PEP 538: clarify setlocale behaviour in POSIX locale 2017-01-07 22:14:20 +10:00
Nick Coghlan 858909a1d2 PEP 538: Add post history 2017-01-07 22:02:17 +10:00
Nick Coghlan 34d69bad02 PEP 538: cite all 3 common failure modes 2017-01-07 18:19:44 +10:00
Nick Coghlan 61a36c94e2 PEP 538: fix typo 2017-01-07 17:34:51 +10:00
Nick Coghlan 221099d876 PEP 538: update for PEP 540 & linux-sig feedback
- 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
2017-01-07 17:08:52 +10:00
Nick Coghlan 6f0928ebfd PEP 538: Clarify rationale for warning wording 2017-01-03 17:47:26 +10:00
Nick Coghlan c99c42e066 PEP 538: add Background section on locale handling 2017-01-03 15:19:37 +10:00
Nick Coghlan 74e5b553e5 PEP 538: coerce legacy C locale to C.UTF-8 2016-12-28 12:31:21 +10:00