On 15 June 2017 at 19:35, Nick Coghlan firstname.lastname@example.org wrote:
On 15 June 2017 at 00:40, Victor Stinner email@example.com wrote:
A recent example is Nick Coghlan's implementation of the PEP 538: basically, it broke all buildbots... except of Linux and Windows :-) And it will take a few more days to fix all failures. Well, we are working on fixing these issues, so I don't want to revert this change. It's just an example of a single change which broke many buildbots. The PEP 538 depends a lot on the platform, so I'm not surprised to see different failures per platforms ;-)
Status update on this specific change: Mac OS X should be back to green now  (with some anomalous cases being skipped )
I've just merged the change to turn off the locale coercion and compatibility warnings by default, which also included changes to:
break nl_langinfo on FreeBSD) 2. Temporarily skip testing behaviour in the POSIX locale (as it isn't a simple alias for the C locale on *BSD systems)
So from a buildbot fleet perspective, the PEP 538 fallout should now be contained, and the above two checks will only be restored after they're passing on the custom buildbot fleet (I'm pretty sure I know how to get them both working, but it will take some experimenting with the custom build branch to confirm that).
From a local Linux development perspective, "LANG=C python3.7 ..." is
now functionally equivalent to doing "LANG=C LC_CTYPE=C.UTF-8 python3.7 ..." - you have to add "PYTHONCOERCECLOCALE=warn" to see the warnings that were previously emitted by default.
P.S. For the benefit of future readers of PEP 538 itself, I also added an "Implementation Notes" section pointing out that we ended up *not* implementing the PEP as written, since it proved unworkable in practice.