typos fixed by Rob Hooft
diff --git a/Lib/Queue.py b/Lib/Queue.py
index cb04006..9d5f799 100644
--- a/Lib/Queue.py
+++ b/Lib/Queue.py
@@ -119,7 +119,7 @@
     def _qsize(self):
         return len(self.queue)
 
-    # Check wheter the queue is empty
+    # Check whether the queue is empty
     def _empty(self):
         return not self.queue
 
diff --git a/Lib/binhex.py b/Lib/binhex.py
index db6a7ef..0a28859 100644
--- a/Lib/binhex.py
+++ b/Lib/binhex.py
@@ -13,7 +13,7 @@
 # XXXX Note: currently, textfiles appear in mac-form on all platforms.
 # We seem to lack a simple character-translate in python.
 # (we should probably use ISO-Latin-1 on all but the mac platform).
-# XXXX The simeple routines are too simple: they expect to hold the complete
+# XXXX The simple routines are too simple: they expect to hold the complete
 # files in-core. Should be fixed.
 # XXXX It would be nice to handle AppleDouble format on unix
 # (for servers serving macs).
@@ -48,7 +48,7 @@
     try:
         openrf = MacOS.openrf
     except AttributeError:
-        # Backward compatability
+        # Backward compatibility
         openrf = open
     
     def FInfo():
diff --git a/Lib/calendar.py b/Lib/calendar.py
index fa96278..d3fe072 100644
--- a/Lib/calendar.py
+++ b/Lib/calendar.py
@@ -1,6 +1,6 @@
 """Calendar printing functions"""
 
-# Revision 2: uses funtions from built-in time module
+# Revision 2: uses functions from built-in time module
 
 # Import functions and variables from time module
 from time import localtime, mktime
diff --git a/Lib/distutils/cmd.py b/Lib/distutils/cmd.py
index c9b5624..d450ad3 100644
--- a/Lib/distutils/cmd.py
+++ b/Lib/distutils/cmd.py
@@ -323,7 +323,7 @@
         should be disabled by the "dry run" flag, and should announce
         themselves if the current verbosity level is high enough.  This
         method takes care of all that bureaucracy for you; all you have to
