From 1d04d87e24f3e76e94a7e35d0005ad378a7d7822 Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Sat, 18 Oct 2025 13:55:26 +0300 Subject: [PATCH] gh-140241: Fix documentation for the registry parameter of warnings.warn_explicit() (GH-140242) (cherry picked from commit 78e1d65a4d656e783bc28a02e113f59e4323e41a) Co-authored-by: Serhiy Storchaka Co-authored-by: Petr Viktorin --- Doc/library/warnings.rst | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/Doc/library/warnings.rst b/Doc/library/warnings.rst index 71ce83c3f2ef3e..18c4f8977a87e0 100644 --- a/Doc/library/warnings.rst +++ b/Doc/library/warnings.rst @@ -469,14 +469,21 @@ Available Functions .. function:: warn_explicit(message, category, filename, lineno, module=None, registry=None, module_globals=None, source=None) This is a low-level interface to the functionality of :func:`warn`, passing in - explicitly the message, category, filename and line number, and optionally the - module name and the registry (which should be the ``__warningregistry__`` - dictionary of the module). The module name defaults to the filename with - ``.py`` stripped; if no registry is passed, the warning is never suppressed. + explicitly the message, category, filename and line number, and optionally + other arguments. *message* must be a string and *category* a subclass of :exc:`Warning` or *message* may be a :exc:`Warning` instance, in which case *category* will be ignored. + *module*, if supplied, should be the module name. + If no module is passed, the filename with ``.py`` stripped is used. + + *registry*, if supplied, should be the ``__warningregistry__`` dictionary + of the module. + If no registry is passed, each warning is treated as the first occurrence, + that is, filter actions ``"default"``, ``"module"`` and ``"once"`` are + handled as ``"always"``. + *module_globals*, if supplied, should be the global namespace in use by the code for which the warning is issued. (This argument is used to support displaying source for modules found in zipfiles or other non-filesystem import