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
