Whitespace normalization.
diff --git a/Lib/DocXMLRPCServer.py b/Lib/DocXMLRPCServer.py
index adb8a93..55ec38e 100644
--- a/Lib/DocXMLRPCServer.py
+++ b/Lib/DocXMLRPCServer.py
@@ -22,7 +22,7 @@
 
 class ServerHTMLDoc(pydoc.HTMLDoc):
     """Class used to generate pydoc HTML document for a server"""
-    
+
     def markup(self, text, escape=None, funcs={}, classes={}, methods={}):
         """Mark up some plain text, given a context of symbols to look for.
         Each context dictionary maps object names to anchor names."""
@@ -63,7 +63,7 @@
             here = end
         results.append(escape(text[here:]))
         return ''.join(results)
-    
+
     def docroutine(self, object, name=None, mod=None,
                    funcs={}, classes={}, methods={}, cl=None):
         """Produce HTML documentation for a function or method object."""
@@ -72,7 +72,7 @@
         note = ''
 
         title = '<a name="%s"><strong>%s</strong></a>' % (anchor, name)
-            
+
         if inspect.ismethod(object):
             args, varargs, varkw, defaults = inspect.getargspec(object.im_func)
             # exclude the argument bound to the instance, it will be
@@ -96,7 +96,7 @@
             docstring = object[1] or ""
         else:
             docstring = pydoc.getdoc(object)
-                
+
         decl = title + argspec + (note and self.grey(
                '<font face="helvetica, arial">%s</font>' % note))
 
@@ -112,10 +112,10 @@
         for key, value in methods.items():
             fdict[key] = '#-' + key
             fdict[value] = fdict[key]
-            
-        head = '<big><big><strong>%s</strong></big></big>' % server_name            
+
+        head = '<big><big><strong>%s</strong></big></big>' % server_name
         result = self.heading(head, '#ffffff', '#7799ee')
-       
+
         doc = self.markup(package_documentation, self.preformat, fdict)
         doc = doc and '<tt>%s</tt>' % doc
         result = result + '<p>%s</p>\n' % doc
@@ -136,7 +136,7 @@
     This class is designed as mix-in and should not
     be constructed directly.
     """
-    
+
     def __init__(self):
         # setup variables used for HTML documentation
         self.server_name = 'XML-RPC Server Documentation'
@@ -170,7 +170,7 @@
         argument string used in the documentation and the
         _methodHelp(method_name) method to provide the help text used
         in the documentation."""
-        
+
         methods = {}
 
         for method_name in self.system_listMethods():
@@ -208,7 +208,7 @@
                                 self.server_documentation,
                                 methods
                             )
-                                        
+
         return documenter.page(self.server_title, documentation)
 
 class DocXMLRPCRequestHandler(SimpleXMLRPCRequestHandler):
@@ -227,7 +227,7 @@
         Interpret all HTTP GET requests as requests for server
         documentation.
         """
-        
+
         response = self.server.generate_html_documentation()
         self.send_response(200)
         self.send_header("Content-type", "text/html")
@@ -251,7 +251,7 @@
                  logRequests=1):
         SimpleXMLRPCServer.__init__(self, addr, requestHandler, logRequests)
         XMLRPCDocGenerator.__init__(self)
-        
+
 class DocCGIXMLRPCRequestHandler(   CGIXMLRPCRequestHandler,
                                     XMLRPCDocGenerator):
     """Handler for XML-RPC data and documentation requests passed through
@@ -281,8 +281,8 @@
 
         Converts an angle in degrees to an angle in radians"""
         import math
-        return deg * math.pi / 180        
-        
+        return deg * math.pi / 180
+
     server = DocXMLRPCServer(("localhost", 8000))
 
     server.set_server_title("Math Server")
@@ -299,4 +299,4 @@
     server.register_function(deg_to_rad)
     server.register_introspection_functions()
 
-    server.serve_forever()        
\ No newline at end of file
+    server.serve_forever()
diff --git a/Lib/_strptime.py b/Lib/_strptime.py
index 0777b7e..81c105f 100644
--- a/Lib/_strptime.py
+++ b/Lib/_strptime.py
@@ -374,10 +374,10 @@
 
     def pattern(self, format):
         """Return re pattern for the format string.
-        
+
         Need to make sure that any characters that might be interpreted as
         regex syntax is escaped.
