From 2f350effd34e9bfb12313549f535fff398d2a186 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 006d45b1bc72a4..15b62a0653d73d 100644 --- a/Doc/library/warnings.rst +++ b/Doc/library/warnings.rst @@ -476,14 +476,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