Browse Source
bpo-34485: Emit C locale coercion warning later (GH-9002)
PYTHONCOERCELOCALE=warn warning is now emitted later and written into
sys.stderr, rather than being written into the C stderr stream.
pull/9005/head
Victor Stinner
8 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
7 additions and
8 deletions
-
Python/pylifecycle.c
|
|
|
@ -301,10 +301,8 @@ static const char *_C_LOCALE_WARNING = |
|
|
|
static void |
|
|
|
_emit_stderr_warning_for_legacy_locale(const _PyCoreConfig *core_config) |
|
|
|
{ |
|
|
|
if (core_config->coerce_c_locale_warn) { |
|
|
|
if (_Py_LegacyLocaleDetected()) { |
|
|
|
fprintf(stderr, "%s", _C_LOCALE_WARNING); |
|
|
|
} |
|
|
|
if (core_config->coerce_c_locale_warn && _Py_LegacyLocaleDetected()) { |
|
|
|
PySys_FormatStderr("%s", _C_LOCALE_WARNING); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -567,10 +565,6 @@ _Py_InitializeCore_impl(PyInterpreterState **interp_p, |
|
|
|
*/ |
|
|
|
_PyRuntime.finalizing = NULL; |
|
|
|
|
|
|
|
#ifndef MS_WINDOWS |
|
|
|
_emit_stderr_warning_for_legacy_locale(core_config); |
|
|
|
#endif |
|
|
|
|
|
|
|
err = _Py_HashRandomization_Init(core_config); |
|
|
|
if (_Py_INIT_FAILED(err)) { |
|
|
|
return err; |
|
|
|
@ -867,6 +861,11 @@ _Py_InitializeMainInterpreter(PyInterpreterState *interp, |
|
|
|
return err; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
#ifndef MS_WINDOWS |
|
|
|
_emit_stderr_warning_for_legacy_locale(core_config); |
|
|
|
#endif |
|
|
|
|
|
|
|
return _Py_INIT_OK(); |
|
|
|
} |
|
|
|
|
|
|
|
|