-        
+
         """
         processed_format = ''
         # The sub() call escapes all characters that might be misconstrued
@@ -528,4 +528,3 @@
             return key
     else:
         raise ValueError("value not in list")
-
diff --git a/Lib/bsddb/__init__.py b/Lib/bsddb/__init__.py
index e62d249..1ec6adc 100644
--- a/Lib/bsddb/__init__.py
+++ b/Lib/bsddb/__init__.py
@@ -43,7 +43,7 @@
     import sys
     del sys.modules[__name__]
     raise
-    
+
 # bsddb3 calls it db, but provide _db for backwards compatibility
 db = _db = _bsddb
 __version__ = db.__version__
diff --git a/Lib/bsddb/dbobj.py b/Lib/bsddb/dbobj.py
index 889e554..b2632a1 100644
--- a/Lib/bsddb/dbobj.py
+++ b/Lib/bsddb/dbobj.py
@@ -192,4 +192,3 @@
     if db.version() >= (4,1):
         def set_encrypt(self, *args, **kwargs):
             return apply(self._cobj.set_encrypt, args, kwargs)
-
diff --git a/Lib/bsddb/dbshelve.py b/Lib/bsddb/dbshelve.py
index efaa003..fe4c4d1 100644
--- a/Lib/bsddb/dbshelve.py
+++ b/Lib/bsddb/dbshelve.py
@@ -296,6 +296,3 @@
 
 
 #---------------------------------------------------------------------------
-
-
-
diff --git a/Lib/csv/__init__.py b/Lib/csv/__init__.py
index b1b973b..656b464 100644
--- a/Lib/csv/__init__.py
+++ b/Lib/csv/__init__.py
@@ -1,2 +1 @@
 from csv import *
-
diff --git a/Lib/csv/csv.py b/Lib/csv/csv.py
index a3ea4e2..36717cc 100644
--- a/Lib/csv/csv.py
+++ b/Lib/csv/csv.py
@@ -116,7 +116,7 @@
         self.restval = restval          # for writing short dicts
         if extrasaction.lower() not in ("raise", "ignore"):
             raise ValueError, \
-                  ("extrasaction (%s) must be 'raise' or 'ignore'" % 
+                  ("extrasaction (%s) must be 'raise' or 'ignore'" %
                    extrasaction)
         self.extrasaction = extrasaction
         self.writer = writer(f, dialect, *args)
@@ -126,7 +126,7 @@
             for k in rowdict.keys():
                 if k not in self.fieldnames:
                     raise ValueError, "dict contains fields not in fieldnames"
-        return [rowdict.get(key, self.restval) for key in self.fieldnames] 
+        return [rowdict.get(key, self.restval) for key in self.fieldnames]
 
     def writerow(self, rowdict):
         return self.writer.writerow(self._dict_to_list(rowdict))
diff --git a/Lib/csv/util/sniffer.py b/Lib/csv/util/sniffer.py
index 7b9b060..0fb2e1f 100644
--- a/Lib/csv/util/sniffer.py
+++ b/Lib/csv/util/sniffer.py
@@ -26,9 +26,9 @@
         """
         Takes a file-like object and returns a dialect (or None)
         """
-        
+
         self.fileobj = fileobj
-        
+
         data = fileobj.read(self.sample)
 
         quotechar, delimiter, skipinitialspace = self._guessQuoteAndDelimiter(data)
@@ -51,11 +51,11 @@
 
     def hasHeaders(self):
         return self._hasHeaders(self.fileobj, self.dialect)
-    
+
 
     def register_dialect(self, name = 'sniffed'):
         csv.register_dialect(name, self.dialect)
-    
+
 
     def _guessQuoteAndDelimiter(self, data):
         """
@@ -78,7 +78,7 @@
             matches = regexp.findall(data)
             if matches:
                 break
-        
+
         if not matches:
             return ('', None, 0) # (quotechar, delimiter, skipinitialspace)
 
@@ -117,7 +117,7 @@
             # there is *no* delimiter, it's a single column of quoted data
             delim = ''
             skipinitialspace = 0
-            
+
         return (quotechar, delim, skipinitialspace)
 
 
@@ -132,14 +132,14 @@
              e.g.  "x occurred 5 times in 10 rows, 6 times in 1000 rows,
              7 times in 2 rows"
           3) use the mode of the meta-frequency to determine the /expected/
-             frequency for that character 
-          4) find out how often the character actually meets that goal 
-          5) the character that best meets its goal is the delimiter 
+             frequency for that character
+          4) find out how often the character actually meets that goal
+          5) the character that best meets its goal is the delimiter
         For performance reasons, the data is evaluated in chunks, so it can
         try and evaluate the smallest portion of the data possible, evaluating
-        additional chunks as necessary. 
+        additional chunks as necessary.
         """
-        
+
         data = filter(None, data.split('\n'))
 
         ascii = [chr(c) for c in range(127)] # 7-bit ASCII
@@ -218,7 +218,7 @@
         # be a string in which case the length of the string is the determining factor: if
         # all of the rows except for the first are the same length, it's a header.
         # Finally, a 'vote' is taken at the end for each column, adding or subtracting from
-        # the likelihood of the first row being a header. 
+        # the likelihood of the first row being a header.
 
         def seval(item):
             """
@@ -227,7 +227,7 @@
             return eval(item.replace('(', '').replace(')', ''))
 
         fileobj.seek(0) # rewind the fileobj - this might not work for some file-like objects...
