diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst
index bf1fe2c..e512bf1 100644
--- a/Doc/library/collections.rst
+++ b/Doc/library/collections.rst
@@ -191,7 +191,7 @@
    * The multiset methods are designed only for use cases with positive values.
      The inputs may be negative or zero, but only outputs with positive values
      are created.  There are no type restrictions, but the value type needs to
-     support support addition, subtraction, and comparison.
+     support addition, subtraction, and comparison.
 
    * The :meth:`elements` method requires integer counts.  It ignores zero and
      negative counts.
diff --git a/Doc/library/concurrent.futures.rst b/Doc/library/concurrent.futures.rst
index 2359dd1..29ffc0d 100644
--- a/Doc/library/concurrent.futures.rst
+++ b/Doc/library/concurrent.futures.rst
@@ -14,7 +14,7 @@
 The :mod:`concurrent.futures` module provides a high-level interface for
 asynchronously executing callables.
 
-The asynchronous execution can be be performed with threads, using
+The asynchronous execution can be performed with threads, using
 :class:`ThreadPoolExecutor`, or separate processes, using
 :class:`ProcessPoolExecutor`.  Both implement the same interface, which is
 defined by the abstract :class:`Executor` class.
diff --git a/Doc/library/ctypes.rst b/Doc/library/ctypes.rst
index b868a95..fce5913 100644
--- a/Doc/library/ctypes.rst
+++ b/Doc/library/ctypes.rst
@@ -1958,7 +1958,7 @@
 
 .. function:: string_at(address, size=-1)
 
-   This function returns the C string starting at memory address address as a bytes
+   This function returns the C string starting at memory address *address* as a bytes
    object. If size is specified, it is used as size, otherwise the string is assumed
    to be zero-terminated.
 
diff --git a/Doc/library/email.message.rst b/Doc/library/email.message.rst
index 1e6a485..3e63258 100644
--- a/Doc/library/email.message.rst
+++ b/Doc/library/email.message.rst
@@ -291,7 +291,7 @@
 
          Content-Disposition: attachment; filename="bud.gif"
 
-      An example with with non-ASCII characters::
+      An example with non-ASCII characters::
 
          msg.add_header('Content-Disposition', 'attachment',
                         filename=('iso-8859-1', '', 'Fußballer.ppt'))
diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
index 4ed3ec5..b44ed99 100644
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -828,7 +828,7 @@
    .. note::
 
       Python doesn't depend on the underlying operating system's notion of text
-      files; all the the processing is done by Python itself, and is therefore
+      files; all the processing is done by Python itself, and is therefore
       platform-independent.
 
    *buffering* is an optional integer used to set the buffering policy.  Pass 0
diff --git a/Doc/library/http.client.rst b/Doc/library/http.client.rst
index 9b1ab0f..c1ce15b 100644
--- a/Doc/library/http.client.rst
+++ b/Doc/library/http.client.rst
@@ -435,7 +435,7 @@
    Set the host and the port for HTTP Connect Tunnelling. Normally used when it
    is required to a HTTPS Connection through a proxy server.
 
-   The headers argument should be a mapping of extra HTTP headers to to sent
+   The headers argument should be a mapping of extra HTTP headers to sent
    with the CONNECT request.
 
    .. versionadded:: 3.2
diff --git a/Doc/library/mailbox.rst b/Doc/library/mailbox.rst
index ff8cfea..83a590e 100644
--- a/Doc/library/mailbox.rst
+++ b/Doc/library/mailbox.rst
@@ -780,7 +780,7 @@
    There is no requirement that :class:`Message` instances be used to represent
    messages retrieved using :class:`Mailbox` instances. In some situations, the
    time and memory required to generate :class:`Message` representations might
-   not not acceptable. For such situations, :class:`Mailbox` instances also
+   not be acceptable. For such situations, :class:`Mailbox` instances also
    offer string and file-like representations, and a custom message factory may
    be specified when a :class:`Mailbox` instance is initialized.
 
diff --git a/Doc/library/mmap.rst b/Doc/library/mmap.rst
index 6a74a14..5f0f004 100644
--- a/Doc/library/mmap.rst
+++ b/Doc/library/mmap.rst
@@ -259,7 +259,7 @@
 
    .. method:: write_byte(byte)
 
