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().
diff --git a/Doc/c-api/init_config.rst b/Doc/c-api/init_config.rst
index 58e4174..4c77d5d 100644
--- a/Doc/c-api/init_config.rst
+++ b/Doc/c-api/init_config.rst
@@ -704,7 +704,13 @@
.. c:member:: PyWideStringList warnoptions
- Options of the :mod:`warnings` module to build warnings filters.
+ :data:`sys.warnoptions`: options of the :mod:`warnings` module to build
+ warnings filters: lowest to highest priority.
+
+ The :mod:`warnings` module adds :data:`sys.warnoptions` in the reverse
+ order: the last :c:member:`PyConfig.warnoptions` item becomes the first
+ item of :data:`warnings.filters` which is checked first (highest
+ priority).
.. c:member:: int write_bytecode