diff --git a/Lib/ConfigParser.py b/Lib/ConfigParser.py
index fa6b053..7503ba2 100644
--- a/Lib/ConfigParser.py
+++ b/Lib/ConfigParser.py
@@ -19,7 +19,7 @@
 
 class:
 
-ConfigParser -- responsible for for parsing a list of
+ConfigParser -- responsible for parsing a list of
                 configuration files, and managing the parsed database.
 
     methods:
diff --git a/Lib/Cookie.py b/Lib/Cookie.py
index 3b2592a..a6ca654 100644
--- a/Lib/Cookie.py
+++ b/Lib/Cookie.py
@@ -76,7 +76,7 @@
 Notice that the printable representation of a Cookie is the
 appropriate format for a Set-Cookie: header.  This is the
 default behavior.  You can change the header and printed
-attributes by using the the .output() function
+attributes by using the .output() function
 
    >>> C = Cookie.SmartCookie()
    >>> C["rocky"] = "road"
diff --git a/Lib/asyncore.py b/Lib/asyncore.py
index a38c911..7fb84b4 100644
--- a/Lib/asyncore.py
+++ b/Lib/asyncore.py
@@ -497,7 +497,7 @@
 #
 # After a little research (reading man pages on various unixen, and
 # digging through the linux kernel), I've determined that select()
-# isn't meant for doing doing asynchronous file i/o.
+# isn't meant for doing asynchronous file i/o.
 # Heartening, though - reading linux/mm/filemap.c shows that linux
 # supports asynchronous read-ahead.  So _MOST_ of the time, the data
 # will be sitting in memory for us already when we go to read it.
