Spelling fixes supplied by Rob W. W. Hooft. All these are fixes in either
comments, docstrings or error messages. I fixed two minor things in
test_winreg.py ("didn't" -> "Didn't" and "Didnt" -> "Didn't").

There is a minor style issue involved: Guido seems to have preferred English
grammar (behaviour, honour) in a couple places. This patch changes that to
American, which is the more prominent style in the source. I prefer English
myself, so if English is preferred, I'd be happy to supply a patch myself ;)
diff --git a/Lib/UserList.py b/Lib/UserList.py
index 7bd0298..d4a8d2f 100644
--- a/Lib/UserList.py
+++ b/Lib/UserList.py
@@ -4,7 +4,7 @@
     def __init__(self, initlist=None):
         self.data = []
         if initlist is not None:
-            # XXX should this accept an arbitary sequence?
+            # XXX should this accept an arbitrary sequence?
             if type(initlist) == type(self.data):
                 self.data[:] = initlist
             elif isinstance(initlist, UserList):
diff --git a/Lib/aifc.py b/Lib/aifc.py
index 0af6622..e00b23f 100644
--- a/Lib/aifc.py
+++ b/Lib/aifc.py
@@ -82,7 +82,7 @@
   close()     -- close the instance (make it unusable)
 The position returned by tell(), the position given to setpos() and
 the position of marks are all compatible and have nothing to do with
-the actual postion in the file.
+the actual position in the file.
 The close() method is called automatically when the class instance
 is destroyed.
 
diff --git a/Lib/asynchat.py b/Lib/asynchat.py
index 8b2f59f..4e02fa5 100644
--- a/Lib/asynchat.py
+++ b/Lib/asynchat.py
@@ -287,7 +287,7 @@
 ##	return result
 
 # yes, this is about twice as fast, but still seems
-# to be neglible CPU.  The previous could do about 290
+# to be negligible CPU.  The previous could do about 290
 # searches/sec. the new one about 555/sec.
 
 import regex
diff --git a/Lib/binhex.py b/Lib/binhex.py
index 0a28859..275701d 100644
--- a/Lib/binhex.py
+++ b/Lib/binhex.py
@@ -75,7 +75,7 @@
 
 else:
     #
-    # Glue code for non-macintosh useage
+    # Glue code for non-macintosh usage
     #
     
     class FInfo:
diff --git a/Lib/cgi.py b/Lib/cgi.py
index 4eaa983..7c95706 100755
--- a/Lib/cgi.py
+++ b/Lib/cgi.py
@@ -83,7 +83,7 @@
 If the submitted form data contains more than one field with the same
 name, the object retrieved by form[key] is not a (Mini)FieldStorage
 instance but a list of such instances.  If you are expecting this
-possibility (i.e., when your HTML form comtains multiple fields with
+possibility (i.e., when your HTML form contains multiple fields with
 the same name), use the type() function to determine whether you have
 a single instance or a list of instances.  For example, here's code
 that concatenates any number of username fields, separated by commas:
@@ -106,7 +106,7 @@
 If a field represents an uploaded file, the value attribute reads the 
 entire file in memory as a string.  This may not be what you want.  You can 
 test for an uploaded file by testing either the filename attribute or the 
-file attribute.  You can then read the data at leasure from the file 
+file attribute.  You can then read the data at leisure from the file 
 attribute:
 
         fileitem = form["userfile"]
@@ -500,7 +500,7 @@
 
         keep_blank_values: flag indicating whether blank values in
             URL encoded forms should be treated as blank strings.  
-            A true value inicates that blanks should be retained as 
+            A true value indicates that blanks should be retained as 
             blank strings.  The default false value indicates that
             blank values are to be ignored and treated as if they were
             not included.
@@ -551,7 +551,7 @@
 
         keep_blank_values: flag indicating whether blank values in
             URL encoded queries should be treated as blank strings.  
-            A true value inicates that blanks should be retained as 
+            A true value indicates that blanks should be retained as 
             blank strings.  The default false value indicates that
             blank values are to be ignored and treated as if they were
             not included.
@@ -578,7 +578,7 @@
 
         keep_blank_values: flag indicating whether blank values in
             URL encoded queries should be treated as blank strings.  
-            A true value inicates that blanks should be retained as 
+            A true value indicates that blanks should be retained as 
             blank strings.  The default false value indicates that
             blank values are to be ignored and treated as if they were
             not included.
@@ -806,7 +806,7 @@
 
         keep_blank_values: flag indicating whether blank values in
             URL encoded forms should be treated as blank strings.  
-            A true value inicates that blanks should be retained as 
+            A true value indicates that blanks should be retained as 
             blank strings.  The default false value indicates that
             blank values are to be ignored and treated as if they were
             not included.
diff --git a/Lib/codecs.py b/Lib/codecs.py
index fbb9824..2c1d835 100644
--- a/Lib/codecs.py
+++ b/Lib/codecs.py
@@ -273,7 +273,7 @@
         """ Resets the codec buffers used for keeping state.
 
             Note that no stream repositioning should take place.
-            This method is primarely intended to be able to recover
+            This method is primarily intended to be able to recover
             from decoding errors.
 
         """
@@ -295,7 +295,7 @@
         work in both read and write modes.
 
         The design is such that one can use the factory functions
-        returned by the codec.lookup() function to contruct the
+        returned by the codec.lookup() function to construct the
         instance.
 
     """
diff --git a/Lib/dos-8x3/multifil.py b/Lib/dos-8x3/multifil.py
index 977b92f..cc8f43c 100755
--- a/Lib/dos-8x3/multifil.py
+++ b/Lib/dos-8x3/multifil.py
@@ -21,7 +21,7 @@
 The latter sequence may be used recursively at (A).
 It is also allowed to use multiple push()...pop() sequences.
 
-If seekable is given as 0, the class code will not do the bookeeping
+If seekable is given as 0, the class code will not do the bookkeeping
 it normally attempts in order to make seeks relative to the beginning of the
 current file part.  This may be useful when using MultiFile with a non-
 seekable stream object.
diff --git a/Lib/dos-8x3/rlcomple.py b/Lib/dos-8x3/rlcomple.py
index 7a248fe..8cd21ed 100644
--- a/Lib/dos-8x3/rlcomple.py
+++ b/Lib/dos-8x3/rlcomple.py
@@ -84,7 +84,7 @@
         """Compute matches when text contains a dot.
 
         Assuming the text is of the form NAME.NAME....[NAME], and is
-        evaluabable in the globals of __main__, it will be evaluated
+        evaluatable in the globals of __main__, 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.)
diff --git a/Lib/dos-8x3/sre_comp.py b/Lib/dos-8x3/sre_comp.py
index 590e45f..fa0cf37 100644
--- a/Lib/dos-8x3/sre_comp.py
+++ b/Lib/dos-8x3/sre_comp.py
@@ -20,7 +20,7 @@
     if len(array.array(WORDSIZE, [0]).tostring()) == _sre.getcodesize():
         break
 else:
