https://github.com/python/cpython/commit/f74dbc82fe41d445a7df88e9331c8607bfef546d
commit: f74dbc82fe41d445a7df88e9331c8607bfef546d
branch: 3.13
author: sobolevn <[email protected]>
committer: sobolevn <[email protected]>
date: 2026-06-24T22:05:05Z
summary:

[3.13] gh-105895: Add `match` and `case` doc to `help()` (GH-152113) (#152128)

(cherry picked from commit 1d55b3778c1c31549c5f914fcc451db4a3dcc501)

Co-authored-by: dzherb <[email protected]>
Co-authored-by: Stan Ulbrych <[email protected]>

files:
A Misc/NEWS.d/next/Library/2026-06-24-22-16-35.gh-issue-105895.hRkuEw.rst
M Doc/tools/extensions/pydoc_topics.py
M Lib/pydoc.py
M Lib/test/test_pydoc/test_pydoc.py

diff --git a/Doc/tools/extensions/pydoc_topics.py 
b/Doc/tools/extensions/pydoc_topics.py
index a65d77433b255bc..84c29f9e782af19 100644
--- a/Doc/tools/extensions/pydoc_topics.py
+++ b/Doc/tools/extensions/pydoc_topics.py
@@ -69,6 +69,7 @@
     "integers",
     "lambda",
     "lists",
+    "match",
     "naming",
     "nonlocal",
     "numbers",
diff --git a/Lib/pydoc.py b/Lib/pydoc.py
index d5b56f7ee08739e..18b37477060ad13 100755
--- a/Lib/pydoc.py
+++ b/Lib/pydoc.py
@@ -1832,6 +1832,7 @@ class Helper:
         'async': ('async', ''),
         'await': ('await', ''),
         'break': ('break', 'while for'),
+        'case': 'match',
         'class': ('class', 'CLASSES SPECIALMETHODS'),
         'continue': ('continue', 'while for'),
         'def': ('function', ''),
@@ -1843,11 +1844,12 @@ class Helper:
         'for': ('for', 'break continue while'),
         'from': 'import',
         'global': ('global', 'nonlocal NAMESPACES'),
-        'if': ('if', 'TRUTHVALUE'),
+        'if': ('if', 'TRUTHVALUE match'),
         'import': ('import', 'MODULES'),
         'in': ('in', 'SEQUENCEMETHODS'),
         'is': 'COMPARISON',
         'lambda': ('lambda', 'FUNCTIONS'),
+        'match': ('match', 'if'),
         'nonlocal': ('nonlocal', 'global NAMESPACES'),
         'not': 'BOOLEAN',
         'or': 'BOOLEAN',
diff --git a/Lib/test/test_pydoc/test_pydoc.py 
b/Lib/test/test_pydoc/test_pydoc.py
index 581d2d15eb7f9af..a6feb4497a47acc 100644
--- a/Lib/test/test_pydoc/test_pydoc.py
+++ b/Lib/test/test_pydoc/test_pydoc.py
@@ -2198,7 +2198,7 @@ def mock_getline(prompt):
 
     def test_keywords(self):
         self.assertEqual(sorted(pydoc.Helper.keywords),
-                         sorted(keyword.kwlist))
+                         sorted(keyword.kwlist + ['case', 'match']))
 
     def test_interact_empty_line_continues(self):
         # gh-138568: test pressing Enter without input should continue in help 
session
diff --git 
a/Misc/NEWS.d/next/Library/2026-06-24-22-16-35.gh-issue-105895.hRkuEw.rst 
b/Misc/NEWS.d/next/Library/2026-06-24-22-16-35.gh-issue-105895.hRkuEw.rst
new file mode 100644
index 000000000000000..c69e6fa7d14f4dc
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2026-06-24-22-16-35.gh-issue-105895.hRkuEw.rst
@@ -0,0 +1,2 @@
+Add :keyword:`match` and :keyword:`case` to the list of supported topics by
+:func:`help`.

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to