https://github.com/python/cpython/commit/1612dcbafe763014deefd679fe75ac5831a14a43
commit: 1612dcbafe763014deefd679fe75ac5831a14a43
branch: main
author: Serhiy Storchaka <storch...@gmail.com>
committer: serhiy-storchaka <storch...@gmail.com>
date: 2025-08-03T19:41:12+03:00
summary:

gh-137341: Remove more word duplications (GH-137342)

files:
M Doc/c-api/object.rst
M Doc/library/urllib.request.rst
M Doc/whatsnew/3.15.rst
M Lib/asyncio/base_events.py
M Lib/test/libregrtest/utils.py
M Lib/test/support/__init__.py

diff --git a/Doc/c-api/object.rst b/Doc/c-api/object.rst
index 55f0d0f9fb7ff8..78599e704b1317 100644
--- a/Doc/c-api/object.rst
+++ b/Doc/c-api/object.rst
@@ -197,7 +197,7 @@ Object Protocol
    in favour of using :c:func:`PyObject_DelAttr`, but there are currently no
    plans to remove it.
 
-   The function must not be called with ``NULL`` *v* and an an exception set.
+   The function must not be called with a ``NULL`` *v* and an exception set.
    This case can arise from forgetting ``NULL`` checks and would delete the
    attribute.
 
@@ -214,7 +214,7 @@ Object Protocol
    If *v* is ``NULL``, the attribute is deleted, but this feature is
    deprecated in favour of using :c:func:`PyObject_DelAttrString`.
 
-   The function must not be called with ``NULL`` *v* and an an exception set.
+   The function must not be called with a ``NULL`` *v* and an exception set.
    This case can arise from forgetting ``NULL`` checks and would delete the
    attribute.
 
diff --git a/Doc/library/urllib.request.rst b/Doc/library/urllib.request.rst
index e514b98fc5d553..5f796578eaa64e 100644
--- a/Doc/library/urllib.request.rst
+++ b/Doc/library/urllib.request.rst
@@ -837,7 +837,7 @@ The following attribute and methods should only be used by 
classes derived from
    1. a :class:`Request` object,
    #. a file-like object with the HTTP error body,
    #. the three-digit code of the error, as a string,
-   #. the user-visible explanation of the code, as as string, and
+   #. the user-visible explanation of the code, as a string, and
    #. the headers of the error, as a mapping object.
 
    Return values and exceptions raised should be the same as those of
diff --git a/Doc/whatsnew/3.15.rst b/Doc/whatsnew/3.15.rst
index 010f6ce7f50e1e..e716d7bb0f2a5c 100644
--- a/Doc/whatsnew/3.15.rst
+++ b/Doc/whatsnew/3.15.rst
@@ -183,7 +183,7 @@ Other language changes
   compatibility between versions of Python, ensure that an explicit 
``encoding``
   argument is always provided. The :ref:`opt-in encoding warning 
<io-encoding-warning>`
   can be used to identify code that may be affected by this change.
-  The special special ``encoding='locale'`` argument uses the current locale
+  The special ``encoding='locale'`` argument uses the current locale
   encoding, and has been supported since Python 3.10.
 
   To retain the previous behaviour, Python's UTF-8 mode may be disabled with
diff --git a/Lib/asyncio/base_events.py b/Lib/asyncio/base_events.py
index 520d4b398545bf..8cbb71f708537f 100644
--- a/Lib/asyncio/base_events.py
+++ b/Lib/asyncio/base_events.py
@@ -636,7 +636,7 @@ def _check_running(self):
     def _run_forever_setup(self):
         """Prepare the run loop to process events.
 
-        This method exists so that custom custom event loop subclasses (e.g., 
event loops
+        This method exists so that custom event loop subclasses (e.g., event 
loops
         that integrate a GUI event loop with Python's event loop) have access 
to all the
         loop setup logic.
         """
@@ -656,7 +656,7 @@ def _run_forever_setup(self):
     def _run_forever_cleanup(self):
         """Clean up after an event loop finishes the looping over events.
 
-        This method exists so that custom custom event loop subclasses (e.g., 
event loops
+        This method exists so that custom event loop subclasses (e.g., event 
loops
         that integrate a GUI event loop with Python's event loop) have access 
to all the
         loop cleanup logic.
         """
diff --git a/Lib/test/libregrtest/utils.py b/Lib/test/libregrtest/utils.py
index 72b8ea89e62ee0..d94fb84a743828 100644
--- a/Lib/test/libregrtest/utils.py
+++ b/Lib/test/libregrtest/utils.py
@@ -536,7 +536,7 @@ def normalize_test_name(test_full_name: str, *,
     if is_error and short_name in _TEST_LIFECYCLE_HOOKS:
         if test_full_name.startswith(('setUpModule (', 'tearDownModule (')):
             # if setUpModule() or tearDownModule() failed, don't filter
-            # tests with the test file name, don't use use filters.
+            # tests with the test file name, don't use filters.
             return None
 
         # This means that we have a failure in a life-cycle hook,
diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py
index cea2f09aae5d51..29cf32966d4e4a 100644
--- a/Lib/test/support/__init__.py
+++ b/Lib/test/support/__init__.py
@@ -1686,7 +1686,7 @@ def check__all__(test_case, module, name_of_module=None, 
extra=(),
     'module'.
 
     The 'name_of_module' argument can specify (as a string or tuple thereof)
-    what module(s) an API could be defined in in order to be detected as a
+    what module(s) an API could be defined in order to be detected as a
     public API. One case for this is when 'module' imports part of its public
     API from other modules, possibly a C backend (like 'csv' and its '_csv').
 

_______________________________________________
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