-        do is supply the funtion to call and an argument tuple for it (to
+        do is supply the function to call and an argument tuple for it (to
         embody the "external action" being performed), a message to print
         if the verbosity level is high enough, and an optional verbosity
         threshold.
diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py
index adf85d3..54d4846 100644
--- a/Lib/distutils/command/build_ext.py
+++ b/Lib/distutils/command/build_ext.py
@@ -1,7 +1,7 @@
 """distutils.command.build_ext
 
 Implements the Distutils 'build_ext' command, for building extension
-modules (currently limited to C extensions, should accomodate C++
+modules (currently limited to C extensions, should accommodate C++
 extensions ASAP)."""
 
 # created 1999/08/09, Greg Ward
@@ -385,7 +385,7 @@
             # Next, compile the source code to object files.
 
             # XXX not honouring 'define_macros' or 'undef_macros' -- the
-            # CCompiler API needs to change to accomodate this, and I
+            # CCompiler API needs to change to accommodate this, and I
             # want to do one thing at a time!
 
             # Two possible sources for extra compiler arguments:
diff --git a/Lib/distutils/util.py b/Lib/distutils/util.py
index 5c1de78..ebfdf0a 100644
--- a/Lib/distutils/util.py
+++ b/Lib/distutils/util.py
@@ -28,7 +28,7 @@
         return os.path.normpath(path)
 
 
-# More backwards compatability hacks
+# More backwards compatibility hacks
 def extend (list, new_list):
     """Appends the list 'new_list' to 'list', just like the 'extend()'
        list method does in Python 1.5.2 -- but this works on earlier
diff --git a/Lib/distutils/version.py b/Lib/distutils/version.py
index 918a1de..8b9ef10 100644
--- a/Lib/distutils/version.py
+++ b/Lib/distutils/version.py
@@ -207,7 +207,7 @@
 # provides enough benefit to be worth using, and will submit their
 # version numbering scheme to its domination.  The free-thinking
 # anarchists in the lot will never give in, though, and something needs
-# to be done to accomodate them.
+# to be done to accommodate them.
 # 
 # Perhaps a "moderately strict" version class could be implemented that
 # lets almost anything slide (syntactically), and makes some heuristic
diff --git a/Lib/dos-8x3/posixpat.py b/Lib/dos-8x3/posixpat.py
index a603e9e..14b9270 100755
--- a/Lib/dos-8x3/posixpat.py
+++ b/Lib/dos-8x3/posixpat.py
@@ -24,7 +24,7 @@
     return s
 
 
-# Return wheter a path is absolute.
+# Return whether a path is absolute.
 # Trivial in Posix, harder on the Mac or MS-DOS.
 
 def isabs(s):
@@ -304,7 +304,7 @@
 
 # Expand paths containing shell variable substitutions.
 # This expands the forms $variable and ${variable} only.
-# Non-existant variables are left unchanged.
+# Non-existent variables are left unchanged.
 
 _varprog = None
 
diff --git a/Lib/dos-8x3/queue.py b/Lib/dos-8x3/queue.py
index cb04006..9d5f799 100755
--- a/Lib/dos-8x3/queue.py
+++ b/Lib/dos-8x3/queue.py
@@ -119,7 +119,7 @@
     def _qsize(self):
         return len(self.queue)
 
-    # Check wheter the queue is empty
+    # Check whether the queue is empty
     def _empty(self):
         return not self.queue
 
diff --git a/Lib/dos-8x3/test_win.py b/Lib/dos-8x3/test_win.py
index 1af095a..5eb2986 100644
--- a/Lib/dos-8x3/test_win.py
+++ b/Lib/dos-8x3/test_win.py
@@ -115,7 +115,7 @@
     # Opening should now fail!
     try:
         key = OpenKey(root_key, test_key_name)
-        assert 0, "Could open the non-existant key"
+        assert 0, "Could open the non-existent key"
     except WindowsError: # Use this error name this time
         pass
 
diff --git a/Lib/fnmatch.py b/Lib/fnmatch.py
index ed81594..75d2d6e 100644
--- a/Lib/fnmatch.py
+++ b/Lib/fnmatch.py
@@ -36,7 +36,7 @@
 	return fnmatchcase(name, pat)
 
 def fnmatchcase(name, pat):
-	"""Test wheter FILENAME matches PATTERN, including case.
+	"""Test whether FILENAME matches PATTERN, including case.
 	
 	This is a version of fnmatch() which doesn't case-normalize
 	its arguments.
diff --git a/Lib/locale.py b/Lib/locale.py
index a4e1e44..437755e 100644
--- a/Lib/locale.py
+++ b/Lib/locale.py
@@ -220,7 +220,7 @@
 
         The language code corresponds to RFC 1766.  code and encoding
         can be None in case the values cannot be determined or are
-        unkown to this implementation.
+        unknown to this implementation.
 
     """
     code = normalize(localename)
@@ -229,7 +229,7 @@
     elif code == 'C':
         return None, None
     else:
-        raise ValueError,'unkown locale: %s' % localename
+        raise ValueError,'unknown locale: %s' % localename
     return l
 
 def _build_localename(localetuple):
diff --git a/Lib/plat-irix5/CL_old.py b/Lib/plat-irix5/CL_old.py
index 41c56e0..d9a4100 100755
--- a/Lib/plat-irix5/CL_old.py
+++ b/Lib/plat-irix5/CL_old.py
@@ -200,7 +200,7 @@
 BOTTOM_UP = 1
 
 #
-# SGI Proprietaty Algorithm Header Start Code
+# SGI Proprietary Algorithm Header Start Code
 #
 HEADER_START_CODE = 0xc1C0DEC
 
diff --git a/Lib/plat-irix5/flp.py b/Lib/plat-irix5/flp.py
index 484c8ff..9f1957f 100755
--- a/Lib/plat-irix5/flp.py
+++ b/Lib/plat-irix5/flp.py
@@ -203,7 +203,7 @@
     return datum[1]
 #
 # Internal: parse fd form, or skip if name doesn't match.
-# the special value None means 'allways parse it'.
+# the special value None means 'always parse it'.
 #
 def _parse_fd_form(file, name):
     datum = _parse_1_line(file)
@@ -222,7 +222,7 @@
     return None
 
 #
-# Internal class: a convient place to store object info fields
+# Internal class: a convenient place to store object info fields
 #
 class _newobj:
     def add(self, name, value):
diff --git a/Lib/plat-irix5/panel.py b/Lib/plat-irix5/panel.py
index 2c0365c..629bee5 100755
--- a/Lib/plat-irix5/panel.py
+++ b/Lib/plat-irix5/panel.py
@@ -2,7 +2,7 @@
 #
 # Support for the Panel library.
 # Uses built-in module 'pnl'.
-# Applciations should use 'panel.function' instead of 'pnl.function';
+# Applications should use 'panel.function' instead of 'pnl.function';
 # most 'pnl' functions are transparently exported by 'panel',
 # but dopanel() is overridden and you have to use this version
 # if you want to use callbacks.
@@ -137,7 +137,7 @@
 					print 'assign failed:', stmt
 
 
-# Build a real actuator from an actuator descriptior.
+# Build a real actuator from an actuator description.
 # Return a pair (actuator, name).
 #
 def build_actuator(descr):
diff --git a/Lib/plat-irix6/flp.py b/Lib/plat-irix6/flp.py
index 484c8ff..9f1957f 100644
--- a/Lib/plat-irix6/flp.py
+++ b/Lib/plat-irix6/flp.py
@@ -203,7 +203,7 @@
     return datum[1]
 #
 # Internal: parse fd form, or skip if name doesn't match.
-# the special value None means 'allways parse it'.
+# the special value None means 'always parse it'.
 #
 def _parse_fd_form(file, name):
     datum = _parse_1_line(file)
@@ -222,7 +222,7 @@
     return None
 
 #
-# Internal class: a convient place to store object info fields
+# Internal class: a convenient place to store object info fields
 #
 class _newobj:
     def add(self, name, value):
diff --git a/Lib/plat-irix6/panel.py b/Lib/plat-irix6/panel.py
index 2c0365c..629bee5 100644
--- a/Lib/plat-irix6/panel.py
+++ b/Lib/plat-irix6/panel.py
@@ -2,7 +2,7 @@
 #
 # Support for the Panel library.
 # Uses built-in module 'pnl'.
-# Applciations should use 'panel.function' instead of 'pnl.function';
+# Applications should use 'panel.function' instead of 'pnl.function';
 # most 'pnl' functions are transparently exported by 'panel',
 # but dopanel() is overridden and you have to use this version
 # if you want to use callbacks.
@@ -137,7 +137,7 @@
 					print 'assign failed:', stmt
 
 
-# Build a real actuator from an actuator descriptior.
+# Build a real actuator from an actuator description.
 # Return a pair (actuator, name).
 #
 def build_actuator(descr):
diff --git a/Lib/posixpath.py b/Lib/posixpath.py
index a603e9e..14b9270 100644
--- a/Lib/posixpath.py
+++ b/Lib/posixpath.py
@@ -24,7 +24,7 @@
     return s
 
 
-# Return wheter a path is absolute.
+# Return whether a path is absolute.
 # Trivial in Posix, harder on the Mac or MS-DOS.
 
 def isabs(s):
@@ -304,7 +304,7 @@
 
 # Expand paths containing shell variable substitutions.
 # This expands the forms $variable and ${variable} only.
-# Non-existant variables are left unchanged.
+# Non-existent variables are left unchanged.
 
 _varprog = None
 
diff --git a/Lib/sgmllib.py b/Lib/sgmllib.py
index a620a7d..8be7d55 100644
--- a/Lib/sgmllib.py
+++ b/Lib/sgmllib.py
@@ -47,7 +47,7 @@
 # <foo> and </foo>, respectively, or do_foo to handle <foo> by itself.
 # (Tags are converted to lower case for this purpose.)  The data
 # between tags is passed to the parser by calling self.handle_data()
-# with some data as argument (the data may be split up in arbutrary
+# with some data as argument (the data may be split up in arbitrary
 # chunks).  Entity references are passed by calling
 # self.handle_entityref() with the entity reference as argument.
 
diff --git a/Lib/site.py b/Lib/site.py
index dabd364..70284e1 100644
--- a/Lib/site.py
+++ b/Lib/site.py
@@ -122,7 +122,7 @@
 #
 # Set the string encoding used by the Unicode implementation to the
 # encoding used by the default locale of this system. If the default
-# encoding cannot be determined or is unkown, it defaults to 'ascii'.
+# encoding cannot be determined or is unknown, it defaults to 'ascii'.
 #
 def locale_aware_defaultencoding():
     import locale
diff --git a/Lib/test/test_al.py b/Lib/test/test_al.py
index 587bf1f..d7b5ec4 100755
--- a/Lib/test/test_al.py
+++ b/Lib/test/test_al.py
@@ -8,7 +8,7 @@
 alattrs = ['__doc__', '__name__', 'getdefault', 'getminmax', 'getname', 'getparams',
            'newconfig', 'openport', 'queryparams', 'setparams']
 
-# This is a very inobstrusive test for the existance of the al module and all it's
+# This is a very unobtrusive test for the existence of the al module and all it's
 # attributes.  More comprehensive examples can be found in Demo/al
 
 def main():
diff --git a/Lib/test/test_b1.py b/Lib/test/test_b1.py
index b063e5a..639a017 100644
--- a/Lib/test/test_b1.py
+++ b/Lib/test/test_b1.py
@@ -270,7 +270,7 @@
 # Different base:
 if int("10",16) <> 16L: raise TestFailed, 'int("10",16)'
 if int(u"10",16) <> 16L: raise TestFailed, 'int(u"10",16)'
-# Test conversion fron strings and various anomalies
+# Test conversion from strings and various anomalies
 L = [
         ('0', 0),
         ('1', 1),
diff --git a/Lib/test/test_cd.py b/Lib/test/test_cd.py
index 4d56158..9a45a7d 100755
--- a/Lib/test/test_cd.py
+++ b/Lib/test/test_cd.py
@@ -10,7 +10,7 @@
            'ident', 'index', 'msftoframe', 'open', 'pnum', 'ptime']
 
 
-# This is a very inobstrusive test for the existance of the cd module and all it's
+# This is a very inobtrusive test for the existence of the cd module and all it's
 # attributes.  More comprehensive examples can be found in Demo/cd and
 # require that you have a CD and a CD ROM drive
 
diff --git a/Lib/test/test_cl.py b/Lib/test/test_cl.py
index 60fbc43..26c5146 100755
--- a/Lib/test/test_cl.py
+++ b/Lib/test/test_cl.py
@@ -63,7 +63,7 @@
 'YUV422DC', 'YUV422HC', '__doc__', '__name__', 'cvt_type', 'error']
 
 