diff --git a/Lib/distutils/cmd.py b/Lib/distutils/cmd.py
index 7e7a4cd..6e44221 100644
--- a/Lib/distutils/cmd.py
+++ b/Lib/distutils/cmd.py
@@ -148,7 +148,7 @@
         """Set final values for all the options that this command supports.
         This is always called as late as possible, ie.  after any option
         assignments from the command-line or from other commands have been
-        done.  Thus, this is the place to to code option dependencies: if
+        done.  Thus, this is the place to code option dependencies: if
         'foo' depends on 'bar', then it is safe to set 'foo' from 'bar' as
         long as 'foo' still has the same value it was assigned in
         'initialize_options()'.
diff --git a/Lib/email/Message.py b/Lib/email/Message.py
index d4c10df..9f826d8 100644
--- a/Lib/email/Message.py
+++ b/Lib/email/Message.py
@@ -775,7 +775,7 @@
                 newparams.append((pk, pv))
         if not foundp:
             # The original Content-Type header had no boundary attribute.
-            # Tack one one the end.  BAW: should we raise an exception
+            # Tack one on the end.  BAW: should we raise an exception
             # instead???
             newparams.append(('boundary', '"%s"' % boundary))
         # Replace the existing Content-Type header with the new value
diff --git a/Lib/heapq.py b/Lib/heapq.py
index fee7a24..2c30b12 100644
--- a/Lib/heapq.py
+++ b/Lib/heapq.py
@@ -238,7 +238,7 @@
         heap[pos] = heap[childpos]
         pos = childpos
         childpos = 2*pos + 1
-    # The leaf at pos is empty now.  Put newitem there, and and bubble it up
+    # The leaf at pos is empty now.  Put newitem there, and bubble it up
     # to its final resting place (by sifting its parents down).
     heap[pos] = newitem
     _siftdown(heap, startpos, pos)
diff --git a/Lib/ihooks.py b/Lib/ihooks.py
index 4034b01..19faac9 100644
--- a/Lib/ihooks.py
+++ b/Lib/ihooks.py
@@ -18,7 +18,7 @@
 by standard modules os and os.path.  It should be used as the base
 class for other hooks classes.
 
-2) A "module loader" class provides an interface to to search for a
+2) A "module loader" class provides an interface to search for a
 module in a search path and to load it.  It defines a method which
 searches for a module in a single directory; by overriding this method
 one can redefine the details of the search.  If the directory is None,
diff --git a/Lib/mimetypes.py b/Lib/mimetypes.py
index 5784e23..77fdcdf 100644
--- a/Lib/mimetypes.py
+++ b/Lib/mimetypes.py
@@ -65,7 +65,7 @@
             self.read(name, strict)
 
     def add_type(self, type, ext, strict=True):
-        """Add a mapping between a type and and extension.
+        """Add a mapping between a type and an extension.
 
         When the extension is already known, the new
         type will replace the old one. When the type
@@ -269,7 +269,7 @@
     return guess_extension(type, strict)
 
 def add_type(self, type, ext, strict=True):
-    """Add a mapping between a type and and extension.
+    """Add a mapping between a type and an extension.
 
     When the extension is already known, the new
     type will replace the old one. When the type
diff --git a/Lib/ntpath.py b/Lib/ntpath.py
index fcb899b..687d885 100644
--- a/Lib/ntpath.py
+++ b/Lib/ntpath.py
@@ -301,7 +301,7 @@
 # For each directory under top (including top itself, but excluding
 # '.' and '..'), func(arg, dirname, filenames) is called, where
 # dirname is the name of the directory and filenames is the list
-# files files (and subdirectories etc.) in the directory.
+# of files (and subdirectories etc.) in the directory.
 # The func may modify the filenames list, to implement a filter,
 # or to impose a different order of visiting.
 
diff --git a/Lib/os2emxpath.py b/Lib/os2emxpath.py
index 67f00df..09982aa 100644
--- a/Lib/os2emxpath.py
+++ b/Lib/os2emxpath.py
@@ -260,7 +260,7 @@
 # For each directory under top (including top itself, but excluding
 # '.' and '..'), func(arg, dirname, filenames) is called, where
 # dirname is the name of the directory and filenames is the list
-# files files (and subdirectories etc.) in the directory.
+# of files (and subdirectories etc.) in the directory.
 # The func may modify the filenames list, to implement a filter,
 # or to impose a different order of visiting.
 
diff --git a/Lib/pre.py b/Lib/pre.py
index 79fb042..b6dd09b 100644
--- a/Lib/pre.py
+++ b/Lib/pre.py
@@ -607,7 +607,7 @@
         whole match is returned). If a groupN argument is zero, the
         corresponding return value is the entire matching string; if
         it is in the inclusive range [1..99], it is the string
-        matching the the corresponding parenthesized group. If a group
+        matching the corresponding parenthesized group. If a group
         number is negative or larger than the number of groups defined
         in the pattern, an IndexError exception is raised. If a group
         is contained in a part of the pattern that did not match, the
diff --git a/Lib/profile.doc b/Lib/profile.doc
index bf5d8e3..8724484 100644
--- a/Lib/profile.doc
+++ b/Lib/profile.doc
@@ -339,7 +339,7 @@
 basis of a sort (example: "time" or "name").
 
 When more than one key is provided, then additional keys are used as
-secondary criteria when the there is equality in all keys selected
+secondary criteria when there is equality in all keys selected
 before them.  For example, sort_stats('name', 'file') will sort all
 the entries according to their function name, and resolve all ties
 (identical function names) by sorting by file name.
@@ -464,7 +464,7 @@
 There is a fundamental problem with deterministic profilers involving
 accuracy.  The most obvious restriction is that the underlying "clock"
 is only ticking at a rate (typically) of about .001 seconds.  Hence no
-measurements will be more accurate that that underlying clock.  If
+measurements will be more accurate than that underlying clock.  If
 enough measurements are taken, then the "error" will tend to average
 out. Unfortunately, removing this first error induces a second source
 of error...
diff --git a/Lib/rlcompleter.py b/Lib/rlcompleter.py
index de4c024..1d29167 100644
--- a/Lib/rlcompleter.py
+++ b/Lib/rlcompleter.py
@@ -117,7 +117,7 @@
         Assuming the text is of the form NAME.NAME....[NAME], and is
         evaluatable in self.namespace, it will be evaluated and its attributes
         (as revealed by dir()) are used as possible completions.  (For class
-        instances, class members are are also considered.)
+        instances, class members are also considered.)
 
         WARNING: this can still invoke arbitrary C code, if an object
         with a __getattr__ hook is evaluated.
diff --git a/Lib/site.py b/Lib/site.py
index 788a94a..e7b9369 100644
--- a/Lib/site.py
+++ b/Lib/site.py
@@ -10,7 +10,7 @@
 import, this is no longer necessary (but code that does it still
 works).
 
-This will append site-specific paths to to the module search path.  On
+This will append site-specific paths to the module search path.  On
 Unix, it starts with sys.prefix and sys.exec_prefix (if different) and
 appends lib/python<version>/site-packages as well as lib/site-python.
 On other platforms (mainly Mac and Windows), it uses just sys.prefix
diff --git a/Lib/test/test_class.py b/Lib/test/test_class.py
index 3c3ea06..a37f2a4 100644
--- a/Lib/test/test_class.py
+++ b/Lib/test/test_class.py
@@ -202,7 +202,7 @@
     oct(testme)
     hex(testme)
 else:
-    # Jython enforced that the these methods return
+    # Jython enforced that these methods return
     # a value of the expected type.
     print "__int__: ()"
     print "__long__: ()"
diff --git a/Lib/test/test_errno.py b/Lib/test/test_errno.py
index 7869328..6b02e25 100755
--- a/Lib/test/test_errno.py
+++ b/Lib/test/test_errno.py
@@ -34,7 +34,7 @@
           'EUSERS', 'EWOULDBLOCK', 'EXDEV', 'EXFULL']
 
 #
-# This is is a wee bit bogus since the module only conditionally adds
+# This is a wee bit bogus since the module only conditionally adds
 # errno constants if they have been defined by errno.h  However, this
 # test seems to work on SGI, Sparc & intel Solaris, and linux.
 #
diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py
index 028ec08..d5f4774 100644
--- a/Lib/test/test_os.py
+++ b/Lib/test/test_os.py
@@ -1,6 +1,6 @@
 # As a test suite for the os module, this is woefully inadequate, but this
 # does add tests for a few functions which have been determined to be more
-# more portable than they had been thought to be.
+# portable than they had been thought to be.
 
 import os
 import unittest
diff --git a/Lib/test/test_stringprep.py b/Lib/test/test_stringprep.py
index c116adc..4459689 100644
--- a/Lib/test/test_stringprep.py
+++ b/Lib/test/test_stringprep.py
@@ -71,7 +71,7 @@
 # This would generate a hash of all predicates. However, running
 # it is quite expensive, and only serves to detect changes in the
 # unicode database. Instead, stringprep.py asserts the version of
-# of the database.
+# the database.
 
 # predicates = [k for k in dir(stringprep) if k.startswith("in_table")]
 # predicates.sort()
diff --git a/Lib/urllib2.py b/Lib/urllib2.py
index 7124dfb..9f123ab 100644
--- a/Lib/urllib2.py
+++ b/Lib/urllib2.py
@@ -802,7 +802,7 @@
 class AbstractHTTPHandler(BaseHandler):
 
     # XXX Should rewrite do_open() to use the new httplib interface,
-    # would would be a little simpler.
+    # would be a little simpler.
 
     def do_open(self, http_class, req):
         host = req.get_host()
diff --git a/Lib/whichdb.py b/Lib/whichdb.py
index d60284e..deb8a02 100644
--- a/Lib/whichdb.py
+++ b/Lib/whichdb.py
@@ -51,7 +51,7 @@
         except (IOError, _dbmerror):
             pass
 
-    # Check for dumbdbm next -- this has a .dir and and a .dat file
+    # Check for dumbdbm next -- this has a .dir and a .dat file
     try:
         # First check for presence of files
         os.stat(filename + os.extsep + "dat")
diff --git a/Lib/xmlrpclib.py b/Lib/xmlrpclib.py
index e67f2f0..20d6e71 100644
--- a/Lib/xmlrpclib.py
+++ b/Lib/xmlrpclib.py
@@ -994,7 +994,7 @@
 # represents a fault condition, this function raises a Fault exception.
 #
 # @param data An XML-RPC packet, given as an 8-bit string.
-# @return A tuple containing the the unpacked data, and the method name
+# @return A tuple containing the unpacked data, and the method name
 #     (None if not present).
 # @see Fault
 