-    raise RuntimeError, "cannot find a useable array type"
+    raise RuntimeError, "cannot find a usable array type"
 
 def _compile(code, pattern, flags):
     # internal: compile a (sub)pattern
diff --git a/Lib/dos-8x3/stringol.py b/Lib/dos-8x3/stringol.py
index 8fa7dd4..c3e6f6f 100644
--- a/Lib/dos-8x3/stringol.py
+++ b/Lib/dos-8x3/stringol.py
@@ -118,7 +118,7 @@
     """join(list [,sep]) -> string
 
     Return a string composed of the words in list, with
-    intervening occurences of sep.  The default separator is a
+    intervening occurrences of sep.  The default separator is a
     single space.
 
     (joinfields and join are synonymous)
diff --git a/Lib/dos-8x3/test_ima.py b/Lib/dos-8x3/test_ima.py
index 63ab138..6b144c6 100644
--- a/Lib/dos-8x3/test_ima.py
+++ b/Lib/dos-8x3/test_ima.py
@@ -62,7 +62,7 @@
     image = imageop.grey2rgb(greyimage, width, height)
     
     # Convert a 8-bit deep greyscale image to a 1-bit deep image by
-    # tresholding all the pixels. The resulting image is tightly packed
+    # thresholding all the pixels. The resulting image is tightly packed
     # and is probably only useful as an argument to mono2grey. 
     if verbose:
         print 'grey2mono'
diff --git a/Lib/dos-8x3/threadst.py b/Lib/dos-8x3/threadst.py
index c2b08f2..d9c2788 100644
--- a/Lib/dos-8x3/threadst.py
+++ b/Lib/dos-8x3/threadst.py
@@ -1,7 +1,7 @@
 import thread
-# Start empty thread to initialise thread mechanics (and global lock!)
+# Start empty thread to initialize thread mechanics (and global lock!)
 # This thread will finish immediately thus won't make much influence on
-# test results by itself, only by that fact that it initialises global lock
+# test results by itself, only by that fact that it initializes global lock
 thread.start_new_thread(lambda : 1, ())
 
 import test.pystone
diff --git a/Lib/dos-8x3/tracebac.py b/Lib/dos-8x3/tracebac.py
index 4675077..d219340 100755
--- a/Lib/dos-8x3/tracebac.py
+++ b/Lib/dos-8x3/tracebac.py
@@ -117,7 +117,7 @@
 	have the same meaning as the corresponding arguments to
 	print_exception().  The return value is a list of strings, each
 	ending in a newline and some containing internal newlines.  When 
-	these lines are contatenated and printed, exactly the same text is
+	these lines are concatenated and printed, exactly the same text is
 	printed as does print_exception()."""
 	if tb:
 		list = ['Traceback (most recent call last):\n']
diff --git a/Lib/dos-8x3/userlist.py b/Lib/dos-8x3/userlist.py
index 7bd0298..d4a8d2f 100755
--- a/Lib/dos-8x3/userlist.py
+++ b/Lib/dos-8x3/userlist.py
@@ -4,7 +4,7 @@
     def __init__(self, initlist=None):
         self.data = []
         if initlist is not None:
-            # XXX should this accept an arbitary sequence?
+            # XXX should this accept an arbitrary sequence?
             if type(initlist) == type(self.data):
                 self.data[:] = initlist
             elif isinstance(initlist, UserList):
diff --git a/Lib/encodings/cp856.py b/Lib/encodings/cp856.py
index a0aa4c1..f384acb 100644
--- a/Lib/encodings/cp856.py
+++ b/Lib/encodings/cp856.py
@@ -120,10 +120,10 @@
 	0x00d0: None,	# UNDEFINED
 	0x00d1: None,	# UNDEFINED
 	0x00d2: None,	# UNDEFINED
-	0x00d3: None,	# UNDEFINEDS
+	0x00d3: None,	# UNDEFINED
 	0x00d4: None,	# UNDEFINED
 	0x00d5: None,	# UNDEFINED
-	0x00d6: None,	# UNDEFINEDE
+	0x00d6: None,	# UNDEFINED
 	0x00d7: None,	# UNDEFINED
 	0x00d8: None,	# UNDEFINED
 	0x00d9: 0x2518,	# BOX DRAWINGS LIGHT UP AND LEFT
