bpo-34589: C locale coercion off by default (GH-9073)

Py_Initialize() and Py_Main() cannot enable the C locale coercion
(PEP 538) anymore: it is always disabled. It can now only be enabled
by the Python program ("python3).

test_embed: get_filesystem_encoding() doesn't have to set PYTHONUTF8
nor PYTHONCOERCECLOCALE, these variables are already set in the
parent.
This commit is contained in:
Victor Stinner 2018-09-17 16:22:29 -07:00 • committed by GitHub
parent 1fa2ec49be
commit 7a0791b699
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 49 additions and 16 deletions

View file

@ -482,8 +482,6 @@ static int test_init_from_config(void)
putenv("PYTHONMALLOCSTATS=0");
config.malloc_stats = 1;
/* FIXME: test _coerce_c_locale and _coerce_c_locale_warn */
putenv("PYTHONUTF8=0");
Py_UTF8Mode = 0;
config.utf8_mode = 1;
@ -606,8 +604,7 @@ static int test_init_isolated(void)
/* Test _PyCoreConfig.isolated=1 */
_PyCoreConfig config = _PyCoreConfig_INIT;
/* Set _coerce_c_locale and utf8_mode to not depend on the locale */
config._coerce_c_locale = 0;
/* Set utf8_mode to not depend on the locale */
config.utf8_mode = 0;
/* Use path starting with "./" avoids a search along the PATH */
config.program_name = L"./_testembed";

View file

@ -6,7 +6,7 @@
int
wmain(int argc, wchar_t **argv)
{
return Py_Main(argc, argv);
return _Py_WindowsMain(argc, argv);
}
#else
int