diff --git a/Doc/library/2to3.rst b/Doc/library/2to3.rst
index 6786ce9..2149a2b 100644
--- a/Doc/library/2to3.rst
+++ b/Doc/library/2to3.rst
@@ -89,7 +89,7 @@
 Since some print statements can be parsed as function calls or statements, 2to3
 cannot always read files containing the print function.  When 2to3 detects the
 presence of the ``from __future__ import print_function`` compiler directive, it
-modifies its internal grammar to interpert :func:`print` as a function.  This
+modifies its internal grammar to interpret :func:`print` as a function.  This
 change can also be enabled manually with the :option:`-p` flag.  Use
 :option:`-p` to run fixers on code that already has had its print statements
 converted.
diff --git a/Doc/library/_thread.rst b/Doc/library/_thread.rst
index 7f25dd6..c087c75 100644
--- a/Doc/library/_thread.rst
+++ b/Doc/library/_thread.rst
@@ -106,7 +106,7 @@
 .. data:: TIMEOUT_MAX
 
    The maximum value allowed for the *timeout* parameter of
-   :meth:`Lock.acquire`. Specifiying a timeout greater than this value will
+   :meth:`Lock.acquire`. Specifying a timeout greater than this value will
    raise an :exc:`OverflowError`.
 
    .. versionadded:: 3.2
diff --git a/Doc/library/bisect.rst b/Doc/library/bisect.rst
index 8bf0949..eb23159 100644
--- a/Doc/library/bisect.rst
+++ b/Doc/library/bisect.rst
@@ -125,7 +125,7 @@
 
 Unlike the :func:`sorted` function, it does not make sense for the :func:`bisect`
 functions to have *key* or *reversed* arguments because that would lead to an
