mirror of
https://github.com/python/cpython.git
synced 2025-09-06 08:51:39 +00:00
bpo-43510: Implement PEP 597 opt-in EncodingWarning. (GH-19481)
See [PEP 597](https://www.python.org/dev/peps/pep-0597/). * Add `-X warn_default_encoding` and `PYTHONWARNDEFAULTENCODING`. * Add EncodingWarning * Add io.text_encoding() * open(), TextIOWrapper() emits EncodingWarning when encoding is omitted and warn_default_encoding is enabled. * _pyio.TextIOWrapper() uses UTF-8 as fallback default encoding used when failed to import locale module. (used during building Python) * bz2, configparser, gzip, lzma, pathlib, tempfile modules use io.text_encoding(). * What's new entry
This commit is contained in:
parent
261a452a13
commit
4827483f47
32 changed files with 366 additions and 18 deletions
|
@ -169,6 +169,7 @@ _PyPreCmdline_SetConfig(const _PyPreCmdline *cmdline, PyConfig *config)
|
|||
COPY_ATTR(isolated);
|
||||
COPY_ATTR(use_environment);
|
||||
COPY_ATTR(dev_mode);
|
||||
COPY_ATTR(warn_default_encoding);
|
||||
return _PyStatus_OK();
|
||||
|
||||
#undef COPY_ATTR
|
||||
|
@ -257,9 +258,17 @@ _PyPreCmdline_Read(_PyPreCmdline *cmdline, const PyPreConfig *preconfig)
|
|||
cmdline->dev_mode = 0;
|
||||
}
|
||||
|
||||
// warn_default_encoding
|
||||
if (_Py_get_xoption(&cmdline->xoptions, L"warn_default_encoding")
|
||||
|| _Py_GetEnv(cmdline->use_environment, "PYTHONWARNDEFAULTENCODING"))
|
||||
{
|
||||
cmdline->warn_default_encoding = 1;
|
||||
}
|
||||
|
||||
assert(cmdline->use_environment >= 0);
|
||||
assert(cmdline->isolated >= 0);
|
||||
assert(cmdline->dev_mode >= 0);
|
||||
assert(cmdline->warn_default_encoding >= 0);
|
||||
|
||||
return _PyStatus_OK();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue