mirror of
https://github.com/python/cpython.git
synced 2026-04-22 11:50:50 +00:00
bpo-34485: Fix _Py_InitializeCore() for C locale coercion (GH-8979) (GH-8981)
* _Py_InitializeCore() now sets the LC_CTYPE locale to the user
preferred locale before checking if the C locale should be coerced
or not in _PyCoreConfig_Read().
* Fix pymain_read_conf(): remember if the C locale has been coerced
when the configuration should be read again if the encoding has
changed.
(cherry picked from commit 2c8ddcf4f1)
This commit is contained in:
parent
65ef7425a3
commit
98c49c6ab2
2 changed files with 19 additions and 13 deletions
|
|
@ -672,10 +672,6 @@ _Py_InitializeCore_impl(PyInterpreterState **interp_p,
|
|||
_PyRuntime.finalizing = NULL;
|
||||
|
||||
#ifndef MS_WINDOWS
|
||||
/* Set up the LC_CTYPE locale, so we can obtain
|
||||
the locale's charset without having to switch
|
||||
locales. */
|
||||
_Py_SetLocaleFromEnv(LC_CTYPE);
|
||||
_emit_stderr_warning_for_legacy_locale(core_config);
|
||||
#endif
|
||||
|
||||
|
|
@ -829,6 +825,12 @@ _Py_InitializeCore(PyInterpreterState **interp_p,
|
|||
(and the input configuration is read only). */
|
||||
_PyCoreConfig config = _PyCoreConfig_INIT;
|
||||
|
||||
#ifndef MS_WINDOWS
|
||||
/* Set up the LC_CTYPE locale, so we can obtain the locale's charset
|
||||
without having to switch locales. */
|
||||
_Py_SetLocaleFromEnv(LC_CTYPE);
|
||||
#endif
|
||||
|
||||
_PyMem_SetDefaultAllocator(PYMEM_DOMAIN_RAW, &old_alloc);
|
||||
if (_PyCoreConfig_Copy(&config, src_config) >= 0) {
|
||||
err = _PyCoreConfig_Read(&config);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue