diff --git a/Doc/c-api/arg.rst b/Doc/c-api/arg.rst
index f955c96..fc64b20 100644
--- a/Doc/c-api/arg.rst
+++ b/Doc/c-api/arg.rst
@@ -65,7 +65,7 @@
    .. note::
       This format does not accept bytes-like objects.  If you want to accept
       filesystem paths and convert them to C character strings, it is
-      preferrable to use the ``O&`` format with :cfunc:`PyUnicode_FSConverter`
+      preferable to use the ``O&`` format with :cfunc:`PyUnicode_FSConverter`
       as *converter*.
 
 ``s*`` (:class:`str`, :class:`bytes`, :class:`bytearray` or buffer compatible object) [Py_buffer]
diff --git a/Doc/c-api/unicode.rst b/Doc/c-api/unicode.rst
index 1b8402c..2e274ad 100644
--- a/Doc/c-api/unicode.rst
+++ b/Doc/c-api/unicode.rst
@@ -385,7 +385,7 @@
 :cdata:`Py_FileSystemEncoding` should be used as the encoding, and
 ``"surrogateescape"`` should be used as the error handler (:pep:`383`). To
 encode file names during argument parsing, the ``"O&"`` converter should be
-used, passsing :cfunc:`PyUnicode_FSConverter` as the conversion function:
+used, passing :cfunc:`PyUnicode_FSConverter` as the conversion function:
 
 .. cfunction:: int PyUnicode_FSConverter(PyObject* obj, void* result)
 
@@ -398,7 +398,7 @@
 
 
 To decode file names during argument parsing, the ``"O&"`` converter should be
-used, passsing :cfunc:`PyUnicode_FSDecoder` as the conversion function:
+used, passing :cfunc:`PyUnicode_FSDecoder` as the conversion function:
 
 .. cfunction:: int PyUnicode_FSDecoder(PyObject* obj, void* result)
 
diff --git a/Doc/distutils/builtdist.rst b/Doc/distutils/builtdist.rst
index 581f0f6..d646328 100644
--- a/Doc/distutils/builtdist.rst
+++ b/Doc/distutils/builtdist.rst
@@ -357,7 +357,7 @@
 
 To cross-compile, you must download the Python source code and cross-compile
 Python itself for the platform you are targetting - it is not possible from a
