Issue #24232: Fix typos. Patch by Ville Skyttä.
diff --git a/Doc/howto/clinic.rst b/Doc/howto/clinic.rst
index 4ff475f..7524c4a 100644
--- a/Doc/howto/clinic.rst
+++ b/Doc/howto/clinic.rst
@@ -1495,7 +1495,7 @@
     the ``buffer`` preset.
 
     Suppresses the ``impl_prototype``, write the ``docstring_definition``
-    and ``parser_defintion`` to ``buffer``, write everything else to ``block``.
+    and ``parser_definition`` to ``buffer``, write everything else to ``block``.
 
 The third new directive is ``destination``::
 
diff --git a/Doc/howto/logging-cookbook.rst b/Doc/howto/logging-cookbook.rst
index e31b6c2..813bc0f 100644
--- a/Doc/howto/logging-cookbook.rst
+++ b/Doc/howto/logging-cookbook.rst
@@ -1417,7 +1417,7 @@
     def worker_process(config):
         """
         A number of these are spawned for the purpose of illustration. In
-        practice, they could be a heterogenous bunch of processes rather than
+        practice, they could be a heterogeneous bunch of processes rather than
         ones which are identical to each other.
 
         This initialises logging according to the specified configuration,
diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst
index 5a52c7a..3c4d175 100644
--- a/Doc/library/collections.rst
+++ b/Doc/library/collections.rst
@@ -333,7 +333,7 @@
     >>> c | d                       # union:  max(c[x], d[x])
     Counter({'a': 3, 'b': 2})
 
-Unary addition and substraction are shortcuts for adding an empty counter
+Unary addition and subtraction are shortcuts for adding an empty counter
 or subtracting from an empty counter.
 
     >>> c = Counter(a=2, b=-4)
diff --git a/Doc/library/poplib.rst b/Doc/library/poplib.rst
index fee6298..8468f4c 100644
--- a/Doc/library/poplib.rst
+++ b/Doc/library/poplib.rst
@@ -197,7 +197,7 @@
 
 .. method:: POP3.utf8()
 
-   Try to switch to UTF-8 mode. Returns the server response if sucessful,
+   Try to switch to UTF-8 mode. Returns the server response if successful,
    raises :class:`error_proto` if not. Specified in :RFC:`6856`.
 
    .. versionadded:: 3.5
diff --git a/Doc/library/ssl.rst b/Doc/library/ssl.rst
index 31b4658..4075134 100644
--- a/Doc/library/ssl.rst
+++ b/Doc/library/ssl.rst
@@ -1381,7 +1381,7 @@
 
 .. attribute:: SSLContext.check_hostname
 
-   Wether to match the peer cert's hostname with :func:`match_hostname` in
+   Whether to match the peer cert's hostname with :func:`match_hostname` in
    :meth:`SSLSocket.do_handshake`. The context's
    :attr:`~SSLContext.verify_mode` must be set to :data:`CERT_OPTIONAL` or
    :data:`CERT_REQUIRED`, and you must pass *server_hostname* to