-      Write the the integer *byte* into memory at the current
+      Write the integer *byte* into memory at the current
       position of the file pointer; the file position is advanced by ``1``. If
       the mmap was created with :const:`ACCESS_READ`, then writing to it will
       raise a :exc:`TypeError` exception.
diff --git a/Doc/library/multiprocessing.rst b/Doc/library/multiprocessing.rst
index 78e3e95..d8a554d 100644
--- a/Doc/library/multiprocessing.rst
+++ b/Doc/library/multiprocessing.rst
@@ -1494,7 +1494,7 @@
       a new shared object -- see documentation for the *method_to_typeid*
       argument of :meth:`BaseManager.register`.
 
-      If an exception is raised by the call, then then is re-raised by
+      If an exception is raised by the call, then is re-raised by
       :meth:`_callmethod`.  If some other exception is raised in the manager's
       process then this is converted into a :exc:`RemoteError` exception and is
       raised by :meth:`_callmethod`.
@@ -1631,7 +1631,7 @@
 
       The *chunksize* argument is the same as the one used by the :meth:`.map`
       method.  For very long iterables using a large value for *chunksize* can
-      make make the job complete **much** faster than using the default value of
+      make the job complete **much** faster than using the default value of
       ``1``.
 
       Also if *chunksize* is ``1`` then the :meth:`!next` method of the iterator
diff --git a/Doc/library/sqlite3.rst b/Doc/library/sqlite3.rst
index 32ae724..786bb04 100644
--- a/Doc/library/sqlite3.rst
+++ b/Doc/library/sqlite3.rst
@@ -243,7 +243,7 @@
 .. method:: Connection.commit()
 
    This method commits the current transaction. If you don't call this method,
-   anything you did since the last call to ``commit()`` is not visible from from
+   anything you did since the last call to ``commit()`` is not visible from
    other database connections. If you wonder why you don't see the data you've
    written to the database, please check you didn't forget to call this method.
 
diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst
index f98a5f1..3692b56 100644
--- a/Doc/library/stdtypes.rst
+++ b/Doc/library/stdtypes.rst
@@ -1117,7 +1117,7 @@
    characters and there is at least one character, false
    otherwise. Decimal characters are those from general category "Nd". This category
    includes digit characters, and all characters
-   that that can be used to form decimal-radix numbers, e.g. U+0660,
+   that can be used to form decimal-radix numbers, e.g. U+0660,
    ARABIC-INDIC DIGIT ZERO.
 
 
diff --git a/Doc/library/string.rst b/Doc/library/string.rst
index 78f2b4d..56a2a34 100644
--- a/Doc/library/string.rst
+++ b/Doc/library/string.rst
@@ -211,7 +211,7 @@
 
 See also the :ref:`formatspec` section.
 
-The *field_name* itself begins with an *arg_name* that is either either a number or a
+The *field_name* itself begins with an *arg_name* that is either a number or a
 keyword.  If it's a number, it refers to a positional argument, and if it's a keyword,
 it refers to a named keyword argument.  If the numerical arg_names in a format string
 are 0, 1, 2, ... in sequence, they can all be omitted (not just some)
diff --git a/Doc/library/threading.rst b/Doc/library/threading.rst
index 5f1b9bf..1f1d775 100644
--- a/Doc/library/threading.rst
+++ b/Doc/library/threading.rst
@@ -864,7 +864,7 @@
 
       Pass the barrier.  When all the threads party to the barrier have called
       this function, they are all released simultaneously.  If a *timeout* is
-      provided, is is used in preference to any that was supplied to the class
+      provided, it is used in preference to any that was supplied to the class
       constructor.
 
       The return value is an integer in the range 0 to *parties* -- 1, different
diff --git a/Doc/library/tkinter.ttk.rst b/Doc/library/tkinter.ttk.rst
index 7bf39b3..f70d163 100644
--- a/Doc/library/tkinter.ttk.rst
+++ b/Doc/library/tkinter.ttk.rst
@@ -1240,7 +1240,7 @@
       *layoutspec*, if specified, is expected to be a list or some other
       sequence type (excluding strings), where each item should be a tuple and
       the first item is the layout name and the second item should have the
-      format described described in `Layouts`_.
+      format described in `Layouts`_.
 
       To understand the format, see the following example (it is not
       intended to do anything useful)::
