Issue #27125: Merge typo fixes from 3.5
diff --git a/Doc/c-api/module.rst b/Doc/c-api/module.rst
index 97a6354..904b4b1 100644
--- a/Doc/c-api/module.rst
+++ b/Doc/c-api/module.rst
@@ -129,7 +129,7 @@
(where the initialization function is added using :c:func:`PyImport_AppendInittab`).
See :ref:`building` or :ref:`extending-with-embedding` for details.
-The initialization function can either pass pass a module definition instance
+The initialization function can either pass a module definition instance
to :c:func:`PyModule_Create`, and return the resulting module object,
or request "multi-phase initialization" by returning the definition struct itself.
diff --git a/Doc/howto/pyporting.rst b/Doc/howto/pyporting.rst
index c6fc03e..c479f22 100644
--- a/Doc/howto/pyporting.rst
+++ b/Doc/howto/pyporting.rst
@@ -390,7 +390,7 @@
tox with your continuous integration system so that you never accidentally break
Python 2 or 3 support.
-You may also want to use use the ``-bb`` flag with the Python 3 interpreter to
+You may also want to use the ``-bb`` flag with the Python 3 interpreter to
trigger an exception when you are comparing bytes to strings or bytes to an int
(the latter is available starting in Python 3.5). By default type-differing
comparisons simply return ``False``, but if you made a mistake in your
diff --git a/Doc/library/enum.rst b/Doc/library/enum.rst
index b3691ca..99a7f8e 100644
--- a/Doc/library/enum.rst
+++ b/Doc/library/enum.rst
@@ -314,8 +314,8 @@
>>> str(Mood.funky)
'my custom str! 1'
-The rules for what is allowed are as follows: names that start and end with a
-with a single underscore are reserved by enum and cannot be used; all other
+The rules for what is allowed are as follows: names that start and end with
+a single underscore are reserved by enum and cannot be used; all other
attributes defined within an enumeration will become members of this
enumeration, with the exception of special methods (:meth:`__str__`,
:meth:`__add__`, etc.) and descriptors (methods are also descriptors).
diff --git a/Doc/library/tkinter.tix.rst b/Doc/library/tkinter.tix.rst
index 9da7959..d66f595 100644
--- a/Doc/library/tkinter.tix.rst
+++ b/Doc/library/tkinter.tix.rst
@@ -142,7 +142,7 @@
The `LabelEntry
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixLabelEntry.htm>`_
- widget packages an entry widget and a label into one mega widget. It can be used
+ widget packages an entry widget and a label into one mega widget. It can
be used to simplify the creation of "entry-form" type of interface.
.. Python Demo of:
diff --git a/Doc/library/typing.rst b/Doc/library/typing.rst
index a1ddbf8..605d013 100644
--- a/Doc/library/typing.rst
+++ b/Doc/library/typing.rst
@@ -297,7 +297,7 @@
.. class:: Tuple
- Tuple type; ``Tuple[X, Y]`` is the is the type of a tuple of two items
+ Tuple type; ``Tuple[X, Y]`` is the type of a tuple of two items
with the first item of type X and the second of type Y.
Example: ``Tuple[T1, T2]`` is a tuple of two elements corresponding
diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst
index 6edc1b1..1e5c9d1 100644
--- a/Doc/whatsnew/3.4.rst
+++ b/Doc/whatsnew/3.4.rst
@@ -1322,7 +1322,7 @@
ability to query or set the resource limits for processes other than the one
making the call. (Contributed by Christian Heimes in :issue:`16595`.)
-On Linux kernel version 2.6.36 or later, there are there are also some new
+On Linux kernel version 2.6.36 or later, there are also some new
Linux specific constants: :attr:`~resource.RLIMIT_MSGQUEUE`,
:attr:`~resource.RLIMIT_NICE`, :attr:`~resource.RLIMIT_RTPRIO`,
:attr:`~resource.RLIMIT_RTTIME`, and :attr:`~resource.RLIMIT_SIGPENDING`.
diff --git a/Doc/whatsnew/3.5.rst b/Doc/whatsnew/3.5.rst
index 73a6dd1..052c742 100644
--- a/Doc/whatsnew/3.5.rst
+++ b/Doc/whatsnew/3.5.rst
@@ -1690,7 +1690,7 @@
Both the :meth:`SMTP.sendmail() <smtplib.SMTP.sendmail>` and
:meth:`SMTP.send_message() <smtplib.SMTP.send_message>` methods now
-support support :rfc:`6531` (SMTPUTF8).
+support :rfc:`6531` (SMTPUTF8).
(Contributed by Milan Oberkirch and R. David Murray in :issue:`22027`.)
diff --git a/Lib/ctypes/macholib/README.ctypes b/Lib/ctypes/macholib/README.ctypes
index 4e10cbe..2866e9f 100644
--- a/Lib/ctypes/macholib/README.ctypes
+++ b/Lib/ctypes/macholib/README.ctypes
@@ -1,4 +1,4 @@
-Files in this directory from from Bob Ippolito's py2app.
+Files in this directory come from Bob Ippolito's py2app.
License: Any components of the py2app suite may be distributed under
the MIT or PSF open source licenses.
diff --git a/Lib/idlelib/idle_test/README.txt b/Lib/idlelib/idle_test/README.txt
index a823b85..f74affc 100644
--- a/Lib/idlelib/idle_test/README.txt
+++ b/Lib/idlelib/idle_test/README.txt
@@ -17,8 +17,7 @@
The idle directory, idlelib, has over 60 xyz.py files. The idle_test
subdirectory should contain a test_xyz.py for each, where 'xyz' is
lowercased even if xyz.py is not. Here is a possible template, with the
-blanks after after '.' and 'as', and before and after '_' to be filled
-in.
+blanks after '.' and 'as', and before and after '_' to be filled in.
import unittest
from test.support import requires
diff --git a/Lib/test/test_dict.py b/Lib/test/test_dict.py
index 7dd44b9..6c47066 100644
--- a/Lib/test/test_dict.py
+++ b/Lib/test/test_dict.py
@@ -863,7 +863,7 @@
itorg = iter(data.items())
d = pickle.dumps(itorg, proto)
it = pickle.loads(d)
- # note that the type of type of the unpickled iterator
+ # note that the type of the unpickled iterator
# is not necessarily the same as the original. It is
# merely an object supporting the iterator protocol, yielding
# the same objects as the original one.
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
index 2764e61..1bb24b2 100644
--- a/Lib/test/test_socket.py
+++ b/Lib/test/test_socket.py
@@ -4758,7 +4758,7 @@
self.addCleanup(self.conn.close)
def clientSetUp(self):
- # The is a hittable race between serverExplicitReady() and the
+ # There is a hittable race between serverExplicitReady() and the
# accept() call; sleep a little while to avoid it, otherwise
# we could get an exception
time.sleep(0.1)
diff --git a/Lib/tkinter/tix.py b/Lib/tkinter/tix.py
index f74d48f..a283cf1 100644
--- a/Lib/tkinter/tix.py
+++ b/Lib/tkinter/tix.py
@@ -1048,8 +1048,8 @@
class LabelEntry(TixWidget):
"""LabelEntry - Entry field with label. Packages an entry widget
- and a label into one mega widget. It can be used be used to simplify
- the creation of ``entry-form'' type of interface.
+ and a label into one mega widget. It can be used to simplify the creation
+ of ``entry-form'' type of interface.
Subwidgets Class
---------- -----
diff --git a/Misc/HISTORY b/Misc/HISTORY
index 73a041d..b9cb899 100644
--- a/Misc/HISTORY
+++ b/Misc/HISTORY
@@ -10639,8 +10639,8 @@
certain operations between bytes/buffer and str like str(b'') and
comparison.
-- The standards streams sys.stdin, stdout and stderr may be None when
- the when the C runtime library returns an invalid file descriptor
+- The standard streams sys.stdin, stdout and stderr may be None
+ when the C runtime library returns an invalid file descriptor
for the streams (fileno(stdin) < 0). For now this happens only for
Windows GUI apps and scripts started with `pythonw.exe`.
diff --git a/Misc/NEWS b/Misc/NEWS
index 42d7f4e..14ef2d4 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -3775,7 +3775,7 @@
- Issue #22247: Add NNTPError to nntplib.__all__.
- Issue #22366: urllib.request.urlopen will accept a context object
- (SSLContext) as an argument which will then used be for HTTPS connection.
+ (SSLContext) as an argument which will then be used for HTTPS connection.
Patch by Alex Gaynor.
- Issue #4180: The warnings registries are now reset when the filters
diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c
index 33a7f90..d3e8a09 100644
--- a/Modules/_ctypes/_ctypes.c
+++ b/Modules/_ctypes/_ctypes.c
@@ -49,7 +49,7 @@
from_param(obj)
- typecheck and convert a Python object into a C function call parameter
- the result may be an instance of the type, or an integer or tuple
+ The result may be an instance of the type, or an integer or tuple
(typecode, value[, obj])
instance methods/properties
diff --git a/Modules/_pickle.c b/Modules/_pickle.c
index 3740fe8..7121ac8 100644
--- a/Modules/_pickle.c
+++ b/Modules/_pickle.c
@@ -573,7 +573,7 @@
int bin; /* Boolean, true if proto > 0 */
int framing; /* True when framing is enabled, proto >= 4 */
Py_ssize_t frame_start; /* Position in output_buffer where the
- where the current frame begins. -1 if there
+ current frame begins. -1 if there
is no frame currently open. */
Py_ssize_t buf_size; /* Size of the current buffered pickle data */
diff --git a/Objects/bytesobject.c b/Objects/bytesobject.c
index aeddf53..83776aa 100644
--- a/Objects/bytesobject.c
+++ b/Objects/bytesobject.c
@@ -38,7 +38,7 @@
For PyBytes_FromString(), the parameter `str' points to a null-terminated
string containing exactly `size' bytes.
- For PyBytes_FromStringAndSize(), the parameter the parameter `str' is
+ For PyBytes_FromStringAndSize(), the parameter `str' is
either NULL or else points to a string containing at least `size' bytes.
For PyBytes_FromStringAndSize(), the string in the `str' parameter does
not have to be null-terminated. (Therefore it is safe to construct a