-# This is a very inobstrusive test for the existance of the cl
+# This is a very inobtrusive test for the existence of the cl
 # module and all it's attributes.
 
 def main():
diff --git a/Lib/test/test_pwd.py b/Lib/test/test_pwd.py
index 79bf866..edd40f4 100644
--- a/Lib/test/test_pwd.py
+++ b/Lib/test/test_pwd.py
@@ -59,7 +59,7 @@
 else:
     print 'fakename', fakename, 'did not except pwd.getpwnam()'
 
-# Choose a non-existant uid.
+# Choose a non-existent uid.
 fakeuid = 4127
 while byuids.has_key(fakeuid):
     fakeuid = (fakeuid * 3) % 0x10000
diff --git a/Lib/test/test_winreg.py b/Lib/test/test_winreg.py
index 1af095a..5eb2986 100644
--- a/Lib/test/test_winreg.py
+++ b/Lib/test/test_winreg.py
@@ -115,7 +115,7 @@
     # Opening should now fail!
     try:
         key = OpenKey(root_key, test_key_name)
-        assert 0, "Could open the non-existant key"
+        assert 0, "Could open the non-existent key"
     except WindowsError: # Use this error name this time
         pass
 
diff --git a/Lib/test/test_zlib.py b/Lib/test/test_zlib.py
index ccfbc7d..d22a2cc 100644
--- a/Lib/test/test_zlib.py
+++ b/Lib/test/test_zlib.py
@@ -11,7 +11,7 @@
 buf = file.read() * 8
 file.close()
 
