https://github.com/python/cpython/commit/f89323236f4669a5b66ed0e8b2f584cb0cb27232
commit: f89323236f4669a5b66ed0e8b2f584cb0cb27232
branch: 3.14
author: Miss Islington (bot) <31488909+miss-isling...@users.noreply.github.com>
committer: serhiy-storchaka <storch...@gmail.com>
date: 2025-05-16T20:56:24Z
summary:

[3.14] gh-134109: Fix showing comments in pydoc output for argparse (GH-134110) 
(GH-134112)

Comments immediately preceding the object's source code are used
if the object has no docstring.
Comments that do not describe the object should be separated from
the following source code by an empty line.
(cherry picked from commit 71cf4dd622832848cace358a7f8444243afd2e83)

Co-authored-by: Serhiy Storchaka <storch...@gmail.com>

files:
M Lib/argparse.py

diff --git a/Lib/argparse.py b/Lib/argparse.py
index f688c38d0d1ae5..d1a6350c3fda6d 100644
--- a/Lib/argparse.py
+++ b/Lib/argparse.py
@@ -205,6 +205,7 @@ def _set_color(self, color):
     # ===============================
     # Section and indentation methods
     # ===============================
+
     def _indent(self):
         self._current_indent += self._indent_increment
         self._level += 1
@@ -256,6 +257,7 @@ def _add_item(self, func, args):
     # ========================
     # Message building methods
     # ========================
+
     def start_section(self, heading):
         self._indent()
         section = self._Section(self, self._current_section, heading)
@@ -299,6 +301,7 @@ def add_arguments(self, actions):
     # =======================
     # Help-formatting methods
     # =======================
+
     def format_help(self):
         help = self._root_section.format_help()
         if help:
@@ -1467,6 +1470,7 @@ def __init__(self,
     # ====================
     # Registration methods
     # ====================
+
     def register(self, registry_name, value, object):
         registry = self._registries.setdefault(registry_name, {})
         registry[value] = object
@@ -1477,6 +1481,7 @@ def _registry_get(self, registry_name, value, 
default=None):
     # ==================================
     # Namespace default accessor methods
     # ==================================
+
     def set_defaults(self, **kwargs):
         self._defaults.update(kwargs)
 
@@ -1496,6 +1501,7 @@ def get_default(self, dest):
     # =======================
     # Adding argument actions
     # =======================
+
     def add_argument(self, *args, **kwargs):
         """
         add_argument(dest, ..., name=value, ...)
@@ -1921,6 +1927,7 @@ def identity(string):
     # =======================
     # Pretty __repr__ methods
     # =======================
+
     def _get_kwargs(self):
         names = [
             'prog',
@@ -1935,6 +1942,7 @@ def _get_kwargs(self):
     # ==================================
     # Optional/Positional adding methods
     # ==================================
+
     def add_subparsers(self, **kwargs):
         if self._subparsers is not None:
             raise ValueError('cannot have multiple subparser arguments')
@@ -1988,6 +1996,7 @@ def _get_positional_actions(self):
     # =====================================
     # Command line argument parsing methods
     # =====================================
+
     def parse_args(self, args=None, namespace=None):
         args, argv = self.parse_known_args(args, namespace)
         if argv:
@@ -2582,6 +2591,7 @@ def parse_known_intermixed_args(self, args=None, 
namespace=None):
     # ========================
     # Value conversion methods
     # ========================
+
     def _get_values(self, action, arg_strings):
         # optional argument produces a default when not present
         if not arg_strings and action.nargs == OPTIONAL:
@@ -2681,6 +2691,7 @@ def _check_value(self, action, value):
     # =======================
     # Help-formatting methods
     # =======================
+
     def format_usage(self):
         formatter = self._get_formatter()
         formatter.add_usage(self.usage, self._actions,
@@ -2718,6 +2729,7 @@ def _get_formatter(self):
     # =====================
     # Help-printing methods
     # =====================
+
     def print_usage(self, file=None):
         if file is None:
             file = _sys.stdout
@@ -2739,6 +2751,7 @@ def _print_message(self, message, file=None):
     # ===============
     # Exiting methods
     # ===============
+
     def exit(self, status=0, message=None):
         if message:
             self._print_message(message, _sys.stderr)

_______________________________________________
Python-checkins mailing list -- python-checkins@python.org
To unsubscribe send an email to python-checkins-le...@python.org
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: arch...@mail-archive.com

Reply via email to