diff --git a/Lib/lib-old/Para.py b/Lib/lib-old/Para.py
index 003ea1e..bf5f92c 100644
--- a/Lib/lib-old/Para.py
+++ b/Lib/lib-old/Para.py
@@ -56,7 +56,7 @@
 	#
 	# Tab to a given position (relative to the current left indent):
 	# remove all stretch, add fixed space up to the new indent.
-	# If the current position is already beying the tab stop,
+	# If the current position is already at the tab stop,
 	# don't add any new space (but still remove the stretch)
 	def tabto(self, tab):
 		total = 0
diff --git a/Lib/lib-old/ni.py b/Lib/lib-old/ni.py
index 13bcfac..4a06f59 100644
--- a/Lib/lib-old/ni.py
+++ b/Lib/lib-old/ni.py
@@ -64,7 +64,7 @@
 (2) A package's *import domain*, contained in the per-package variable
 __domain__, defines a list of *packages* that are searched (using
 their respective module search paths) to satisfy imports.  It is
-initialized to the list cosisting of the package itself, its parent
+initialized to the list consisting of the package itself, its parent
 package, its parent's parent, and so on, ending with the root package
 (the nameless package containing all top-level packages and modules,
 whose module search path is None, implying sys.path).
diff --git a/Lib/lib-tk/FileDialog.py b/Lib/lib-tk/FileDialog.py
index 74e9741..bd62c6d 100644
--- a/Lib/lib-tk/FileDialog.py
+++ b/Lib/lib-tk/FileDialog.py
@@ -36,7 +36,7 @@
     and pattern arguments, overriding the values passed in (it does
     not keep track of the default argument!).  If no key is specified,
     the dialog keeps no memory of previous state.  Note that memory is