-# test the chucksums (hex so the test doesn't break on 64-bit machines)
+# test the checksums (hex so the test doesn't break on 64-bit machines)
 print hex(zlib.crc32('penguin')), hex(zlib.crc32('penguin', 1))
 print hex(zlib.adler32('penguin')), hex(zlib.adler32('penguin', 1))
 
diff --git a/Lib/urllib2.py b/Lib/urllib2.py
index c147560..c4e5348 100644
--- a/Lib/urllib2.py
+++ b/Lib/urllib2.py
@@ -141,7 +141,7 @@
     _opener = opener
 
 # do these error classes make sense?
-# make sure all of the IOError stuff is overriden.  we just want to be 
+# make sure all of the IOError stuff is overridden.  we just want to be 
  # subtypes.
 
 class URLError(IOError):
diff --git a/Lib/xmllib.py b/Lib/xmllib.py
index 4c6594b..37f3f91 100644
--- a/Lib/xmllib.py
+++ b/Lib/xmllib.py
@@ -79,7 +79,7 @@
 # special names to handle tags: start_foo and end_foo to handle <foo>
 # and </foo>, respectively.  The data between tags is passed to the
 # parser by calling self.handle_data() with some data as argument (the
-# data may be split up in arbutrary chunks).
+# data may be split up in arbitrary chunks).
 
 class XMLParser:
     attributes = {}                     # default, to be overridden