-binary installtion of Python (as the .lib etc file for other platforms are
+binary installation of Python (as the .lib etc file for other platforms are
 not included.)  In practice, this means the user of a 32 bit operating
 system will need to use Visual Studio 2008 to open the
 :file:`PCBuild/PCbuild.sln` solution in the Python source tree and build the
diff --git a/Doc/extending/newtypes.rst b/Doc/extending/newtypes.rst
index 63ea2a6..d48efc9 100644
--- a/Doc/extending/newtypes.rst
+++ b/Doc/extending/newtypes.rst
@@ -1249,7 +1249,7 @@
 where the operator is one of ``Py_EQ``, ``Py_NE``, ``Py_LE``, ``Py_GT``,
 ``Py_LT`` or ``Py_GT``.  It should compare the two objects with respect to the
 specified operator and return ``Py_True`` or ``Py_False`` if the comparison is
-successfull, ``Py_NotImplemented`` to indicate that comparison is not
+successful, ``Py_NotImplemented`` to indicate that comparison is not
 implemented and the other object's comparison method should be tried, or *NULL*
 if an exception was set.
 
diff --git a/Doc/faq/design.rst b/Doc/faq/design.rst
index 68e5b8a..217ee18 100644
--- a/Doc/faq/design.rst
+++ b/Doc/faq/design.rst
@@ -28,7 +28,7 @@
 If you're used to reading and writing code that uses one style, you will feel at
 least slightly uneasy when reading (or being required to write) another style.
 
-Many coding styles place begin/end brackets on a line by themself.  This makes
+Many coding styles place begin/end brackets on a line by themselves.  This makes
 programs considerably longer and wastes valuable screen space, making it harder
 to get a good overview of a program.  Ideally, a function should fit on one
 screen (say, 20-30 lines).  20 lines of Python can do a lot more work than 20
diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst
index a35459b..4113664 100644
--- a/Doc/faq/programming.rst
+++ b/Doc/faq/programming.rst
@@ -953,7 +953,7 @@
 -------------------------------------------------------------------------------------
 
 Starting with Python 2.2, you can use ``S.rstrip("\r\n")`` to remove all
-occurences of any line terminator from the end of the string ``S`` without
+occurrences of any line terminator from the end of the string ``S`` without
 removing other trailing whitespace.  If the string ``S`` represents more than
 one line, with several empty lines at the end, the line terminators for all the
 blank lines will be removed::
diff --git a/Doc/glossary.rst b/Doc/glossary.rst
index 5374e73..e66bf11 100644
--- a/Doc/glossary.rst
+++ b/Doc/glossary.rst
@@ -19,7 +19,7 @@
 
    2to3
       A tool that tries to convert Python 2.x code to Python 3.x code by
-      handling most of the incompatibilites which can be detected by parsing the
+      handling most of the incompatibilities which can be detected by parsing the
       source and traversing the parse tree.
 
       2to3 is available in the standard library as :mod:`lib2to3`; a standalone
diff --git a/Doc/howto/descriptor.rst b/Doc/howto/descriptor.rst
index a9ef1d8..cdb6a8e 100644
--- a/Doc/howto/descriptor.rst
+++ b/Doc/howto/descriptor.rst
@@ -296,7 +296,7 @@
     <bound method D.f of <__main__.D object at 0x00B18C90>>
 
 The output suggests that bound and unbound methods are two different types.
-While they could have been implemented that way, the actual C implemention of
+While they could have been implemented that way, the actual C implementation of
 :ctype:`PyMethod_Type` in
 `Objects/classobject.c <http://svn.python.org/view/python/trunk/Objects/classobject.c?view=markup>`_
 is a single object with two different representations depending on whether the
diff --git a/Doc/howto/sockets.rst b/Doc/howto/sockets.rst
index 9f7fe68..3927544 100644
--- a/Doc/howto/sockets.rst
+++ b/Doc/howto/sockets.rst
@@ -313,7 +313,7 @@
 Non-blocking Sockets
 ====================
 
-If you've understood the preceeding, you already know most of what you need to
+If you've understood the preceding, you already know most of what you need to
 know about the mechanics of using sockets. You'll still use the same calls, in
 much the same ways. It's just that, if you do it right, your app will be almost
 inside-out.
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
diff --git a/Doc/reference/expressions.rst b/Doc/reference/expressions.rst
index 32df042..f6a6f80 100644
--- a/Doc/reference/expressions.rst
+++ b/Doc/reference/expressions.rst
@@ -344,7 +344,7 @@
 multiple times, they have more than one entry point and their execution can be
 suspended.  The only difference is that a generator function cannot control
 where should the execution continue after it yields; the control is always
-transfered to the generator's caller.
+transferred to the generator's caller.
 
 The :keyword:`yield` statement is allowed in the :keyword:`try` clause of a
 :keyword:`try` ...  :keyword:`finally` construct.  If the generator is not
diff --git a/Doc/whatsnew/3.1.rst b/Doc/whatsnew/3.1.rst
index 6ff04ed..cebb829 100644
--- a/Doc/whatsnew/3.1.rst
+++ b/Doc/whatsnew/3.1.rst
@@ -330,7 +330,7 @@
 *  :class:`functools.partial` objects can now be pickled.
 
   (Suggested by Antoine Pitrou and Jesse Noller.  Implemented by
-  Jack Diedrich; :issue:`5228`.)
+  Jack Diederich; :issue:`5228`.)
 
 * Add :mod:`pydoc` help topics for symbols so that ``help('@')``
   works as expected in the interactive environment.