-    kept even when the dialog is cancelled.  (All this emulates the
+    kept even when the dialog is canceled.  (All this emulates the
     behavior of the Macintosh file selection dialogs.)
 
     """
diff --git a/Lib/lib-tk/Tkdnd.py b/Lib/lib-tk/Tkdnd.py
index 0dda3b7..a4e1d1f 100644
--- a/Lib/lib-tk/Tkdnd.py
+++ b/Lib/lib-tk/Tkdnd.py
@@ -277,7 +277,7 @@
         return self
 
     def dnd_enter(self, source, event):
-        self.canvas.focus_set() # Show higlight border
+        self.canvas.focus_set() # Show highlight border
         x, y = source.where(self.canvas, event)
         x1, y1, x2, y2 = source.canvas.bbox(source.id)
         dx, dy = x2-x1, y2-y1
diff --git a/Lib/lib-tk/Tkinter.py b/Lib/lib-tk/Tkinter.py
index a70e064..63ccd1c 100644
--- a/Lib/lib-tk/Tkinter.py
+++ b/Lib/lib-tk/Tkinter.py
@@ -117,7 +117,7 @@
 					        Enter, KeyPress, KeyRelease,
 					        Leave, Motion)
 	state - state as a string (Visibility)
-	time - when the event occured
+	time - when the event occurred
 	x - x-position of the mouse
 	y - y-position of the mouse
 	x_root - x-position of the mouse on the screen
@@ -129,7 +129,7 @@
 	keysym - keysym of the the event as a string (KeyPress, KeyRelease)
 	keysym_num - keysym of the event as a number (KeyPress, KeyRelease)
 	type - type of the event as a number
-	widget - widget in which the event occured
+	widget - widget in which the event occurred
 	delta - delta of wheel movement (MouseWheel)
 	"""
 	pass
@@ -409,7 +409,7 @@
 		The focus order first goes to the next child, then to
 		the children of the child recursively and then to the
 		next sibling which is higher in the stacking order.  A
-		widget is ommited if it has the takefocus resource set
+		widget is omitted if it has the takefocus resource set
 		to 0."""
 		name = self.tk.call('tk_focusNext', self._w)
 		if not name: return None
@@ -529,7 +529,7 @@
 	def option_readfile(self, fileName, priority = None):
 		"""Read file FILENAME into the option database.
 
-		An optional second paramter gives the numeric
+		An optional second parameter gives the numeric
 		priority."""
 		self.tk.call('option', 'readfile', fileName, priority)
 	def selection_clear(self, **kw):
@@ -639,7 +639,7 @@
 		"""Return geometry string for this widget in the form "widthxheight+X+Y"."""
 		return self.tk.call('winfo', 'geometry', self._w)
 	def winfo_height(self):
-		"""Return heigth of this widget."""
+		"""Return height of this widget."""
 		return getint(
 			self.tk.call('winfo', 'height', self._w))
 	def winfo_id(self):
@@ -754,7 +754,7 @@
 		return self._nametowidget(self.tk.call(
 			'winfo', 'toplevel', self._w))
 	def winfo_viewable(self):
-		"""Return true if the widget and all its higher anchestors are mapped."""
+		"""Return true if the widget and all its higher ancestors are mapped."""
 		return getint(
 			self.tk.call('winfo', 'viewable', self._w))
 	def winfo_visual(self):
@@ -1135,7 +1135,7 @@
 		cell. If COL2 and ROW2 are given the bounding box
 		starts at that cell.
 
-		The returned integers specify the offset of the uppler left
+		The returned integers specify the offset of the upper left
 		corner in the master widget and the width and height.
 		"""
 		args = ('grid', 'bbox', self._w)
@@ -1268,7 +1268,7 @@
 
 class CallWrapper:
 	"""Internal class. Stores function to call when some user
-	defined Tcl function is called e.g. after an event occured."""
+	defined Tcl function is called e.g. after an event occurred."""
 	def __init__(self, func, subst, widget):
 		"""Store FUNC, SUBST and WIDGET as members."""
 		self.func = func
@@ -1316,7 +1316,7 @@
 	def wm_command(self, value=None):
 		"""Store VALUE in WM_COMMAND property. It is the command
 		which shall be used to invoke the application. Return current
-		commmand if VALUE is None."""
+		command if VALUE is None."""
 		return self.tk.call('wm', 'command', self._w, value)
 	command = wm_command
 	def wm_deiconify(self):
@@ -1335,7 +1335,7 @@
 		return self.tk.call('wm', 'frame', self._w)
 	frame = wm_frame
 	def wm_geometry(self, newGeometry=None):
-		"""Set geometry to NEWGEOMETRY of the form =widthxheigth+x+y. Return
+		"""Set geometry to NEWGEOMETRY of the form =widthxheight+x+y. Return
 		current value if None is given."""
 		return self.tk.call('wm', 'geometry', self._w, newGeometry)
 	geometry = wm_geometry
@@ -1623,7 +1623,7 @@
 		                  relative to width of master (1.0 is the same width
 				  as the master)
 	        relheight=amount - height of this widget between 0.0 and 1.0
-		                   relative to heigth of master (1.0 is the same
+		                   relative to height of master (1.0 is the same
 				   height as the master)
 	        bordermode="inside" or "outside" - whether to take border width of master widget
 	                                           into account
@@ -1913,12 +1913,12 @@
 				  sequence, func, add)
 	def canvasx(self, screenx, gridspacing=None):
 		"""Return the canvas x coordinate of pixel position SCREENX rounded
-		to nearest muliple of GRIDSPACING units."""
+		to nearest multiple of GRIDSPACING units."""
 		return getdouble(self.tk.call(
 			self._w, 'canvasx', screenx, gridspacing))
 	def canvasy(self, screeny, gridspacing=None):
 		"""Return the canvas y coordinate of pixel position SCREENY rounded
-		to nearest muliple of GRIDSPACING units."""
+		to nearest multiple of GRIDSPACING units."""
 		return getdouble(self.tk.call(
 			self._w, 'canvasy', screeny, gridspacing))
 	def coords(self, *args):
@@ -2609,7 +2609,7 @@
 		width, wrap, xscrollcommand, yscrollcommand."""
 		Widget.__init__(self, master, 'text', cnf, kw)
 	def bbox(self, *args):
-		"""Return a tuple of (x,y,width,heigth) which gives the bounding
+		"""Return a tuple of (x,y,width,height) which gives the bounding
 		box of the visible part of the character at the index in ARGS."""
 		return self._getints(
 			self.tk.call((self._w, 'bbox') + args)) or None
@@ -2674,7 +2674,7 @@
 		"""Return the index in the form line.char for INDEX."""
 		return self.tk.call(self._w, 'index', index)
 	def insert(self, index, chars, *args):
-		"""Insert CHARS before the charaters at INDEX. An additional
+		"""Insert CHARS before the characters at INDEX. An additional
 		tag can be given in ARGS. Additional CHARS and tags can follow in ARGS."""
 		self.tk.call((self._w, 'insert', index, chars) + args)
 	def mark_gravity(self, markName, direction=None):
@@ -2728,7 +2728,7 @@
 		self.tk.call(self._w, 'see', index)
 	def tag_add(self, tagName, index1, *args):
 		"""Add tag TAGNAME to all characters between INDEX1 and index2 in ARGS.
-		Addtional pairs of indices may follow in ARGS."""
+		Additional pairs of indices may follow in ARGS."""
 		self.tk.call(
 			(self._w, 'tag', 'add', tagName, index1) + args)
 	def tag_unbind(self, tagName, sequence, funcid=None):
diff --git a/Lib/lib-tk/tkColorChooser.py b/Lib/lib-tk/tkColorChooser.py
index 5756275..77e856b 100644
--- a/Lib/lib-tk/tkColorChooser.py
+++ b/Lib/lib-tk/tkColorChooser.py
@@ -48,7 +48,7 @@
         # to simplify application code, the color chooser returns
         # an RGB tuple together with the Tk color string
         if not result:
-            return None, None # cancelled
+            return None, None # canceled
         r, g, b = widget.winfo_rgb(result)
         return (r/256, g/256, b/256), result
 
diff --git a/Lib/locale.py b/Lib/locale.py
index 7dde040..401c712 100644
--- a/Lib/locale.py
+++ b/Lib/locale.py
@@ -268,7 +268,7 @@
         setlocale(LC_ALL, "") runs using the portable 'C' locale.
         Calling setlocale(LC_ALL, "") lets it use the default locale as
         defined by the LANG variable. Since we don't want to interfere
-        with the current locale setting we thus emulate the behaviour
+        with the current locale setting we thus emulate the behavior
         in the way described above.
 
         To maintain compatibility with other platforms, not only the
diff --git a/Lib/mhlib.py b/Lib/mhlib.py
index 9af04b2..df538f2 100644
--- a/Lib/mhlib.py
+++ b/Lib/mhlib.py
@@ -627,7 +627,7 @@
                     pass
 
     def removefromallsequences(self, list):
-        """Remove one or more messages from all sequeuces (including last)
+        """Remove one or more messages from all sequences (including last)
         -- but not from 'cur'!!!"""
         if hasattr(self, 'last') and self.last in list:
             del self.last
diff --git a/Lib/multifile.py b/Lib/multifile.py
index 977b92f..cc8f43c 100644
--- a/Lib/multifile.py
+++ b/Lib/multifile.py
@@ -21,7 +21,7 @@
 The latter sequence may be used recursively at (A).
 It is also allowed to use multiple push()...pop() sequences.
 
-If seekable is given as 0, the class code will not do the bookeeping
+If seekable is given as 0, the class code will not do the bookkeeping
 it normally attempts in order to make seeks relative to the beginning of the
 current file part.  This may be useful when using MultiFile with a non-
 seekable stream object.
diff --git a/Lib/nntplib.py b/Lib/nntplib.py
index 81449b0..7a90543 100644
--- a/Lib/nntplib.py
+++ b/Lib/nntplib.py
@@ -219,7 +219,7 @@
 		- date: string 'yymmdd' indicating the date
 		- time: string 'hhmmss' indicating the time
 		Return:
-		- resp: server response if succesful
+		- resp: server response if successful
 		- list: list of newsgroup names"""
 
 		return self.longcmd('NEWGROUPS ' + date + ' ' + time)
@@ -230,7 +230,7 @@
 		- date: string 'yymmdd' indicating the date
 		- time: string 'hhmmss' indicating the time
 		Return:
-		- resp: server response if succesful
+		- resp: server response if successful
 		- list: list of article ids"""
 
 		cmd = 'NEWNEWS ' + group + ' ' + date + ' ' + time
@@ -238,7 +238,7 @@
 
 	def list(self):
 		"""Process a LIST command.  Return:
-		- resp: server response if succesful
+		- resp: server response if successful
 		- list: list of (group, last, first, flag) (strings)"""
 
 		resp, list = self.longcmd('LIST')
@@ -251,7 +251,7 @@
 		"""Process a GROUP command.  Argument:
 		- group: the group name
 		Returns:
-		- resp: server response if succesful
+		- resp: server response if successful
 		- count: number of articles (string)
 		- first: first article number (string)
 		- last: last article number (string)
@@ -275,7 +275,7 @@
 
 	def help(self):
 		"""Process a HELP command.  Returns:
-		- resp: server response if succesful
+		- resp: server response if successful
 		- list: list of strings"""
 
 		return self.longcmd('HELP')
@@ -303,7 +303,7 @@
 		"""Process a STAT command.  Argument:
 		- id: article number or message id
 		Returns:
-		- resp: server response if succesful
+		- resp: server response if successful
 		- nr:   the article number
 		- id:   the article id"""
 
@@ -327,7 +327,7 @@
 		"""Process a HEAD command.  Argument:
 		- id: article number or message id
 		Returns:
-		- resp: server response if succesful
+		- resp: server response if successful
 		- nr: article number
 		- id: message id
 		- list: the lines of the article's header"""
@@ -338,7 +338,7 @@
 		"""Process a BODY command.  Argument:
 		- id: article number or message id
 		Returns:
-		- resp: server response if succesful
+		- resp: server response if successful
 		- nr: article number
 		- id: message id
 		- list: the lines of the article's body"""
@@ -349,7 +349,7 @@
 		"""Process an ARTICLE command.  Argument:
 		- id: article number or message id
 		Returns:
-		- resp: server response if succesful
+		- resp: server response if successful
 		- nr: article number
 		- id: message id
 		- list: the lines of the article"""
@@ -358,7 +358,7 @@
 
 	def slave(self):
 		"""Process a SLAVE command.  Returns:
-		- resp: server response if succesful"""
+		- resp: server response if successful"""
 
 		return self.shortcmd('SLAVE')
 
@@ -367,7 +367,7 @@
 		- hdr: the header type (e.g. 'subject')
 		- str: an article nr, a message id, or a range nr1-nr2
 		Returns:
-		- resp: server response if succesful
+		- resp: server response if successful
 		- list: list of (nr, value) strings"""
 
 		pat = re.compile('^([0-9]+) ?(.*)\n?')
@@ -384,7 +384,7 @@
 		- start: start of range
 		- end: end of range
 		Returns:
-		- resp: server response if succesful
+		- resp: server response if successful
 		- list: list of (art-nr, subject, poster, date,
 		                 id, references, size, lines)"""
 
@@ -409,7 +409,7 @@
 		"""Process an XGTITLE command (optional server extension) Arguments:
 		- group: group name wildcard (i.e. news.*)
 		Returns:
-		- resp: server response if succesful
+		- resp: server response if successful
 		- list: list of (name,title) strings"""
 
 		line_pat = re.compile("^([^ \t]+)[ \t]+(.*)$")
@@ -425,7 +425,7 @@
 		"""Process an XPATH command (optional server extension) Arguments:
 		- id: Message id of article
 		Returns:
-		resp: server response if succesful
+		resp: server response if successful
 		path: directory path to article"""
 
 		resp = self.shortcmd("XPATH " + id)
@@ -442,7 +442,7 @@
 		"""Process the DATE command. Arguments:
 		None
 		Returns:
-		resp: server response if succesful
+		resp: server response if successful
 		date: Date suitable for newnews/newgroups commands etc.
 		time: Time suitable for newnews/newgroups commands etc."""
 
@@ -463,7 +463,7 @@
 		"""Process a POST command.  Arguments:
 		- f: file containing the article
 		Returns:
-		- resp: server response if succesful"""
+		- resp: server response if successful"""
 
 		resp = self.shortcmd('POST')
 		# Raises error_??? if posting is not allowed
@@ -486,7 +486,7 @@
 		- id: message-id of the article
 		- f:  file containing the article
 		Returns:
-		- resp: server response if succesful
+		- resp: server response if successful
 		Note that if the server refuses the article an exception is raised."""
 
 		resp = self.shortcmd('IHAVE ' + id)
@@ -507,7 +507,7 @@
 
 	def quit(self):
 		"""Process a QUIT command and close the socket.  Returns:
-		- resp: server response if succesful"""
+		- resp: server response if successful"""
 
 		resp = self.shortcmd('QUIT')
 		self.file.close()
diff --git a/Lib/os.py b/Lib/os.py
index c7a3cc5..8e1e4f0 100644
--- a/Lib/os.py
+++ b/Lib/os.py
@@ -218,7 +218,7 @@
 
     Execute the executable file (which is searched for along $PATH)
     with argument list args, replacing the current process.
-    args may be a list or tupe of strings. """
+    args may be a list or tuple of strings. """
     _execvpe(file, args)
 
 def execvpe(file, args, env):
@@ -227,7 +227,7 @@
     Execute the executable file (which is searched for along $PATH)
     with argument list args and environment env , replacing the
     current process.
-    args may be a list or tupe of strings. """    
+    args may be a list or tuple of strings. """    
     _execvpe(file, args, env)
 
 _notfound = None
diff --git a/Lib/pdb.py b/Lib/pdb.py
index 67387a9..db4a2cd 100755
--- a/Lib/pdb.py
+++ b/Lib/pdb.py
@@ -191,7 +191,7 @@
 					if bp:
 						bp.bpprint()
 			return
-		# parse arguments; comma has lowest precendence
+		# parse arguments; comma has lowest precedence
 		# and cannot occur in filename
 		filename = None
 		lineno = None
diff --git a/Lib/poplib.py b/Lib/poplib.py
index 97a9b0d..5a3813c 100644
--- a/Lib/poplib.py
+++ b/Lib/poplib.py
@@ -59,7 +59,7 @@
 		POP3(hostname, port=110)
 
 	NB:	the POP protocol locks the mailbox from user
-		authorisation until QUIT, so be sure to get in, suck
+		authorization until QUIT, so be sure to get in, suck
 		the messages, and quit, each time you access the
 		mailbox.
 
diff --git a/Lib/pprint.py b/Lib/pprint.py
index 346c70b..8e10e9d 100644
--- a/Lib/pprint.py
+++ b/Lib/pprint.py
@@ -4,7 +4,7 @@
 #  This is a simple little module I wrote to make life easier.  I didn't
 #  see anything quite like it in the library, though I may have overlooked
 #  something.  I wrote this when I was trying to read some heavily nested
-#  tuples with fairly non-descriptive content.  This is modelled very much
+#  tuples with fairly non-descriptive content.  This is modeled very much
 #  after Lisp/Scheme - style pretty-printing of lists.  If you find it
 #  useful, thank small children who sleep at night.
 
diff --git a/Lib/pre.py b/Lib/pre.py
index 602980a..3086bd4 100644
--- a/Lib/pre.py
+++ b/Lib/pre.py
@@ -77,7 +77,7 @@
     M  MULTILINE   "^" matches the beginning of lines as well as the string.
                    "$" matches the end of lines as well as the string.
     S  DOTALL      "." matches any character at all, including the newline.
-    X  VERBOSE     Ignore whitespaces and comments for nicer looking RE's.
+    X  VERBOSE     Ignore whitespace and comments for nicer looking RE's.
 
 This module also defines an exception 'error'.
 
diff --git a/Lib/profile.py b/Lib/profile.py
index 18fd65d..e31363a 100755
--- a/Lib/profile.py
+++ b/Lib/profile.py
@@ -98,9 +98,9 @@
 	       subfunctions
 	[ 2] = Cumulative time spent in this frame's function, including time in
 	       all subfunctions to this frame.
-	[-3] = Name of the function that corresonds to this frame.  
+	[-3] = Name of the function that corresponds to this frame.  
 	[-2] = Actual frame that we correspond to (used to sync exception handling)
-	[-1] = Our parent 6-tuple (corresonds to frame.f_back)
+	[-1] = Our parent 6-tuple (corresponds to frame.f_back)
 
 	Timing data for each function is stored as a 5-tuple in the dictionary
 	self.timings[].  The index is always the name stored in self.cur[4].
@@ -205,7 +205,7 @@
 		return
 
 
-	# SLOW generic dispatch rountine for timer returning lists of numbers
+	# SLOW generic dispatch routine for timer returning lists of numbers
 
 	def trace_dispatch_l(self, frame, event, arg):
 		t = self.get_time() - self.t
@@ -368,7 +368,7 @@
 	#******************************************************************
 	# The following calculates the overhead for using a profiler.  The
 	# problem is that it takes a fair amount of time for the profiler
-	# to stop the stopwatch (from the time it recieves an event).
+	# to stop the stopwatch (from the time it receives an event).
 	# Similarly, there is a delay from the time that the profiler
 	# re-starts the stopwatch before the user's code really gets to
 	# continue.  The following code tries to measure the difference on
diff --git a/Lib/pstats.py b/Lib/pstats.py
index 413351d..558962e 100644
--- a/Lib/pstats.py
+++ b/Lib/pstats.py
@@ -49,16 +49,16 @@
 	The big change from the previous Profiler (in terms of raw functionality)
 	is that an "add()" method has been provided to combine Stats from
 	several distinct profile runs.  Both the constructor and the add()
-	method now take arbitrarilly many file names as arguments.
+	method now take arbitrarily many file names as arguments.
 
-	All the print methods now take an argument that indicats how many lines
+	All the print methods now take an argument that indicates how many lines
 	to print.  If the arg is a floating point number between 0 and 1.0, then
-	it is taken as a decimal percentage of the availabel lines to be printed
+	it is taken as a decimal percentage of the available lines to be printed
 	(e.g., .1 means print 10% of all available lines).  If it is an integer,
 	it is taken to mean the number of lines of data that you wish to have
 	printed.
 
-	The sort_stats() method now processes some additionaly options (i.e., in
+	The sort_stats() method now processes some additional options (i.e., in
 	addition to the old -1, 0, 1, or 2).  It takes an arbitrary number of quoted
 	strings to select the sort order.  For example sort_stats('time', 'name')
 	sorts on the major key of "internal function time", and on the minor
@@ -165,7 +165,7 @@
 			
 
 
-	# list the tuple indicies and directions for sorting,
+	# list the tuple indices and directions for sorting,
 	# along with some printable description
 	sort_arg_dict_default = {\
 		  "calls"     : (((1,-1),              ), "call count"),\
@@ -447,7 +447,7 @@
 
 class TupleComp:
 	"""This class provides a generic function for comparing any two tuples.
-	Each instance records a list of tuple-indicies (from most significant
+	Each instance records a list of tuple-indices (from most significant
 	to least significant), and sort direction (ascending or decending) for
 	each tuple-index.  The compare functions can then be used as the function
 	argument to the system sort() function when a list of tuples need to be
diff --git a/Lib/rfc822.py b/Lib/rfc822.py
index bb17614..6473149 100644
--- a/Lib/rfc822.py
+++ b/Lib/rfc822.py
@@ -193,7 +193,7 @@
         
         You may override this method if your application wants
         to bend the rules, e.g. to strip trailing whitespace,
-        or to recognise MH template separators ('--------').
+        or to recognize MH template separators ('--------').
         For convenience (e.g. for code reading from sockets) a
         line consisting of \r\n also matches.                
         """
diff --git a/Lib/rlcompleter.py b/Lib/rlcompleter.py
index 7a248fe..8cd21ed 100644
--- a/Lib/rlcompleter.py
+++ b/Lib/rlcompleter.py
@@ -84,7 +84,7 @@
         """Compute matches when text contains a dot.
 
         Assuming the text is of the form NAME.NAME....[NAME], and is
-        evaluabable in the globals of __main__, it will be evaluated
+        evaluatable in the globals of __main__, 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.)
diff --git a/Lib/smtplib.py b/Lib/smtplib.py
index c7865ad..e5f0b03 100755
--- a/Lib/smtplib.py
+++ b/Lib/smtplib.py
@@ -88,7 +88,7 @@
 
 class SMTPRecipientsRefused(SMTPException):
     """All recipient addresses refused.
-    The errors for each recipient are accessable thru the attribute
+    The errors for each recipient are accessible through the attribute
     'recipients', which is a dictionary of exactly the same sort as 
     SMTP.sendmail() returns.  
     """
@@ -323,7 +323,7 @@
         if code<>250:
             return (code,msg)
         self.does_esmtp=1
-        #parse the ehlo responce -ddm
+        #parse the ehlo response -ddm
         resp=string.split(self.ehlo_resp,'\n')
         del resp[0]
         for each in resp:
diff --git a/Lib/sre_constants.py b/Lib/sre_constants.py
index ef32c32..c2cecdf 100644
--- a/Lib/sre_constants.py
+++ b/Lib/sre_constants.py
@@ -172,7 +172,7 @@
 # flags
 SRE_FLAG_TEMPLATE = 1 # template mode (disable backtracking)
 SRE_FLAG_IGNORECASE = 2 # case insensitive
-SRE_FLAG_LOCALE = 4 # honour system locale
+SRE_FLAG_LOCALE = 4 # honor system locale
 SRE_FLAG_MULTILINE = 8 # treat target as multiline string
 SRE_FLAG_DOTALL = 16 # treat target as a single string
 SRE_FLAG_UNICODE = 32 # use unicode locale
diff --git a/Lib/string.py b/Lib/string.py
index 21781e7..6570fef 100644
--- a/Lib/string.py
+++ b/Lib/string.py
@@ -116,7 +116,7 @@
     """join(list [,sep]) -> string
 
     Return a string composed of the words in list, with
-    intervening occurences of sep.  The default separator is a
+    intervening occurrences of sep.  The default separator is a
     single space.
 
     (joinfields and join are synonymous)
diff --git a/Lib/stringold.py b/Lib/stringold.py
index 8fa7dd4..c3e6f6f 100644
--- a/Lib/stringold.py
+++ b/Lib/stringold.py
@@ -118,7 +118,7 @@
     """join(list [,sep]) -> string
 
     Return a string composed of the words in list, with
-    intervening occurences of sep.  The default separator is a
+    intervening occurrences of sep.  The default separator is a
     single space.
 
     (joinfields and join are synonymous)
diff --git a/Lib/sunau.py b/Lib/sunau.py
index 5e8ac32..940cfd4 100644
--- a/Lib/sunau.py
+++ b/Lib/sunau.py
@@ -63,7 +63,7 @@
         tell()		-- return the current position
         close()		-- close the instance (make it unusable)
 The position returned by tell() and the position given to setpos()
-are compatible and have nothing to do with the actual postion in the
+are compatible and have nothing to do with the actual position in the
 file.
 The close() method is called automatically when the class instance
 is destroyed.
@@ -170,7 +170,7 @@
 		if self._hdr_size < 24:
 			raise Error, 'header size too small'
 		if self._hdr_size > 100:
-			raise Error, 'header size rediculously large'
+			raise Error, 'header size ridiculously large'
 		self._data_size = _read_u32(file)
 		if self._data_size != AUDIO_UNKNOWN_SIZE:
 			self._data_size = int(self._data_size)
diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py
index dbaee75..e96ba81 100755
--- a/Lib/test/regrtest.py
+++ b/Lib/test/regrtest.py
@@ -42,7 +42,7 @@
          exclude=0, single=0, randomize=0):
     """Execute a test suite.
 
-    This also parses command-line options and modifies its behaviour
+    This also parses command-line options and modifies its behavior
     accordingly. 
 
     tests -- a list of strings containing test names (optional)
diff --git a/Lib/test/test_imageop.py b/Lib/test/test_imageop.py
index 63ab138..6b144c6 100755
--- a/Lib/test/test_imageop.py
+++ b/Lib/test/test_imageop.py
@@ -62,7 +62,7 @@
     image = imageop.grey2rgb(greyimage, width, height)
     
     # Convert a 8-bit deep greyscale image to a 1-bit deep image by
-    # tresholding all the pixels. The resulting image is tightly packed
+    # thresholding all the pixels. The resulting image is tightly packed
     # and is probably only useful as an argument to mono2grey. 
     if verbose:
         print 'grey2mono'
diff --git a/Lib/test/test_pty.py b/Lib/test/test_pty.py
index d6dd1d7..389d2a7 100644
--- a/Lib/test/test_pty.py
+++ b/Lib/test/test_pty.py
@@ -66,7 +66,7 @@
         pass
     except:
         # We don't want this error to propagate, escape the call to
-        # os._exit(), and cause very peculiar behaviour in the calling
+        # os._exit(), and cause very peculiar behavior in the calling
         # regrtest.py !
         debug("Some other error was raised.")
         os._exit(1)
diff --git a/Lib/test/test_winreg.py b/Lib/test/test_winreg.py
index 0eb798f..18ce7a7 100644
--- a/Lib/test/test_winreg.py
+++ b/Lib/test/test_winreg.py
@@ -58,7 +58,7 @@
 def ReadTestData(root_key):
     # Check we can get default value for this key.
     val = QueryValue(root_key, test_key_name)
-    assert val=="Default value", "Registry didnt give back the correct value"
+    assert val=="Default value", "Registry didn't give back the correct value"
 
     key = OpenKey(root_key, test_key_name)
     # Read the sub-keys
@@ -70,9 +70,9 @@
             data = EnumValue(sub_key, index)
         except EnvironmentError:
             break
-        assert data in test_data, "didnt read back the correct test data."
+        assert data in test_data, "Didn't read back the correct test data"
         index = index + 1
-    assert index==len(test_data), "Didnt read the correct number of items"
+    assert index==len(test_data), "Didn't read the correct number of items"
     # Check I can directly access each item
     for value_name, value_data, value_type in test_data:
         read_val, read_typ = QueryValueEx(sub_key, value_name)
diff --git a/Lib/toaiff.py b/Lib/toaiff.py
index 7fd0153..84a7786 100644
--- a/Lib/toaiff.py
+++ b/Lib/toaiff.py
@@ -76,7 +76,7 @@
 		temps.append(fname)
 		sts = uncompress.copy(filename, fname)
 		if sts:
-			raise error, filename + ': uncomress failed'
+			raise error, filename + ': uncompress failed'
 	else:
 		fname = filename
 	try:
diff --git a/Lib/traceback.py b/Lib/traceback.py
index 4675077..d219340 100644
--- a/Lib/traceback.py
+++ b/Lib/traceback.py
@@ -117,7 +117,7 @@
 	have the same meaning as the corresponding arguments to
 	print_exception().  The return value is a list of strings, each
 	ending in a newline and some containing internal newlines.  When 
-	these lines are contatenated and printed, exactly the same text is
+	these lines are concatenated and printed, exactly the same text is
 	printed as does print_exception()."""
 	if tb:
 		list = ['Traceback (most recent call last):\n']
diff --git a/Lib/urllib.py b/Lib/urllib.py
index 7a98164..ac44249 100644
--- a/Lib/urllib.py
+++ b/Lib/urllib.py
@@ -773,7 +773,7 @@
             # just return it
             return url
     host, basepath = splithost(basepath) # inherit host
-    basepath, basetag = splittag(basepath) # remove extraneuous cruft
+    basepath, basetag = splittag(basepath) # remove extraneous cruft
     basepath, basequery = splitquery(basepath) # idem
     if path[:1] != '/':
         # non-absolute path name
diff --git a/Lib/urllib2.py b/Lib/urllib2.py
index c4e5348..86fdc20 100644
--- a/Lib/urllib2.py
+++ b/Lib/urllib2.py
@@ -456,7 +456,7 @@
     http_error_301 = http_error_302
 
     inf_msg = "The HTTP server returned a redirect error that would" \
-              "lead to an inifinte loop.\n" \
+              "lead to an infinite loop.\n" \
               "The last 302 error message was:\n"
 
 class ProxyHandler(BaseHandler):
diff --git a/Lib/wave.py b/Lib/wave.py
index 8bb9ff7..60c0b98 100644
--- a/Lib/wave.py
+++ b/Lib/wave.py
@@ -30,7 +30,7 @@
       tell()          -- return the current position
       close()         -- close the instance (make it unusable)
 The position returned by tell() and the position given to setpos()
-are compatible and have nothing to do with the actual postion in the
+are compatible and have nothing to do with the actual position in the
 file.
 The close() method is called automatically when the class instance
 is destroyed.
diff --git a/Lib/xml/sax/xmlreader.py b/Lib/xml/sax/xmlreader.py
index 8bc33d8..84a8bbb 100644
--- a/Lib/xml/sax/xmlreader.py
+++ b/Lib/xml/sax/xmlreader.py
@@ -50,7 +50,7 @@
     def setLocale(self, locale):
         """Allow an application to set the locale for errors and warnings. 
    
-        SAX parsers are not required to provide localisation for errors
+        SAX parsers are not required to provide localization for errors
         and warnings; if they cannot support the requested locale,
         however, they must throw a SAX exception. Applications may
         request a locale change in the middle of a parse."""
diff --git a/Lib/xmllib.py b/Lib/xmllib.py
index bbd4b54..06b599f 100644
--- a/Lib/xmllib.py
+++ b/Lib/xmllib.py
@@ -143,7 +143,7 @@
         self.__seen_starttag = 0
         self.__use_namespaces = 0
         self.__namespaces = {'xml':None}   # xml is implicitly declared
-        # backward compatipibility hack: if elements not overridden,
+        # backward compatibility hack: if elements not overridden,
         # fill it in ourselves
         if self.elements is XMLParser.elements:
             self.__fixelements()