-inefficent design (successive calls to bisect functions would not "remember"
+inefficient design (successive calls to bisect functions would not "remember"
 all of the previous key lookups).
 
 Instead, it is better to search a list of precomputed keys to find the index
diff --git a/Doc/library/concurrent.futures.rst b/Doc/library/concurrent.futures.rst
index 87a0e90..e17e589 100644
--- a/Doc/library/concurrent.futures.rst
+++ b/Doc/library/concurrent.futures.rst
@@ -204,12 +204,12 @@
 Future Objects
 --------------
 
-The :class:`Future` class encapulates the asynchronous execution of a callable.
+The :class:`Future` class encapsulates the asynchronous execution of a callable.
 :class:`Future` instances are created by :meth:`Executor.submit`.
 
 .. class:: Future
 
-   Encapulates the asynchronous execution of a callable.  :class:`Future`
+   Encapsulates the asynchronous execution of a callable.  :class:`Future`
    instances are created by :meth:`Executor.submit` and should not be created
    directly except for testing.
 
diff --git a/Doc/library/configparser.rst b/Doc/library/configparser.rst
index a10a89b..cf787e1 100644
--- a/Doc/library/configparser.rst
+++ b/Doc/library/configparser.rst
@@ -30,7 +30,7 @@
 followed by key/value entries separated by a specific string (``=`` or ``:`` by
 default). By default, section names are case sensitive but keys are not. Leading
 und trailing whitespace is removed from keys and from values.  Values can be
-ommitted, in which case the key/value delimiter may also be left out.  Values
+omitted, in which case the key/value delimiter may also be left out.  Values
 can also span multiple lines, as long as they are indented deeper than the first
 line of the value.  Depending on the parser's mode, blank lines may be treated
 as parts of multiline values or ignored.
diff --git a/Doc/library/http.cookies.rst b/Doc/library/http.cookies.rst
index 0151e94..472ddcf 100644
--- a/Doc/library/http.cookies.rst
+++ b/Doc/library/http.cookies.rst
@@ -125,7 +125,7 @@
    * ``version``
    * ``httponly``
 
-   The attribute :attr:`httponly` specifies that the cookie is only transfered
+   The attribute :attr:`httponly` specifies that the cookie is only transferred
    in HTTP requests, and is not accessible through JavaScript. This is intended
    to mitigate some forms of cross-site scripting.
 
diff --git a/Doc/library/importlib.rst b/Doc/library/importlib.rst
index 1b4e5fd..f866947 100644
--- a/Doc/library/importlib.rst
+++ b/Doc/library/importlib.rst
@@ -286,7 +286,7 @@
     .. deprecated:: 3.2
         This class has been deprecated in favor of :class:`SourceLoader` and is
         slated for removal in Python 3.4. See below for how to create a
-        subclass that is compatbile with Python 3.1 onwards.
+        subclass that is compatible with Python 3.1 onwards.
 
     If compatibility with Python 3.1 is required, then use the following idiom
     to implement a subclass that will work with Python 3.1 onwards (make sure
diff --git a/Doc/library/logging.rst b/Doc/library/logging.rst
index c0e114441..6cfd93f 100644
--- a/Doc/library/logging.rst
+++ b/Doc/library/logging.rst
@@ -2904,7 +2904,7 @@
    .. attribute:: exc_info
 
       Exception tuple (à la `sys.exc_info`) or `None` if no exception
-      information is availble.
+      information is available.
 
    .. attribute:: func
 
diff --git a/Doc/library/multiprocessing.rst b/Doc/library/multiprocessing.rst
index ebed0c9..4e41293 100644
--- a/Doc/library/multiprocessing.rst
+++ b/Doc/library/multiprocessing.rst
@@ -374,7 +374,7 @@
       Otherwise a daemonic process would leave its children orphaned if it gets
       terminated when its parent process exits. Additionally, these are **not**
       Unix daemons or services, they are normal processes that will be
-      terminated (and not joined) if non-dameonic processes have exited.
+      terminated (and not joined) if non-daemonic processes have exited.
 
    In addition to the  :class:`Threading.Thread` API, :class:`Process` objects
    also support the following attributes and methods:
diff --git a/Doc/library/os.rst b/Doc/library/os.rst
index 57a916c..30529f1 100644
--- a/Doc/library/os.rst
+++ b/Doc/library/os.rst
@@ -429,7 +429,7 @@
 
    Set the current process's real, effective, and saved user ids.
 
-   Availibility: Unix.
+   Availability: Unix.
 
    .. versionadded:: 3.2
 
diff --git a/Doc/library/pickle.rst b/Doc/library/pickle.rst
index 5e5d0a3..66d1472 100644
--- a/Doc/library/pickle.rst
+++ b/Doc/library/pickle.rst
@@ -197,7 +197,7 @@
    that meets this interface.
 
    Optional keyword arguments are *fix_imports*, *encoding* and *errors*,
-   which are used to control compatiblity support for pickle stream generated
+   which are used to control compatibility support for pickle stream generated
    by Python 2.x.  If *fix_imports* is True, pickle will try to map the old
    Python 2.x names to the new names used in Python 3.x.  The *encoding* and
    *errors* tell pickle how to decode 8-bit string instances pickled by Python
@@ -213,7 +213,7 @@
    ignored.
 
    Optional keyword arguments are *fix_imports*, *encoding* and *errors*,
-   which are used to control compatiblity support for pickle stream generated
+   which are used to control compatibility support for pickle stream generated
    by Python 2.x.  If *fix_imports* is True, pickle will try to map the old
    Python 2.x names to the new names used in Python 3.x.  The *encoding* and
    *errors* tell pickle how to decode 8-bit string instances pickled by Python
@@ -310,7 +310,7 @@
    that meets this interface.
 
    Optional keyword arguments are *fix_imports*, *encoding* and *errors*,
-   which are used to control compatiblity support for pickle stream generated
+   which are used to control compatibility support for pickle stream generated
    by Python 2.x.  If *fix_imports* is True, pickle will try to map the old
    Python 2.x names to the new names used in Python 3.x.  The *encoding* and
    *errors* tell pickle how to decode 8-bit string instances pickled by Python
@@ -429,7 +429,7 @@
 
 .. index:: single: __getnewargs__() (copy protocol)
 
-Classes can alter the default behaviour by providing one or severals special
+Classes can alter the default behaviour by providing one or several special
 methods.  In protocol 2 and newer, classes that implements the
 :meth:`__getnewargs__` method can dictate the values passed to the
 :meth:`__new__` method upon unpickling.  This is often needed for classes
diff --git a/Doc/library/profile.rst b/Doc/library/profile.rst
index c3632f9..472a88c 100644
--- a/Doc/library/profile.rst
+++ b/Doc/library/profile.rst
@@ -599,7 +599,7 @@
    integers, you can also invoke the class constructor with a second argument
    specifying the real duration of one unit of time.  For example, if
    :func:`your_integer_time_func` returns times measured in thousands of seconds,
-   you would constuct the :class:`Profile` instance as follows::
+   you would construct the :class:`Profile` instance as follows::
 
       pr = profile.Profile(your_integer_time_func, 0.001)
 
diff --git a/Doc/library/readline.rst b/Doc/library/readline.rst
index 21f30e5..cb1ae6d 100644
--- a/Doc/library/readline.rst
+++ b/Doc/library/readline.rst
@@ -20,7 +20,7 @@
   the ``libedit`` library instead of GNU readline.
 
   The configuration file for ``libedit`` is different from that
-  of GNU readline. If you programmaticly load configuration strings
+  of GNU readline. If you programmatically load configuration strings
   you can check for the text "libedit" in :const:`readline.__doc__`
   to differentiate between GNU readline and libedit.
 
diff --git a/Doc/library/telnetlib.rst b/Doc/library/telnetlib.rst
index 102a42a..6e3abde 100644
--- a/Doc/library/telnetlib.rst
+++ b/Doc/library/telnetlib.rst
@@ -191,7 +191,7 @@
 
    If a regular expression ends with a greedy match (such as ``.*``) or if more
    than one expression can match the same input, the results are
-   indeterministic, and may depend on the I/O timing.
+   non-deterministic, and may depend on the I/O timing.
 
 
 .. method:: Telnet.set_option_negotiation_callback(callback)
diff --git a/Doc/library/threading.rst b/Doc/library/threading.rst
index 98675f1..3419e65 100644
--- a/Doc/library/threading.rst
+++ b/Doc/library/threading.rst
@@ -177,7 +177,7 @@
 
    The maximum value allowed for the *timeout* parameter of blocking functions
    (:meth:`Lock.acquire`, :meth:`RLock.acquire`, :meth:`Condition.wait`, etc.).
-   Specifiying a timeout greater than this value will raise an
+   Specifying a timeout greater than this value will raise an
    :exc:`OverflowError`.
 
    .. versionadded:: 3.2
diff --git a/Doc/library/tkinter.tix.rst b/Doc/library/tkinter.tix.rst
index bbe66d8..68d8f5a 100644
--- a/Doc/library/tkinter.tix.rst
+++ b/Doc/library/tkinter.tix.rst
@@ -122,7 +122,7 @@
    The `ComboBox
    <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixComboBox.htm>`_
    widget is similar to the combo box control in MS Windows. The user can select a
-   choice by either typing in the entry subwdget or selecting from the listbox
+   choice by either typing in the entry subwidget or selecting from the listbox
    subwidget.
 
 .. Python Demo of:
diff --git a/Doc/library/turtle.rst b/Doc/library/turtle.rst
index c6ba316..711e1a1 100644
--- a/Doc/library/turtle.rst
+++ b/Doc/library/turtle.rst
@@ -1957,7 +1957,7 @@
 .. function:: setup(width=_CFG["width"], height=_CFG["height"], startx=_CFG["leftright"], starty=_CFG["topbottom"])
 
    Set the size and position of the main window.  Default values of arguments
-   are stored in the configuration dicionary and can be changed via a
+   are stored in the configuration dictionary and can be changed via a
    :file:`turtle.cfg` file.
 
    :param width: if an integer, a size in pixels, if a float, a fraction of the
diff --git a/Doc/library/unittest.rst b/Doc/library/unittest.rst
index 66ed10c..d67de92 100644
--- a/Doc/library/unittest.rst
+++ b/Doc/library/unittest.rst
@@ -632,7 +632,7 @@
 
 .. decorator:: skipUnless(condition, reason)
 
-   Skip the decoratored test unless *condition* is true.
+   Skip the decorated test unless *condition* is true.
 
 .. decorator:: expectedFailure
 
@@ -1598,8 +1598,8 @@
 
    .. attribute:: expectedFailures
 
-      A list contaning 2-tuples of :class:`TestCase` instances and strings
-      holding formatted tracebacks.  Each tuple represents a expected failures
+      A list containing 2-tuples of :class:`TestCase` instances and strings
+      holding formatted tracebacks.  Each tuple represents an expected failure
       of the test case.
 
    .. attribute:: unexpectedSuccesses
diff --git a/Doc/library/urllib.parse.rst b/Doc/library/urllib.parse.rst
index 19025f6..7c6eaa6 100644
--- a/Doc/library/urllib.parse.rst
+++ b/Doc/library/urllib.parse.rst
@@ -357,7 +357,7 @@
    :rfc:`3986` - Uniform Resource Identifiers
       This is the current standard (STD66). Any changes to urlparse module
       should conform to this. Certain deviations could be observed, which are
-      mostly due backward compatiblity purposes and for certain de-facto
+      mostly for backward compatibility purposes and for certain de-facto
       parsing requirements as commonly observed in major browsers.
 
    :rfc:`2732` - Format for Literal IPv6 Addresses in URL's.
diff --git a/Doc/library/winreg.rst b/Doc/library/winreg.rst
index fa8e368..9bd12ed 100644
--- a/Doc/library/winreg.rst
+++ b/Doc/library/winreg.rst
@@ -568,7 +568,7 @@
 64-bit Specific
 ***************
 
-For more information, see `Accesing an Alternate Registry View
+For more information, see `Accessing an Alternate Registry View
 <http://msdn.microsoft.com/en-us/library/aa384129(v=VS.85).aspx>`__.
 
 .. data:: KEY_WOW64_64KEY
