Issue #27125: Fix various errors like “will [be] inherited”
diff --git a/Demo/tkinter/guido/canvasevents.py b/Demo/tkinter/guido/canvasevents.py
index 74ed76f..1982a50 100755
--- a/Demo/tkinter/guido/canvasevents.py
+++ b/Demo/tkinter/guido/canvasevents.py
@@ -24,7 +24,7 @@
     depends on the object; for simple objects, it may be their center.
 
     Objects have mouse sensitivity.  They can be clicked, dragged and
-    double-clicked.  The behavior may actually determined by the pile
+    double-clicked.  The behavior may actually be determined by the pile
     they are in.
 
     All instance attributes are public since the derived class may
diff --git a/Doc/c-api/allocation.rst b/Doc/c-api/allocation.rst
index 32a414b..7f7435f 100644
--- a/Doc/c-api/allocation.rst
+++ b/Doc/c-api/allocation.rst
@@ -98,7 +98,7 @@
    Create a new module object based on a name and table of functions,
    returning the new module object.  If *doc* is non-*NULL*, it will be used
    to define the docstring for the module.  If *self* is non-*NULL*, it will
-   passed to the functions of the module as their (otherwise *NULL*) first
+   be passed to the functions of the module as their (otherwise *NULL*) first
    parameter.  (This was added as an experimental feature, and there are no
    known uses in the current version of Python.)  For *apiver*, the only value
    which should be passed is defined by the constant
diff --git a/Doc/library/multiprocessing.rst b/Doc/library/multiprocessing.rst
index 82a0201..e33f85f 100644
--- a/Doc/library/multiprocessing.rst
+++ b/Doc/library/multiprocessing.rst
@@ -2137,9 +2137,9 @@
 authentication key.  (Demonstrating that both ends are using the same key does
 **not** involve sending the key over the connection.)
 
-If authentication is requested but do authentication key is specified then the
+If authentication is requested but no authentication key is specified then the
 return value of ``current_process().authkey`` is used (see
-:class:`~multiprocessing.Process`).  This value will automatically inherited by
+:class:`~multiprocessing.Process`).  This value will be automatically inherited by
 any :class:`~multiprocessing.Process` object that the current process creates.
 This means that (by default) all processes of a multi-process program will share
 a single authentication key which can be used when setting up connections
diff --git a/Doc/library/shlex.rst b/Doc/library/shlex.rst
index be08e01..fad6b76 100644
--- a/Doc/library/shlex.rst
+++ b/Doc/library/shlex.rst
@@ -231,7 +231,8 @@
    This attribute is ``None`` by default.  If you assign a string to it, that
    string will be recognized as a lexical-level inclusion request similar to the
    ``source`` keyword in various shells.  That is, the immediately following token
-   will opened as a filename and input taken from that stream until EOF, at which
+   will be opened as a filename and input will
+   be taken from that stream until EOF, at which
    point the :meth:`~io.IOBase.close` method of that stream will be called and
    the input source will again become the original input stream.  Source
    requests may be stacked any number of levels deep.
diff --git a/Doc/whatsnew/2.6.rst b/Doc/whatsnew/2.6.rst
index f004195..4d06bc3 100644
--- a/Doc/whatsnew/2.6.rst
+++ b/Doc/whatsnew/2.6.rst
@@ -3150,7 +3150,7 @@
   :func:`macostools.touched` function to be removed because it depended on the
   :mod:`macfs` module.  (:issue:`1490190`)
 
-* Many other Mac OS modules have been deprecated and will removed in
+* Many other Mac OS modules have been deprecated and will be removed in
   Python 3.0:
   :mod:`_builtinSuites`,
   :mod:`aepack`,
diff --git a/Lib/email/message.py b/Lib/email/message.py
index 7c93370..d7358cd 100644
--- a/Lib/email/message.py
+++ b/Lib/email/message.py
@@ -579,7 +579,7 @@
         message, it will be set to "text/plain" and the new parameter and
         value will be appended as per RFC 2045.
 
-        An alternate header can specified in the header argument, and all
+        An alternate header can be specified in the header argument, and all
         parameters will be quoted as necessary unless requote is False.
 
         If charset is specified, the parameter will be encoded according to RFC
diff --git a/Lib/lib-tk/Tix.py b/Lib/lib-tk/Tix.py
index d723e47..c98b549 100644
--- a/Lib/lib-tk/Tix.py
+++ b/Lib/lib-tk/Tix.py
@@ -1052,7 +1052,7 @@
 
 class LabelEntry(TixWidget):
     """LabelEntry - Entry field with label. Packages an entry widget
-    and a label into one mega widget. It can beused be used to simplify
+    and a label into one mega widget. It can be used be used to simplify
     the creation of ``entry-form'' type of interface.
 
     Subwidgets       Class
diff --git a/Lib/rfc822.py b/Lib/rfc822.py
index c1d0865..9a5b8a2 100644
--- a/Lib/rfc822.py
+++ b/Lib/rfc822.py
@@ -961,7 +961,7 @@
 
     According to RFC 1123, day and month names must always be in
     English.  If not for that, this code could use strftime().  It
-    can't because strftime() honors the locale and could generated
+    can't because strftime() honors the locale and could generate
     non-English names.
     """
     if timeval is None:
diff --git a/Lib/test/test_httplib.py b/Lib/test/test_httplib.py
index a72f6f7..d3bac0f 100644
--- a/Lib/test/test_httplib.py
+++ b/Lib/test/test_httplib.py
@@ -213,8 +213,8 @@
         self.assertIn(b'\xa0NonbreakSpace: value', conn._buffer)
 
     def test_ipv6host_header(self):
-        # Default host header on IPv6 transaction should wrapped by [] if
-        # its actual IPv6 address
+        # Default host header on IPv6 transaction should be wrapped by [] if
+        # it is an IPv6 address
         expected = 'GET /foo HTTP/1.1\r\nHost: [2001::]:81\r\n' \
                    'Accept-Encoding: identity\r\n\r\n'
         conn = httplib.HTTPConnection('[2001::]:81')
diff --git a/Misc/HISTORY b/Misc/HISTORY
index 9545c97..b8a4576 100644
--- a/Misc/HISTORY
+++ b/Misc/HISTORY
@@ -5148,7 +5148,7 @@
 - All standard iterators now ensure that, once StopIteration has been
   raised, all future calls to next() on the same iterator will also
   raise StopIteration.  There used to be various counterexamples to
-  this behavior, which could caused confusion or subtle program
+  this behavior, which could have caused confusion or subtle program
   breakage, without any benefits.  (Note that this is still an
   iterator's responsibility; the iterator framework does not enforce
   this.)
diff --git a/Objects/object.c b/Objects/object.c
index 14f4e9f..7a28218 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -2358,7 +2358,7 @@
 
 /* These methods are used to control infinite recursion in repr, str, print,
    etc.  Container objects that may recursively contain themselves,
-   e.g. builtin dictionaries and lists, should used Py_ReprEnter() and
+   e.g. builtin dictionaries and lists, should use Py_ReprEnter() and
    Py_ReprLeave() to avoid infinite recursion.
 
    Py_ReprEnter() returns 0 the first time it is called for a particular
diff --git a/README b/README
index 52b97a1..b569486 100644
--- a/README
+++ b/README
@@ -197,7 +197,7 @@
 If ran, the "profile-opt" rule will do several steps.
 
 First, the entire Python directory is cleaned of temporary files that
-may resulted in a previous compilation.
+may have resulted in a previous compilation.
 
 Then, an instrumented version of the interpreter is built, using suitable
 compiler flags for each flavour. Note that this is just an intermediary