A lot more typo fixes by Ori Avtalion.
diff --git a/Doc/library/codecs.rst b/Doc/library/codecs.rst
index e3f4311..c1d7622 100644
--- a/Doc/library/codecs.rst
+++ b/Doc/library/codecs.rst
@@ -1001,7 +1001,7 @@
 +-----------------+--------------------------------+--------------------------------+
 | iso8859_3       | iso-8859-3, latin3, L3         | Esperanto, Maltese             |
 +-----------------+--------------------------------+--------------------------------+
-| iso8859_4       | iso-8859-4, latin4, L4         | Baltic languagues              |
+| iso8859_4       | iso-8859-4, latin4, L4         | Baltic languages               |
 +-----------------+--------------------------------+--------------------------------+
 | iso8859_5       | iso-8859-5, cyrillic           | Bulgarian, Byelorussian,       |
 |                 |                                | Macedonian, Russian, Serbian   |
diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst
index 67b69a6..add16ef 100644
--- a/Doc/library/collections.rst
+++ b/Doc/library/collections.rst
@@ -470,7 +470,7 @@
 .. function:: namedtuple(typename, fieldnames, [verbose])
 
    Returns a new tuple subclass named *typename*.  The new subclass is used to
-   create tuple-like objects that have fields accessable by attribute lookup as
+   create tuple-like objects that have fields accessible by attribute lookup as
    well as being indexable and iterable.  Instances of the subclass also have a
    helpful docstring (with typename and fieldnames) and a helpful :meth:`__repr__`
    method which lists the tuple contents in a ``name=value`` format.
@@ -536,7 +536,7 @@
    >>> x, y = p                # unpack like a regular tuple
    >>> x, y
    (11, 22)
-   >>> p.x + p.y               # fields also accessable by name
+   >>> p.x + p.y               # fields also accessible by name
    33
    >>> p                       # readable __repr__ with a name=value style
    Point(x=11, y=22)
diff --git a/Doc/library/decimal.rst b/Doc/library/decimal.rst
index 1fcbcf9..2d2ae93 100644
--- a/Doc/library/decimal.rst
+++ b/Doc/library/decimal.rst
@@ -1609,7 +1609,7 @@
 original's two-place significance.
 
 If an application does not care about tracking significance, it is easy to
-remove the exponent and trailing zeroes, losing signficance, but keeping the
+remove the exponent and trailing zeroes, losing significance, but keeping the
 value unchanged::
 
     >>> def remove_exponent(d):
diff --git a/Doc/library/logging.rst b/Doc/library/logging.rst
index 3011399..23a0f22 100644
--- a/Doc/library/logging.rst
+++ b/Doc/library/logging.rst
@@ -43,7 +43,7 @@
 It is, of course, possible to log messages with different verbosity levels or to
 different destinations.  Support for writing log messages to files, HTTP
 GET/POST locations, email via SMTP, generic sockets, or OS-specific logging
-mechnisms are all supported by the standard module.  You can also create your
+mechanisms are all supported by the standard module.  You can also create your
 own log destination class if you have special requirements not met by any of the
 built-in classes.
 
@@ -267,7 +267,7 @@
 with an :func:`addHandler` method.  As an example scenario, an application may
 want to send all log messages to a log file, all log messages of error or higher
 to stdout, and all messages of critical to an email address.  This scenario
-requires three individual handlers where each hander is responsible for sending
+requires three individual handlers where each handler is responsible for sending
 messages of a specific severity to a specific location.
 
 The standard library includes quite a few handler types; this tutorial uses only
diff --git a/Doc/library/mailbox.rst b/Doc/library/mailbox.rst
index 5192acb..972ce70 100644
--- a/Doc/library/mailbox.rst
+++ b/Doc/library/mailbox.rst
@@ -433,7 +433,7 @@
 original format, which is sometimes referred to as :dfn:`mboxo`. This means that
 the :mailheader:`Content-Length` header, if present, is ignored and that any
 occurrences of "From " at the beginning of a line in a message body are
-transformed to ">From " when storing the message, although occurences of ">From
+transformed to ">From " when storing the message, although occurrences of ">From
 " are not transformed to "From " when reading the message.
 
 Some :class:`Mailbox` methods implemented by :class:`mbox` deserve special
@@ -581,7 +581,7 @@
 
 .. method:: MH.close()
 
-   :class:`MH` instances do not keep any open files, so this method is equivelant
+   :class:`MH` instances do not keep any open files, so this method is equivalent
    to :meth:`unlock`.
 
 
diff --git a/Doc/library/platform.rst b/Doc/library/platform.rst
index f479397..2ef2f0a 100644
--- a/Doc/library/platform.rst
+++ b/Doc/library/platform.rst
@@ -245,7 +245,7 @@
    version)`` which default to the given parameters in case the lookup fails.
 
    Note that this function has intimate knowledge of how different libc versions
