From 9a778b9b2e10942e19a5c9c6c7a7dde0ccb69f93 Mon Sep 17 00:00:00 2001 From: Alex Povel Date: Thu, 31 Aug 2023 20:26:43 +0200 Subject: [PATCH] fix: `ast.keyword` linked to `Lib/keyword` module 'Grammar-level *keyword*' != 'Function signature *keyword* argument' From https://devguide.python.org/documentation/markup/#roles : > Normally, names in these roles are searched first without any further > qualification, then with the current module name prepended, then with > the current module and class name (if any) prepended. If you prefix > the name with a dot, this order is reversed. So the global `keyword` module was found first; fix by forcing local search. --- Doc/library/ast.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Doc/library/ast.rst b/Doc/library/ast.rst index 2237a07eb9d8aa..8f5148feb809a3 100644 --- a/Doc/library/ast.rst +++ b/Doc/library/ast.rst @@ -585,7 +585,7 @@ Expressions :class:`Name` or :class:`Attribute` object. Of the arguments: * ``args`` holds a list of the arguments passed by position. - * ``keywords`` holds a list of :class:`keyword` objects representing + * ``keywords`` holds a list of :class:`.keyword` objects representing arguments passed by keyword. When creating a ``Call`` node, ``args`` and ``keywords`` are required, but @@ -2024,7 +2024,7 @@ Function and class definitions * ``name`` is a raw string for the class name * ``bases`` is a list of nodes for explicitly specified base classes. - * ``keywords`` is a list of :class:`keyword` nodes, principally for 'metaclass'. + * ``keywords`` is a list of :class:`.keyword` nodes, principally for 'metaclass'. Other keywords will be passed to the metaclass, as per `PEP-3115 `_. * ``body`` is a list of nodes representing the code within the class