STINNER Victor <vstin...@redhat.com> added the comment:
C locale coercion is just one parameter used to select the Python filesystem enconding. There are many others which are read later during Python initialization, and they are inter-dependent. https://github.com/python/cpython/blob/7f4ba4afd47f21f61de9035544809fc67d136f35/Include/coreconfig.h#L69 I don't see which problem you are trying to solve here. For me, PYTHONCOERCECLOCALE environment variable must be ignored when -I or -E is used, for security reasons and to get more deterministic behavior. So I am opposed to read/enable C locale coercion earlier. That's also why PYTHONMALLOC only change the memory allocator late in the Python initialisation, whereas it would be simpler to read/apply the option earlier. For the FreeBSD CURRENT bug, I recently modified Python to use ASCII if "force ASCII" mode is enabled. I made this change for... HP-UX! On FreeBSD, the filesystem encoding was already ASCII in practice (FreeBSD uses Latin1 but announes ASCII!?). I am not surprised to see bugs on specific configuration with special option (disable UTF-8 mode) :-) I am fixing Unicode bugs on weird cased before 3.0 and we are still not done! Recently I fixed a bug in localeconv() when LC_MONETARY uses a different encoding than LC_CTYPE... Such config sounds like a bad choice, but well, it "works" on Python2... ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue34589> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com