-   add symbols to the executable is probably only useable for executables compiled
+   add symbols to the executable is probably only usable for executables compiled
    using :program:`gcc`.
 
    The file is read and scanned in chunks of *chunksize* bytes.
diff --git a/Doc/library/profile.rst b/Doc/library/profile.rst
index fe54da2..0b68832 100644
--- a/Doc/library/profile.rst
+++ b/Doc/library/profile.rst
@@ -531,7 +531,7 @@
      non-parenthesized number repeats the cumulative time spent in the function
      at the right.
 
-   * With :mod:`cProfile`, each caller is preceeded by three numbers: the number of
+   * With :mod:`cProfile`, each caller is preceded by three numbers: the number of
      times this specific call was made, and the total and cumulative times spent in
      the current function while it was invoked by this specific caller.
 
diff --git a/Doc/library/random.rst b/Doc/library/random.rst
index 07856d4..3beed6c 100644
--- a/Doc/library/random.rst
+++ b/Doc/library/random.rst
@@ -98,7 +98,7 @@
    Change the internal state to one different from and likely far away from the
    current state.  *n* is a non-negative integer which is used to scramble the
    current state vector.  This is most useful in multi-threaded programs, in
-   conjuction with multiple instances of the :class:`Random` class:
+   conjunction with multiple instances of the :class:`Random` class:
    :meth:`setstate` or :meth:`seed` can be used to force all instances into the
    same internal state, and then :meth:`jumpahead` can be used to force the
    instances' states far apart.
diff --git a/Doc/library/re.rst b/Doc/library/re.rst
index 5fd3dd5..9f13d06 100644
--- a/Doc/library/re.rst
+++ b/Doc/library/re.rst
@@ -1102,7 +1102,7 @@
    'Heather Albrecht 548.326.4584 919 Park Place']
 
 Finally, split each entry into a list with first name, last name, telephone
-number, and address.  We use the ``maxsplit`` paramater of :func:`split`
+number, and address.  We use the ``maxsplit`` parameter of :func:`split`
 because the address has spaces, our splitting pattern, in it::
 
    >>> [re.split(":? ", entry, 3) for entry in entries]
@@ -1112,7 +1112,7 @@
    ['Heather', 'Albrecht', '548.326.4584', '919 Park Place']]
 
 The ``:?`` pattern matches the colon after the last name, so that it does not
-occur in the result list.  With a ``maxsplit`` of ``4``, we could seperate the
+occur in the result list.  With a ``maxsplit`` of ``4``, we could separate the
 house number from the street name::
 
    >>> [re.split(":? ", entry, 4) for entry in entries]
@@ -1144,7 +1144,7 @@
 Finding all Adverbs
 ^^^^^^^^^^^^^^^^^^^
 
-:func:`findall` matches *all* occurences of a pattern, not just the first
+:func:`findall` matches *all* occurrences of a pattern, not just the first
 one as :func:`search` does.  For example, if one was a writer and wanted to
 find all of the adverbs in some text, he or she might use :func:`findall` in
 the following manner::
diff --git a/Doc/library/socket.rst b/Doc/library/socket.rst
index ec46066..f247006 100644
--- a/Doc/library/socket.rst
+++ b/Doc/library/socket.rst
@@ -929,5 +929,5 @@
    # receive a package
    print s.recvfrom(65565)
    
-   # disabled promiscous mode
+   # disabled promiscuous mode
    s.ioctl(socket.SIO_RCVALL, socket.RCVALL_OFF)
diff --git a/Doc/library/tokenize.rst b/Doc/library/tokenize.rst
index 9a2a11a..583e924 100644
--- a/Doc/library/tokenize.rst
+++ b/Doc/library/tokenize.rst
@@ -18,7 +18,7 @@
 
 .. function:: generate_tokens(readline)
 
-   The :func:`generate_tokens` generator requires one argment, *readline*, which
+   The :func:`generate_tokens` generator requires one argument, *readline*, which
    must be a callable object which provides the same interface as the
    :meth:`readline` method of built-in file objects (see section
    :ref:`bltin-file-objects`).  Each call to the function should return one line of
diff --git a/Doc/library/xml.etree.elementtree.rst b/Doc/library/xml.etree.elementtree.rst
index 8eb19f3..d1d4b6b 100644
--- a/Doc/library/xml.etree.elementtree.rst
+++ b/Doc/library/xml.etree.elementtree.rst
@@ -421,7 +421,7 @@
 
 .. method:: TreeBuilder.close()
 
-   Flushes the parser buffers, and returns the toplevel documen element. Returns an
+   Flushes the parser buffers, and returns the toplevel document element. Returns an
    Element instance.