-        
+
         reader = csv.reader(fileobj,
                             delimiter = dialect.delimiter,
                             quotechar = dialect.quotechar,
@@ -284,6 +284,3 @@
                     hasHeader -= 1
 
         return hasHeader > 0
-
-
-
diff --git a/Lib/encodings/__init__.py b/Lib/encodings/__init__.py
index a214190..66bea5c 100644
--- a/Lib/encodings/__init__.py
+++ b/Lib/encodings/__init__.py
@@ -120,4 +120,3 @@
 
 # Register the search_function in the Python codec registry
 codecs.register(search_function)
-
diff --git a/Lib/encodings/idna.py b/Lib/encodings/idna.py
index 7e4d04e..62aa450 100644
--- a/Lib/encodings/idna.py
+++ b/Lib/encodings/idna.py
@@ -19,10 +19,10 @@
             continue
         newlabel.append(stringprep.map_table_b2(c))
     label = u"".join(newlabel)
-    
+
     # Normalize
     label = unicodedata.normalize("NFKC", label)
-    
+
     # Prohibit
     for c in label:
         if stringprep.in_table_c12(c) or \
@@ -139,7 +139,7 @@
 
     # Step 8: return the result of step 5
     return result
-        
+
 ### Codec APIs
 
 class Codec(codecs.Codec):
@@ -156,7 +156,7 @@
         return ".".join(result), len(input)
 
     def decode(self,input,errors='strict'):
-        
+
         if errors != 'strict':
             raise UnicodeError, "Unsupported error handling "+errors
 
diff --git a/Lib/encodings/punycode.py b/Lib/encodings/punycode.py
index e7f2d45..82fd458 100644
--- a/Lib/encodings/punycode.py
+++ b/Lib/encodings/punycode.py
@@ -9,7 +9,7 @@
 ##################### Encoding #####################################
 
 def segregate(str):
-    """3.1 Basic code point segregation""" 
+    """3.1 Basic code point segregation"""
     base = []
     extended = {}
     for c in str:
@@ -66,7 +66,7 @@
             oldindex = index
             delta = 0
         oldchar = char
-            
+
     return result
 
 def T(j, bias):
@@ -103,7 +103,7 @@
         divisions += 36
     bias = divisions + (36 * delta // (delta + 38))
     return bias
-    
+
 
 def generate_integers(baselen, deltas):
     """3.4 Bias adaptation"""
@@ -155,7 +155,7 @@
             return extpos, result
         w = w * (36 - t)
         j += 1
-        
+
 
 def insertion_sort(base, extended, errors):
     """3.2 Insertion unsort coding"""
@@ -193,7 +193,7 @@
     base = unicode(base, "ascii", errors)
     extended = extended.upper()
     return insertion_sort(base, extended, errors)
-        
+
 ### Codec APIs
 
 class Codec(codecs.Codec):
diff --git a/Lib/markupbase.py b/Lib/markupbase.py
index f97cf10..62587e0 100644
--- a/Lib/markupbase.py
+++ b/Lib/markupbase.py
@@ -60,12 +60,12 @@
         # This is some sort of declaration; in "HTML as
         # deployed," this should only be the document type
         # declaration ("<!DOCTYPE html...>").
-        # ISO 8879:1986, however, has more complex 
+        # ISO 8879:1986, however, has more complex
         # declaration syntax for elements in <!...>, including:
         # --comment--
         # [marked section]
-        # name in the following list: ENTITY, DOCTYPE, ELEMENT, 
-        # ATTLIST, NOTATION, SHORTREF, USEMAP, 
+        # name in the following list: ENTITY, DOCTYPE, ELEMENT,
+        # ATTLIST, NOTATION, SHORTREF, USEMAP,
         # LINKTYPE, LINK, IDLINK, USELINK, SYSTEM
         rawdata = self.rawdata
         j = i + 2
@@ -151,7 +151,7 @@
             j = match.start(0)
             self.unknown_decl(rawdata[i+3: j])
         return match.end(0)
-            
+
     # Internal -- parse comment, return length or -1 if not terminated
     def parse_comment(self, i, report=1):
         rawdata = self.rawdata
diff --git a/Lib/optparse.py b/Lib/optparse.py
index eb1330e..991bcb6 100644
--- a/Lib/optparse.py
+++ b/Lib/optparse.py
@@ -1380,4 +1380,3 @@
 # which will become a factory function when there are many Option
 # classes.
 make_option = Option
-
diff --git a/Lib/platform.py b/Lib/platform.py
index d356fb1..8e3b47f 100755
--- a/Lib/platform.py
+++ b/Lib/platform.py
@@ -110,8 +110,8 @@
 
 _libc_search = re.compile(r'(__libc_init)'
                           '|'
-                          '(GLIBC_([0-9.]+))' 
-                          '|' 
+                          '(GLIBC_([0-9.]+))'
+                          '|'
                           '(libc(_\w+)?\.so(?:\.(\d[0-9.]*))?)')
 
 def libc_ver(executable=sys.executable,lib='',version='',
@@ -126,7 +126,7 @@
 
         Note that the function has intimate knowledge of how different
         libc versions add symbols to the executable is probably only
-        useable for executables compiled using gcc. 
+        useable for executables compiled using gcc.
 
         The file is read and scanned in chunks of chunksize bytes.
 
@@ -164,7 +164,7 @@
 
 def _dist_try_harder(distname,version,id):
 
-    """ Tries some special tricks to get the distribution 
+    """ Tries some special tricks to get the distribution
         information in case the default method fails.
 
         Currently supports older SuSE Linux, Caldera OpenLinux and
@@ -376,7 +376,7 @@
 
     """ Tries to figure out the OS version used and returns
         a tuple (system,release,version).
-        
+
         It uses the "ver" shell command for this which is known
         to exists on Windows, DOS and OS/2. XXX Others too ?
 
@@ -501,7 +501,7 @@
         RegQueryValueEx(keyCurVer,'SystemRoot')
     except:
         return release,version,csd,ptype
-    
+
     # Parse values
     #subversion = _win32_getvalue(keyCurVer,
     #                            'SubVersionNumber',
@@ -581,7 +581,7 @@
                  0x80:'final'}.get(stage,'')
         versioninfo = (version,stage,nonrel)
     if sysa:
-        machine = {0x1: '68k', 
+        machine = {0x1: '68k',
                    0x2: 'PowerPC'}.get(sysa,'')
     return release,versioninfo,machine
 
@@ -594,7 +594,7 @@
         return default
 
 def java_ver(release='',vendor='',vminfo=('','',''),osinfo=('','','')):
-    
+
     """ Version interface for JPython.
 
         Returns a tuple (release,vendor,vminfo,osinfo) with vminfo being
@@ -623,7 +623,7 @@
     os_name = _java_getprop('java.os.name',os_name)
     os_version = _java_getprop('java.os.version',os_version)
     osinfo = os_name,os_version,os_arch
-    
+
     return release,vendor,vminfo,osinfo
 
 ### System name aliasing
@@ -843,14 +843,14 @@
             # Older installations can only query longs
             size = struct.calcsize('l')
         bits = str(size*8) + 'bit'
-    
+
     # Get data from the 'file' system command
     output = _syscmd_file(executable,'')
 
     if not output and \
        executable == sys.executable:
         # "file" command did not return anything; we'll try to provide
-        # some sensible defaults then... 
+        # some sensible defaults then...
         if _default_architecture.has_key(sys.platform):
             b,l = _default_architecture[sys.platform]
             if b:
@@ -861,7 +861,7 @@
 
     # Split the output into a list of strings omitting the filename
     fileout = _architecture_split(output)[1:]
-    
+
     if 'executable' not in fileout:
         # Format not supported
         return bits,linkage
@@ -895,7 +895,7 @@
     return bits,linkage
 
 ### Portable uname() interface
-    
+
 _uname_cache = None
 
 def uname():
@@ -934,7 +934,7 @@
             release,version,csd,ptype = win32_ver()
             if release and version:
                 use_syscmd_ver = 0
-        
+
         # Try the 'ver' system command available on some
         # platforms
         if use_syscmd_ver:
@@ -1140,7 +1140,7 @@
 
     """ Returns a single string identifying the underlying platform
         with as much useful information as possible (but no more :).
-        
+
         The output is intended to be human readable rather than
         machine parseable. It may look different on different
         platforms and this is intended.
@@ -1215,7 +1215,7 @@
         else:
             bits,linkage = architecture(sys.executable)
             platform = _platform(system,release,machine,processor,bits,linkage)
-    
+
     if aliased:
         _platform_aliased_cache = platform
     elif terse:
@@ -1228,7 +1228,7 @@
 
 if __name__ == '__main__':
     # Default is to print the aliased verbose platform string
-    terse = ('terse' in sys.argv or '--terse' in sys.argv) 
+    terse = ('terse' in sys.argv or '--terse' in sys.argv)
     aliased = (not 'nonaliased' in sys.argv and not '--nonaliased' in sys.argv)
     print platform(aliased,terse)
     sys.exit(0)
diff --git a/Lib/sgmllib.py b/Lib/sgmllib.py
index b259328..4a8c3b4 100644
--- a/Lib/sgmllib.py
+++ b/Lib/sgmllib.py
@@ -144,10 +144,10 @@
                         break
                     continue
                 if rawdata.startswith("<!--", i):
-                	# Strictly speaking, a comment is --.*-- 
-                	# within a declaration tag <!...>.
-                	# This should be removed, 
-                	# and comments handled only in parse_declaration.
+                        # Strictly speaking, a comment is --.*--
+                        # within a declaration tag <!...>.
+                        # This should be removed,
+                        # and comments handled only in parse_declaration.
                     k = self.parse_comment(i)
                     if k < 0: break
                     i = k
diff --git a/Lib/shelve.py b/Lib/shelve.py
index 43033ba..0809b5e 100644
--- a/Lib/shelve.py
+++ b/Lib/shelve.py
@@ -15,7 +15,7 @@
 
         d[key] = data   # store data at key (overwrites old data if
                         # using an existing key)
-        data = d[key]   # retrieve a COPY of the data at key (raise 
+        data = d[key]   # retrieve a COPY of the data at key (raise
                         # KeyError if no such key) -- NOTE that this
                         # access returns a *copy* of the entry!
         del d[key]      # delete data stored at key (raises KeyError
diff --git a/Lib/stringprep.py b/Lib/stringprep.py
index ec5b098..31e40e0 100644
--- a/Lib/stringprep.py
+++ b/Lib/stringprep.py
@@ -270,4 +270,3 @@
 
 def in_table_d2(code):
     return unicodedata.bidirectional(code) == "L"
-
diff --git a/Lib/test/string_tests.py b/Lib/test/string_tests.py
index 591b409..7c98a3b 100644
--- a/Lib/test/string_tests.py
+++ b/Lib/test/string_tests.py
@@ -631,4 +631,3 @@
 
         self.checkraises(TypeError, 'xyz', 'decode', 42)
         self.checkraises(TypeError, 'xyz', 'encode', 42)
-
diff --git a/Lib/test/test_capi.py b/Lib/test/test_capi.py
index 57cc9b8..82bded4 100644
--- a/Lib/test/test_capi.py
+++ b/Lib/test/test_capi.py
@@ -27,7 +27,7 @@
 
     def callback():
         idents.append(thread.get_ident())
-    
+
     _testcapi._test_thread_state(callback)
     time.sleep(1)
     # Check our main thread is in the list exactly 3 times.
@@ -40,6 +40,6 @@
     have_thread_state = True
 except AttributeError:
     have_thread_state = False
-    
+
 if have_thread_state:
     TestThreadState()
diff --git a/Lib/test/test_codecs.py b/Lib/test/test_codecs.py
index 17395d3..d451c1b 100644
--- a/Lib/test/test_codecs.py
+++ b/Lib/test/test_codecs.py
@@ -105,7 +105,7 @@
     #(L) 3<nen>B<gumi><kinpachi><sensei>
     (u"\u0033\u5E74\u0042\u7D44\u91D1\u516B\u5148\u751F",
      "3B-ww4c5e180e575a65lsy2b"),
-    
+
     # (M) <amuro><namie>-with-SUPER-MONKEYS
     (u"\u5B89\u5BA4\u5948\u7F8E\u6075\u002D\u0077\u0069\u0074"
      u"\u0068\u002D\u0053\u0055\u0050\u0045\u0052\u002D\u004D"
@@ -264,7 +264,7 @@
     ('\xe2\xbf\xb5',
      None),
     # 3.33 Display property character U+0341.
-    ('\xcd\x81', 
+    ('\xcd\x81',
      '\xcc\x81'),
     # 3.34 Left-to-right mark U+200E.
     ('\xe2\x80\x8e',
diff --git a/Lib/test/test_csv.py b/Lib/test/test_csv.py
index 7ee1fac..3545893 100644
--- a/Lib/test/test_csv.py
+++ b/Lib/test/test_csv.py
@@ -10,7 +10,7 @@
 
 class Test_Csv(unittest.TestCase):
     """
-    Test the underlying C csv parser in ways that are not appropriate 
+    Test the underlying C csv parser in ways that are not appropriate
     from the high level interface. Further tests of this nature are done
     in TestDialectRegistry.
     """
@@ -38,7 +38,7 @@
         obj.dialect.delimiter = '\t'
         self.assertEqual(obj.dialect.delimiter, '\t')
         self.assertRaises(TypeError, delattr, obj.dialect, 'delimiter')
-        self.assertRaises(TypeError, setattr, obj.dialect, 
+        self.assertRaises(TypeError, setattr, obj.dialect,
                           'lineterminator', None)
         obj.dialect.escapechar = None
         self.assertEqual(obj.dialect.escapechar, None)
@@ -57,14 +57,14 @@
         fileobj = StringIO()
         writer = csv.writer(fileobj, **kwargs)
         writer.writerow(fields)
-        self.assertEqual(fileobj.getvalue(), 
+        self.assertEqual(fileobj.getvalue(),
                          expect + writer.dialect.lineterminator)
 
     def test_write_arg_valid(self):
         self.assertRaises(csv.Error, self._write_test, None, '')
         self._write_test((), '')
         self._write_test([None], '""')
-        self.assertRaises(csv.Error, self._write_test, 
+        self.assertRaises(csv.Error, self._write_test,
                           [None], None, quoting = csv.QUOTE_NONE)
         # Check that exceptions are passed up the chain
         class BadList:
@@ -87,7 +87,7 @@
 
     def test_write_quoting(self):
         self._write_test(['a','1','p,q'], 'a,1,"p,q"')
-        self.assertRaises(csv.Error, 
+        self.assertRaises(csv.Error,
                           self._write_test,
                           ['a','1','p,q'], 'a,1,"p,q"',
                           quoting = csv.QUOTE_NONE)
@@ -311,15 +311,15 @@
         self.readerAssertEqual(' "a"', [[' "a"']])
 
     def test_quoted(self):
-        self.readerAssertEqual('1,2,3,"I think, therefore I am",5,6', 
-                               [['1', '2', '3', 
-                                 'I think, therefore I am', 
+        self.readerAssertEqual('1,2,3,"I think, therefore I am",5,6',
+                               [['1', '2', '3',
+                                 'I think, therefore I am',
                                  '5', '6']])
 
     def test_quoted_quote(self):
         self.readerAssertEqual('1,2,3,"""I see,"" said the blind man","as he picked up his hammer and saw"',
-                               [['1', '2', '3', 
-                                 '"I see," said the blind man', 
+                               [['1', '2', '3',
+                                 '"I see," said the blind man',
                                  'as he picked up his hammer and saw']])
 
     def test_quoted_nl(self):
@@ -329,8 +329,8 @@
 hammer and saw"
 9,8,7,6'''
         self.readerAssertEqual(input,
-                               [['1', '2', '3', 
-                                   '"I see,"\nsaid the blind man', 
+                               [['1', '2', '3',
+                                   '"I see,"\nsaid the blind man',
                                    'as he picked up his\nhammer and saw'],
                                 ['9','8','7','6']])
 
diff --git a/Lib/test/test_getargs2.py b/Lib/test/test_getargs2.py
index 53ad20c..0096c91 100644
--- a/Lib/test/test_getargs2.py
+++ b/Lib/test/test_getargs2.py
@@ -199,7 +199,7 @@
         self.failUnlessEqual(42, ll_convert("L", 42))
         self.failUnlessEqual(42, ll_convert("L", 42L))
         self.assertRaises(OverflowError, ll_convert, "L", VERY_LARGE)
-        
+
     def test_K(self):
         # K return 'unsigned long long', no range checking
         self.assertRaises(TypeError, ull_convert, "K", 3.14)
diff --git a/Lib/test/test_gettext.py b/Lib/test/test_gettext.py
index c7840cd..fc3b941 100644
--- a/Lib/test/test_gettext.py
+++ b/Lib/test/test_gettext.py
@@ -296,7 +296,7 @@
     suite.addTest(unittest.makeSuite(PluralFormsTestCase))
     suite.addTest(unittest.makeSuite(UnicodeTranslationsTest))
     return suite
-    
+
 
 def test_main():
     run_suite(suite())
diff --git a/Lib/test/test_macfs.py b/Lib/test/test_macfs.py
index ad6db88..3d32e71 100644
--- a/Lib/test/test_macfs.py
+++ b/Lib/test/test_macfs.py
@@ -29,7 +29,7 @@
     def test_fsref(self):
         fsr = macfs.FSRef(test_support.TESTFN)
         self.assertEqual(os.path.realpath(test_support.TESTFN), fsr.as_pathname())
-        
+
     def test_fsref_unicode(self):
         if sys.getfilesystemencoding():
             testfn_unicode = unicode(test_support.TESTFN)
diff --git a/Lib/test/test_pwd.py b/Lib/test/test_pwd.py
index dbdea79..9200043 100644
--- a/Lib/test/test_pwd.py
+++ b/Lib/test/test_pwd.py
@@ -92,4 +92,3 @@
 
 if __name__ == "__main__":
     test_main()
-
diff --git a/Lib/test/test_scriptpackages.py b/Lib/test/test_scriptpackages.py
index 27adf8c..a2e03f9 100644
--- a/Lib/test/test_scriptpackages.py
+++ b/Lib/test/test_scriptpackages.py
@@ -8,7 +8,7 @@
 import aetools
 
 class TestScriptpackages(unittest.TestCase):
-    
+
     def _test_scriptpackage(self, package, testobject=1):
         # Check that we can import the package
         mod = __import__(package)
@@ -19,28 +19,28 @@
         if testobject:
             # Test that we can get an application object
             obj = mod.application(0)
-        
+
     def test__builtinSuites(self):
         self._test_scriptpackage('_builtinSuites', testobject=0)
-        
+
     def test_StdSuites(self):
         self._test_scriptpackage('StdSuites')
-        
+
     def test_SystemEvents(self):
         self._test_scriptpackage('SystemEvents')
-        
+
     def test_Finder(self):
         self._test_scriptpackage('Finder')
-        
+
     def test_Terminal(self):
         self._test_scriptpackage('Terminal')
-        
+
     def test_Netscape(self):
         self._test_scriptpackage('Netscape')
-        
+
     def test_Explorer(self):
         self._test_scriptpackage('Explorer')
-        
+
     def test_CodeWarrior(self):
         self._test_scriptpackage('CodeWarrior')
 
diff --git a/Lib/test/test_shlex.py b/Lib/test/test_shlex.py
index 1678c7d..5c6572a 100644
--- a/Lib/test/test_shlex.py
+++ b/Lib/test/test_shlex.py
@@ -166,10 +166,10 @@
             ret.append(tok)
             tok = lex.get_token()
         return ret
-    
+
     def testSplitPosix(self):
         """Test data splitting with posix parser"""
-        self.splitTest(self.posix_data, comments=True) 
+        self.splitTest(self.posix_data, comments=True)
 
     def testCompat(self):
         """Test compatibility interface"""
diff --git a/Lib/test/test_signal.py b/Lib/test/test_signal.py
index c984361..75365fd 100644
--- a/Lib/test/test_signal.py
+++ b/Lib/test/test_signal.py
@@ -63,4 +63,3 @@
 except KeyboardInterrupt:
     if verbose:
         print "KeyboardInterrupt (assume the alarm() went off)"
-
diff --git a/Lib/test/test_stringprep.py b/Lib/test/test_stringprep.py
index e7c1ecb..c116adc 100644
--- a/Lib/test/test_stringprep.py
+++ b/Lib/test/test_stringprep.py
@@ -86,5 +86,3 @@
 #     h = sha.sha()
 #     h.update(data)
 #     print p,h.hexdigest()
-      
-    
diff --git a/Lib/test/test_time.py b/Lib/test/test_time.py
index 705b3ed..4b9ed99 100644
--- a/Lib/test/test_time.py
+++ b/Lib/test/test_time.py
@@ -58,16 +58,16 @@
 
         from os import environ
 
-        # Epoch time of midnight Dec 25th 2002. Never DST in northern 
+        # Epoch time of midnight Dec 25th 2002. Never DST in northern
         # hemisphere.
-        xmas2002 = 1040774400.0 
+        xmas2002 = 1040774400.0
 
         # These formats are correct for 2002, and possibly future years
         # This format is the 'standard' as documented at:
         # http://www.opengroup.org/onlinepubs/007904975/basedefs/xbd_chap08.html
         # They are also documented in the tzset(3) man page on most Unix
         # systems.
-        eastern = 'EST+05EDT,M4.1.0,M10.5.0' 
+        eastern = 'EST+05EDT,M4.1.0,M10.5.0'
         victoria = 'AEST-10AEDT-11,M10.5.0,M3.5.0'
         utc='UTC+0'
 
@@ -83,7 +83,7 @@
             self.failUnlessEqual(
                 time.gmtime(xmas2002), time.localtime(xmas2002)
                 )
-            self.failUnlessEqual(time.daylight, 0) 
+            self.failUnlessEqual(time.daylight, 0)
             self.failUnlessEqual(time.timezone, 0)
             self.failUnlessEqual(time.localtime(xmas2002).tm_isdst, 0)
 
@@ -119,7 +119,7 @@
             elif environ.has_key('TZ'):
                 del environ['TZ']
             time.tzset()
-            
+
 
 def test_main():
     test_support.run_unittest(TimeTestCase)
diff --git a/Lib/test/test_unicode_file.py b/Lib/test/test_unicode_file.py
index 255cea3..23fe1f4 100644
--- a/Lib/test/test_unicode_file.py
+++ b/Lib/test/test_unicode_file.py
@@ -6,7 +6,7 @@
 from test.test_support import verify, TestSkipped, TESTFN_UNICODE
 from test.test_support import TESTFN_ENCODING
 try:
-    TESTFN_ENCODED = TESTFN_UNICODE.encode(TESTFN_ENCODING)    
+    TESTFN_ENCODED = TESTFN_UNICODE.encode(TESTFN_ENCODING)
 except (UnicodeError, TypeError):
     # Either the file system encoding is None, or the file name
     # cannot be encoded in the file system encoding.
diff --git a/Lib/trace.py b/Lib/trace.py
index cda7258..9575911 100644
--- a/Lib/trace.py
+++ b/Lib/trace.py
@@ -268,7 +268,7 @@
             coverpath = os.path.join(dir, modulename + ".cover")
             n_hits, n_lines = self.write_results_file(coverpath, source,
                                                       lnotab, count)
-            
+
             if summary and n_lines:
                 percent = int(100 * n_hits / n_lines)
                 sums[modulename] = n_lines, percent, modulename, filename
@@ -467,7 +467,7 @@
 
     def globaltrace_countfuncs(self, frame, why, arg):
         """Handler for call events.
-        
+
         Adds (filename, modulename, funcname) to the self._calledfuncs dict.
         """
         if why == 'call':
diff --git a/Lib/xml/dom/domreg.py b/Lib/xml/dom/domreg.py
index 0e6e615..117ca49 100644
--- a/Lib/xml/dom/domreg.py
+++ b/Lib/xml/dom/domreg.py
@@ -26,7 +26,7 @@
     interface. The factory function can either return the same object,
     or a new one (e.g. if that implementation supports some
     customization)."""
-    
+
     registered[name] = factory
 
 def _good_enough(dom, features):
@@ -48,7 +48,7 @@
     find one with the required feature set. If no implementation can
     be found, raise an ImportError. The features list must be a sequence
     of (feature, version) pairs which are passed to hasFeature."""
-    
+
     import os
     creator = None
     mod = well_known_implementations.get(name)
diff --git a/Lib/xml/dom/pulldom.py b/Lib/xml/dom/pulldom.py
index b2e1a46..18f49b5 100644
--- a/Lib/xml/dom/pulldom.py
+++ b/Lib/xml/dom/pulldom.py
@@ -236,7 +236,7 @@
 
     def __iter__(self):
         return self
-    
+
     def expandNode(self, node):
         event = self.getEvent()
         parents = [node]
diff --git a/Lib/xml/sax/handler.py b/Lib/xml/sax/handler.py
index 41105c0..25d55c1 100644
--- a/Lib/xml/sax/handler.py
+++ b/Lib/xml/sax/handler.py
@@ -326,7 +326,7 @@
 #                processing a META tag)
 #         read:  return the current encoding (possibly established through
 #                auto-detection.
-# initial value: UTF-8 
+# initial value: UTF-8
 #
 
 property_interning_dict = "http://www.python.org/sax/properties/interning-dict"
diff --git a/Lib/xml/sax/saxutils.py b/Lib/xml/sax/saxutils.py
index f55eef5..6544f17 100644
--- a/Lib/xml/sax/saxutils.py
+++ b/Lib/xml/sax/saxutils.py
@@ -20,7 +20,7 @@
 
 def escape(data, entities={}):
     """Escape &, <, and > in a string of data.
-    
+
     You can escape other strings of data by passing a dictionary as
     the optional entities parameter.  The keys and values must all be
     strings; each key will be replaced with its corresponding value.
diff --git a/Tools/scripts/db2pickle.py b/Tools/scripts/db2pickle.py
index 59da765..ab40ca7 100644
--- a/Tools/scripts/db2pickle.py
+++ b/Tools/scripts/db2pickle.py
@@ -103,7 +103,7 @@
         sys.stderr.write("Unable to open %s.  " % dbfile)
         sys.stderr.write("Check for format or version mismatch.\n")
         return 1
-    
+
     for k in db.keys():
         pickle.dump((k, db[k]), pfile, 1==1)
 
diff --git a/Tools/scripts/pickle2db.py b/Tools/scripts/pickle2db.py
index 5cd550c..715a497 100644
--- a/Tools/scripts/pickle2db.py
+++ b/Tools/scripts/pickle2db.py
@@ -37,7 +37,7 @@
 prog = sys.argv[0]
 
 def usage():
-   sys.stderr.write(__doc__ % globals())
+    sys.stderr.write(__doc__ % globals())
 
 def main(args):
     try:
diff --git a/Tools/scripts/trace.py b/Tools/scripts/trace.py
index ffbce5f..e458d1d 100644
--- a/Tools/scripts/trace.py
+++ b/Tools/scripts/trace.py
@@ -146,7 +146,7 @@
 
 class CoverageResults:
     def __init__(self, counts=None, calledfuncs=None, infile=None,
-                 outfile=None): 
+                 outfile=None):
         self.counts = counts
         if self.counts is None:
             self.counts = {}
@@ -164,7 +164,7 @@
                 if type(thingie) is types.DictType:
                     # backwards compatibility for old trace.py after
                     # Zooko touched it but before calledfuncs  --Zooko
-                    # 2001-10-24 
+                    # 2001-10-24
                     self.update(self.__class__(thingie))
                 elif type(thingie) is types.TupleType and len(thingie) == 2:
                     counts, calledfuncs = thingie
@@ -173,7 +173,7 @@
                 pass
             except pickle.UnpicklingError:
                 # backwards compatibility for old trace.py before
-                # Zooko touched it  --Zooko 2001-10-24 
+                # Zooko touched it  --Zooko 2001-10-24
                 self.update(self.__class__(marshal.load(open(self.infile))))
 
     def update(self, other):
@@ -187,7 +187,7 @@
             if key != 'calledfuncs':
                 # backwards compatibility for abortive attempt to
                 # stuff calledfuncs into self.counts, by Zooko
-                # --Zooko 2001-10-24 
+                # --Zooko 2001-10-24
                 counts[key] = counts.get(key, 0) + other_counts[key]
 
         for key in other_calledfuncs.keys():
@@ -406,18 +406,18 @@
                  ignoredirs=(), infile=None, outfile=None):
         """
         @param count true iff it should count number of times each
-                     line is executed  
+                     line is executed
         @param trace true iff it should print out each line that is
-                     being counted 
+                     being counted
         @param countfuncs true iff it should just output a list of
                      (filename, modulename, funcname,) for functions
                      that were called at least once;  This overrides
-                     `count' and `trace'  
+                     `count' and `trace'
         @param ignoremods a list of the names of modules to ignore
         @param ignoredirs a list of the names of directories to ignore
-                     all of the (recursive) contents of 
+                     all of the (recursive) contents of
         @param infile file from which to read stored counts to be
-                     added into the results 
+                     added into the results
         @param outfile file in which to write the results
         """
         self.infile = infile
@@ -516,19 +516,19 @@
             # XXX I wish inspect offered me an optimized
             # `getfilename(frame)' to use in place of the presumably
             # heavier `getframeinfo()'.  --Zooko 2001-10-14
-            
+
             filename, lineno, funcname, context, lineindex = \
                       inspect.getframeinfo(frame, 1)
             key = filename, lineno
             self.counts[key] = self.counts.get(key, 0) + 1
-            
+
             # XXX not convinced that this memoizing is a performance
             # win -- I don't know enough about Python guts to tell.
             # --Zooko 2001-10-14
-            
+
             bname = self.pathtobasename.get(filename)
             if bname is None:
-                
+
                 # Using setdefault faster than two separate lines?
                 # --Zooko 2001-10-14
                 bname = self.pathtobasename.setdefault(filename,
@@ -553,7 +553,7 @@
             # heavier `getframeinfo()'.  --Zooko 2001-10-14
             filename, lineno, funcname, context, lineindex = \
                       inspect.getframeinfo(frame)
-            
+
             # XXX not convinced that this memoizing is a performance
             # win -- I don't know enough about Python guts to tell.
             # --Zooko 2001-10-14