Issue #17047: removed doubled words in Doc/*, Mac/*, and Tool/*
found by Serhiy Storchaka and Matthew Barnett
diff --git a/Doc/c-api/intro.rst b/Doc/c-api/intro.rst
index e136816..6464fe7 100644
--- a/Doc/c-api/intro.rst
+++ b/Doc/c-api/intro.rst
@@ -433,7 +433,7 @@
 .. index:: single: sum_sequence()
 
 A simple example of detecting exceptions and passing them on is shown in the
-:c:func:`sum_sequence` example above.  It so happens that that example doesn't
+:c:func:`sum_sequence` example above.  It so happens that this example doesn't
 need to clean up any owned references when it detects an error.  The following
 example function shows some error cleanup.  First, to remind you why you like
 Python, we show the equivalent Python code::
diff --git a/Doc/c-api/long.rst b/Doc/c-api/long.rst
index e2f58ad..72be017 100644
--- a/Doc/c-api/long.rst
+++ b/Doc/c-api/long.rst
@@ -189,7 +189,7 @@
 
 .. c:function:: size_t PyLong_AsSize_t(PyObject *pylong)
 
-   Return a C :c:type:`size_t` representation of of *pylong*.  *pylong* must be
+   Return a C :c:type:`size_t` representation of *pylong*.  *pylong* must be
    an instance of :c:type:`PyLongObject`.
 
    Raise :exc:`OverflowError` if the value of *pylong* is out of range for a
@@ -201,7 +201,7 @@
    .. index::
       single: OverflowError (built-in exception)
 
-   Return a C :c:type:`unsigned PY_LONG_LONG` representation of of *pylong*.
+   Return a C :c:type:`unsigned PY_LONG_LONG` representation of *pylong*.
    *pylong* must be an instance of :c:type:`PyLongObject`.
 
    Raise :exc:`OverflowError` if the value of *pylong* is out of range for an
diff --git a/Doc/library/xml.dom.rst b/Doc/library/xml.dom.rst
index 297fc0c..1a3a6a4 100644
--- a/Doc/library/xml.dom.rst
+++ b/Doc/library/xml.dom.rst
@@ -357,7 +357,7 @@
 
    Add a new child node to this node at the end of the list of
    children, returning *newChild*. If the node was already in
-   in the tree, it is removed first.
+   the tree, it is removed first.
 
 
 .. method:: Node.insertBefore(newChild, refChild)
diff --git a/Mac/README b/Mac/README
index 6853db4..0b906f1 100644
--- a/Mac/README
+++ b/Mac/README
@@ -30,7 +30,7 @@
 
 * ``--enable-universalsdk[=PATH]``
 
-  Create a universal binary build of of Python. This can be used with both
+  Create a universal binary build of Python. This can be used with both
   regular and framework builds.
 
   The optional argument specifies which OSX SDK should be used to perform the
diff --git a/Tools/msi/msilib.py b/Tools/msi/msilib.py
index 5795d0e..92fb5e1 100644
--- a/Tools/msi/msilib.py
+++ b/Tools/msi/msilib.py
@@ -489,7 +489,7 @@
 
     def add_file(self, file, src=None, version=None, language=None):
         """Add a file to the current component of the directory, starting a new one
-        one if there is no current component. By default, the file name in the source
+        if there is no current component. By default, the file name in the source
         and the file table will be identical. If the src file is specified, it is
         interpreted relative to the current directory. Optionally, a version and a
         language can be specified for the entry in the File table."""
diff --git a/Tools/pybench/README b/Tools/pybench/README
index e33d064..e59e6c0 100644
--- a/Tools/pybench/README
+++ b/Tools/pybench/README
@@ -3,7 +3,7 @@
 PYBENCH - A Python Benchmark Suite
 ________________________________________________________________________
 
-     Extendable suite of of low-level benchmarks for measuring
+     Extendable suite of low-level benchmarks for measuring
           the performance of the Python implementation 
                  (interpreter, compiler or VM).