bpo-38317: Fix PyConfig.warnoptions priority (GH-16478)

Fix warnings options priority: PyConfig.warnoptions has the highest
priority, as stated in the PEP 587.

* Document options order in PyConfig.warnoptions documentation.
* Make PyWideStringList_INIT macro private: replace "Py" prefix
  with "_Py".
* test_embed: add test_init_warnoptions().
This commit is contained in:
Victor Stinner 2019-09-30 01:40:17 +02:00 committed by GitHub
parent 58498bc717
commit fb4ae152a9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 185 additions and 51 deletions

View file

@ -2037,13 +2037,13 @@ _clear_preinit_entries(_Py_PreInitEntry *optionlist)
PyStatus
_PySys_ReadPreinitWarnOptions(PyConfig *config)
_PySys_ReadPreinitWarnOptions(PyWideStringList *options)
{
PyStatus status;
_Py_PreInitEntry entry;
for (entry = _preinit_warnoptions; entry != NULL; entry = entry->next) {
status = PyWideStringList_Append(&config->warnoptions, entry->value);
status = PyWideStringList_Append(options, entry->value);
if (_PyStatus_EXCEPTION(status)) {
return status;
}