[3.9] Remove duplicated words words (GH-20413). (GH-22296)

(cherry picked from commit 1c5d1d7304a119040fd3118128bdb412f0cce6a6)
diff --git a/Doc/library/ssl.rst b/Doc/library/ssl.rst
index 952ee16..852091c 100644
--- a/Doc/library/ssl.rst
+++ b/Doc/library/ssl.rst
@@ -615,7 +615,7 @@
    Possible value for :attr:`SSLContext.verify_flags`. In this mode, only the
    peer cert is checked but none of the intermediate CA certificates. The mode
    requires a valid CRL that is signed by the peer cert's issuer (its direct
-   ancestor CA). If no proper CRL has has been loaded with
+   ancestor CA). If no proper CRL has been loaded with
    :attr:`SSLContext.load_verify_locations`, validation will fail.
 
    .. versionadded:: 3.4
diff --git a/Doc/whatsnew/3.8.rst b/Doc/whatsnew/3.8.rst
index 61aca47..a2fa178 100644
--- a/Doc/whatsnew/3.8.rst
+++ b/Doc/whatsnew/3.8.rst
@@ -1693,7 +1693,7 @@
   :meth:`~gettext.NullTranslations.set_output_charset`, and the *codeset*
   parameter of functions :func:`~gettext.translation` and
   :func:`~gettext.install` are also deprecated, since they are only used for
-  for the ``l*gettext()`` functions.
+  the ``l*gettext()`` functions.
   (Contributed by Serhiy Storchaka in :issue:`33710`.)
 
 * The :meth:`~threading.Thread.isAlive()` method of :class:`threading.Thread`
diff --git a/Doc/whatsnew/3.9.rst b/Doc/whatsnew/3.9.rst
index 40c1592..b3cc84d 100644
--- a/Doc/whatsnew/3.9.rst
+++ b/Doc/whatsnew/3.9.rst
@@ -879,7 +879,7 @@
   (Contributed by Victor Stinner in :issue:`39489`.)
 
 * The ``_field_types`` attribute of the :class:`typing.NamedTuple` class
-  has been removed.  It was deprecated deprecated since Python 3.8.  Use
+  has been removed.  It was deprecated since Python 3.8.  Use
   the ``__annotations__`` attribute instead.
   (Contributed by Serhiy Storchaka in :issue:`40182`.)