Whitespace normalization.
diff --git a/Lib/distutils/archive_util.py b/Lib/distutils/archive_util.py
index 4c5641b..58d9a06 100644
--- a/Lib/distutils/archive_util.py
+++ b/Lib/distutils/archive_util.py
@@ -31,7 +31,7 @@
     compress_ext = { 'gzip': ".gz",
                      'bzip2': '.bz2',
                      'compress': ".Z" }
-    
+
     # flags for compression program, each element of list will be an argument
     compress_flags = {'gzip': ["-f9"],
                       'compress': ["-f"],
@@ -85,7 +85,7 @@
             import zipfile
         except ImportError:
             raise DistutilsExecError, \
-                  ("unable to create zip file '%s': " + 
+                  ("unable to create zip file '%s': " +
                    "could neither find a standalone zip utility nor " +
                    "import the 'zipfile' module") % zip_filename
 
@@ -152,7 +152,7 @@
 
     kwargs = { 'verbose': verbose,
                'dry_run': dry_run }
-    
+
     try:
         format_info = ARCHIVE_FORMATS[format]
     except KeyError:
diff --git a/Lib/distutils/bcppcompiler.py b/Lib/distutils/bcppcompiler.py
index 5c0fae8..9ebba2d 100644
--- a/Lib/distutils/bcppcompiler.py
+++ b/Lib/distutils/bcppcompiler.py
@@ -102,7 +102,7 @@
             compile_opts.extend (self.compile_options_debug)
         else:
             compile_opts.extend (self.compile_options)
-        
+
         for i in range (len (sources)):
             src = sources[i] ; obj = objects[i]
             ext = (os.path.splitext (src))[1]
@@ -130,11 +130,11 @@
                     input_opt = ""
                 elif ext in self._cpp_extensions:
                     input_opt = "-P"
-                else: 
+                else:
                     # Unknown file type -- no extra options.  The compiler
                     # will probably fail, but let it just in case this is a
                     # file the compiler recognizes even if we don't.
-                    input_opt = ""                              
+                    input_opt = ""
 
                 output_opt = "-o" + obj
 
@@ -174,17 +174,17 @@
             if extra_postargs:
                 lib_args.extend (extra_postargs)
             try:
-               self.spawn ([self.lib] + lib_args)
+                self.spawn ([self.lib] + lib_args)
             except DistutilsExecError, msg:
-               raise LibError, msg
+                raise LibError, msg
         else:
             self.announce ("skipping %s (up-to-date)" % output_filename)
 
     # create_static_lib ()
-    
-    
+
+
     def link (self,
-              target_desc,        
+              target_desc,
               objects,
               output_filename,
               output_dir=None,
@@ -254,14 +254,14 @@
                     resources.append(file)
                 else:
                     objects.append(file)
-            
-            
+
+
             for l in library_dirs:
-                ld_args.append("/L%s" % os.path.normpath(l)) 
+                ld_args.append("/L%s" % os.path.normpath(l))
             ld_args.append("/L.") # we sometimes use relative paths
 
-            # list of object files                
-            ld_args.extend(objects)     
+            # list of object files
+            ld_args.extend(objects)
 
             # XXX the command-line syntax for Borland C++ is a bit wonky;
             # certain filenames are jammed together in one big string, but
@@ -275,11 +275,11 @@
 
             # name of dll/exe file
             ld_args.extend([',',output_filename])
-            # no map file and start libraries 
+            # no map file and start libraries
             ld_args.append(',,')
 
             for lib in libraries:
-                # see if we find it and if there is a bcpp specific lib 
+                # see if we find it and if there is a bcpp specific lib
                 # (xxx_bcpp.lib)
                 libfile = self.find_library_file(library_dirs, lib, debug)
                 if libfile is None:
@@ -300,7 +300,7 @@
             ld_args.append(',')
             ld_args.extend(resources)
 
-            
+
             if extra_preargs:
                 ld_args[:0] = extra_preargs
             if extra_postargs:
diff --git a/Lib/distutils/ccompiler.py b/Lib/distutils/ccompiler.py
index 4efd934..21bf0c17 100644
--- a/Lib/distutils/ccompiler.py
+++ b/Lib/distutils/ccompiler.py
@@ -61,7 +61,7 @@
     #     different versions of libfoo.a in different locations.  I
     #     think this is useless without the ability to null out the
     #     library search path anyways.
-    
+
 
     # Subclasses that rely on the standard filename generation methods
     # implemented below should override these; see the comment near
@@ -159,7 +159,7 @@
             setattr(self, key, split_quoted(value))
         else:
             setattr(self, key, value)
-        
+
 
 
     def _find_macro (self, name):
@@ -352,7 +352,7 @@
         else:
             raise TypeError, \
                   "'include_dirs' (if supplied) must be a list of strings"
-                    
+
         return (output_dir, macros, include_dirs)
 
     # _fix_compile_args ()
@@ -364,7 +364,7 @@
         list of all object files and a dictionary telling which source
         files can be skipped.
         """
-        # Get the list of expected output (object) files 
+        # Get the list of expected output (object) files
         objects = self.object_filenames (sources,
                                          strip_dir=1,
                                          output_dir=output_dir)
@@ -401,7 +401,7 @@
             raise TypeError, \
                   "'objects' must be a list or tuple of strings"
         objects = list (objects)
-            
+
         if output_dir is None:
             output_dir = self.output_dir
         elif type (output_dir) is not StringType:
@@ -560,7 +560,7 @@
         Raises LibError on failure.
         """
         pass
-    
+
 
     # values for target_desc parameter in link()
     SHARED_OBJECT = "shared_object"
@@ -621,7 +621,7 @@
         """
         raise NotImplementedError
 
-    
+
     # Old 'link_*()' methods, rewritten to use the new 'link()' method.
 
     def link_shared_lib (self,
@@ -636,13 +636,13 @@
                          extra_preargs=None,
                          extra_postargs=None,
                          build_temp=None):
-        self.link(CCompiler.SHARED_LIBRARY, objects, 
+        self.link(CCompiler.SHARED_LIBRARY, objects,
                   self.library_filename(output_libname, lib_type='shared'),
                   output_dir,
                   libraries, library_dirs, runtime_library_dirs,
                   export_symbols, debug,
                   extra_preargs, extra_postargs, build_temp)
-    
+
 
     def link_shared_object (self,
                             objects,
@@ -673,9 +673,9 @@
                          debug=0,
                          extra_preargs=None,
                          extra_postargs=None):
-        self.link(CCompiler.EXECUTABLE, objects, 
+        self.link(CCompiler.EXECUTABLE, objects,
                   self.executable_filename(output_progname), output_dir,
-                  libraries, library_dirs, runtime_library_dirs, None, 
+                  libraries, library_dirs, runtime_library_dirs, None,
                   debug, extra_preargs, extra_postargs, None)
 
 
@@ -846,12 +846,12 @@
     # on a cygwin built python we can use gcc like an ordinary UNIXish
     # compiler
     ('cygwin.*', 'unix'),
-    
+
     # OS name mappings
     ('posix', 'unix'),
     ('nt', 'msvc'),
     ('mac', 'mwerks'),
-    
+
     )
 
 def get_default_compiler(osname=None, platform=None):
@@ -901,7 +901,7 @@
     # XXX this "knows" that the compiler option it's describing is
     # "--compiler", which just happens to be the case for the three
     # commands that use it.
-    from distutils.fancy_getopt import FancyGetopt 
+    from distutils.fancy_getopt import FancyGetopt
     compilers = []
     for compiler in compiler_class.keys():
         compilers.append(("compiler="+compiler, None,
@@ -909,7 +909,7 @@
     compilers.sort()
     pretty_printer = FancyGetopt(compilers)
     pretty_printer.print_help("List of available compilers:")
-    
+
 
 def new_compiler (plat=None,
                   compiler=None,
@@ -932,14 +932,14 @@
     try:
         if compiler is None:
             compiler = get_default_compiler(plat)
-        
+
         (module_name, class_name, long_description) = compiler_class[compiler]
     except KeyError:
         msg = "don't know how to compile C/C++ code on platform '%s'" % plat
         if compiler is not None:
             msg = msg + " with '%s' compiler" % compiler
         raise DistutilsPlatformError, msg
-              
+
     try:
         module_name = "distutils." + module_name
         __import__ (module_name)
diff --git a/Lib/distutils/cmd.py b/Lib/distutils/cmd.py
index 85a7f46..65060d6 100644
--- a/Lib/distutils/cmd.py
+++ b/Lib/distutils/cmd.py
@@ -41,7 +41,7 @@
     # current situation.  (Eg. we "install_headers" is only applicable if
     # we have any C header files to install.)  If 'predicate' is None,
     # that command is always applicable.
-    # 
+    #
     # 'sub_commands' is usually defined at the *end* of a class, because
     # predicates can be unbound methods, so they must already have been
     # defined.  The canonical example is the "install" command.
@@ -111,7 +111,7 @@
         if not self.finalized:
             self.finalize_options()
         self.finalized = 1
-        
+
 
     # Subclasses must define:
     #   initialize_options()
@@ -133,12 +133,12 @@
         command-line.  Thus, this is not the place to code dependencies
         between options; generally, 'initialize_options()' implementations
         are just a bunch of "self.foo = None" assignments.
-           
+
         This method must be implemented by all command classes.
         """
         raise RuntimeError, \
               "abstract method -- subclass %s must override" % self.__class__
-        
+
     def finalize_options (self):
         """Set final values for all the options that this command supports.
         This is always called as late as possible, ie.  after any option
@@ -198,12 +198,12 @@
         if DEBUG:
             print msg
             sys.stdout.flush()
-        
+
 
 
     # -- Option validation methods -------------------------------------
     # (these are very handy in writing the 'finalize_options()' method)
-    # 
+    #
     # NB. the general philosophy here is to ensure that a particular option
     # value meets certain type and value constraints.  If not, we try to
     # force it into conformance (eg. if we expect a list but have a string,
@@ -252,7 +252,7 @@
                 raise DistutilsOptionError, \
                       "'%s' must be a list of strings (got %s)" % \
                       (option, `val`)
-        
+
     def _ensure_tested_string (self, option, tester,
                                what, error_fmt, default=None):
         val = self._ensure_stringlike(option, what, default)
@@ -382,7 +382,7 @@
         and force flags.
         """
         return dir_util.copy_tree(
-            infile, outfile, 
+            infile, outfile,
             preserve_mode,preserve_times,preserve_symlinks,
             not self.force,
             self.verbose >= level,
@@ -426,7 +426,7 @@
                        (outfile, string.join(infiles, ', '))
         if skip_msg is None:
             skip_msg = "skipping %s (inputs unchanged)" % outfile
-        
+
 
         # Allow 'infiles' to be a single string
         if type(infiles) is StringType:
@@ -459,7 +459,7 @@
     """Common base class for installing some files in a subdirectory.
     Currently used by install_data and install_scripts.
     """
-    
+
     user_options = [('install-dir=', 'd', "directory to install the files to")]
 
     def initialize_options (self):
diff --git a/Lib/distutils/core.py b/Lib/distutils/core.py
index 2aab7c4..97a741c 100644
--- a/Lib/distutils/core.py
+++ b/Lib/distutils/core.py
@@ -108,7 +108,7 @@
     # Find and parse the config file(s): they will override options from
     # the setup script, but be overridden by the command line.
     dist.parse_config_files()
-    
+
     if DEBUG:
         print "options (after parsing config files):"
         dist.dump_option_dicts()
@@ -146,7 +146,7 @@
                 raise
             else:
                 raise SystemExit, error
-            
+
         except (DistutilsExecError,
                 DistutilsFileError,
                 DistutilsOptionError,
diff --git a/Lib/distutils/cygwinccompiler.py b/Lib/distutils/cygwinccompiler.py
index 07e1665..1d97282 100644
--- a/Lib/distutils/cygwinccompiler.py
+++ b/Lib/distutils/cygwinccompiler.py
@@ -18,28 +18,28 @@
 #
 #   see also http://starship.python.net/crew/kernr/mingw32/Notes.html
 #
-# * We put export_symbols in a def-file, and don't use 
+# * We put export_symbols in a def-file, and don't use
 #   --export-all-symbols because it doesn't worked reliable in some
 #   tested configurations. And because other windows compilers also
 #   need their symbols specified this no serious problem.
 #
 # tested configurations:
-#   
-# * cygwin gcc 2.91.57/ld 2.9.4/dllwrap 0.2.4 works 
+#
+# * cygwin gcc 2.91.57/ld 2.9.4/dllwrap 0.2.4 works
 #   (after patching python's config.h and for C++ some other include files)
 #   see also http://starship.python.net/crew/kernr/mingw32/Notes.html
-# * mingw32 gcc 2.95.2/ld 2.9.4/dllwrap 0.2.4 works 
-#   (ld doesn't support -shared, so we use dllwrap)   
+# * mingw32 gcc 2.95.2/ld 2.9.4/dllwrap 0.2.4 works
+#   (ld doesn't support -shared, so we use dllwrap)
 # * cygwin gcc 2.95.2/ld 2.10.90/dllwrap 2.10.90 works now
 #   - its dllwrap doesn't work, there is a bug in binutils 2.10.90
 #     see also http://sources.redhat.com/ml/cygwin/2000-06/msg01274.html
-#   - using gcc -mdll instead dllwrap doesn't work without -static because 
+#   - using gcc -mdll instead dllwrap doesn't work without -static because
 #     it tries to link against dlls instead their import libraries. (If
 #     it finds the dll first.)
-#     By specifying -static we force ld to link against the import libraries, 
-#     this is windows standard and there are normally not the necessary symbols 
+#     By specifying -static we force ld to link against the import libraries,
+#     this is windows standard and there are normally not the necessary symbols
 #     in the dlls.
-#   *** only the version of June 2000 shows these problems 
+#   *** only the version of June 2000 shows these problems
 
 # created 2000/05/05, Rene Liebscher
 
@@ -60,7 +60,7 @@
     static_lib_format = "lib%s%s"
     shared_lib_format = "%s%s"
     exe_extension = ".exe"
-   
+
     def __init__ (self,
                   verbose=0,
                   dry_run=0,
@@ -76,20 +76,20 @@
                 "Python's pyconfig.h doesn't seem to support your compiler.  " +
                 ("Reason: %s." % details) +
                 "Compiling may fail because of undefined preprocessor macros.")
-        
+
         (self.gcc_version, self.ld_version, self.dllwrap_version) = \
             get_versions()
         self.debug_print(self.compiler_type + ": gcc %s, ld %s, dllwrap %s\n" %
-                         (self.gcc_version, 
-                          self.ld_version, 
+                         (self.gcc_version,
+                          self.ld_version,
                           self.dllwrap_version) )
 
-        # ld_version >= "2.10.90" should also be able to use 
+        # ld_version >= "2.10.90" should also be able to use
         # gcc -mdll instead of dllwrap
-        # Older dllwraps had own version numbers, newer ones use the 
+        # Older dllwraps had own version numbers, newer ones use the
         # same as the rest of binutils ( also ld )
         # dllwrap 2.10.90 is buggy
-        if self.ld_version >= "2.10.90": 
+        if self.ld_version >= "2.10.90":
             self.linker_dll = "gcc"
         else:
             self.linker_dll = "dllwrap"
@@ -102,22 +102,22 @@
                              linker_so=('%s -mcygwin -mdll -static' %
                                         self.linker_dll))
 
-        # cygwin and mingw32 need different sets of libraries 
+        # cygwin and mingw32 need different sets of libraries
         if self.gcc_version == "2.91.57":
             # cygwin shouldn't need msvcrt, but without the dlls will crash
             # (gcc version 2.91.57) -- perhaps something about initialization
             self.dll_libraries=["msvcrt"]
-            self.warn( 
+            self.warn(
                 "Consider upgrading to a newer version of gcc")
         else:
             self.dll_libraries=[]
-        
+
     # __init__ ()
 
     # not much different of the compile method in UnixCCompiler,
     # but we have to insert some lines in the middle of it, so
     # we put here a adapted version of it.
-    # (If we would call compile() in the base class, it would do some 
+    # (If we would call compile() in the base class, it would do some
     # initializations a second time, this is why all is done here.)
     def compile (self,
                  sources,
@@ -143,7 +143,7 @@
             extra_postargs = []
 
         # Compile all source files that weren't eliminated by
-        # '_prep_compile()'.        
+        # '_prep_compile()'.
         for i in range (len (sources)):
             src = sources[i] ; obj = objects[i]
             ext = (os.path.splitext (src))[1]
@@ -157,7 +157,7 @@
                         self.spawn (["windres","-i",src,"-o",obj])
                     except DistutilsExecError, msg:
                         raise CompileError, msg
-                else: # for other files use the C-compiler 
+                else: # for other files use the C-compiler
                     try:
                         self.spawn (self.compiler_so + cc_args +
                                 [src, '-o', obj] +
@@ -184,12 +184,12 @@
               extra_preargs=None,
               extra_postargs=None,
               build_temp=None):
-        
+
         # use separate copies, so we can modify the lists
         extra_preargs = copy.copy(extra_preargs or [])
         libraries = copy.copy(libraries or [])
         objects = copy.copy(objects or [])
-                
+
         # Additional libraries
         libraries.extend(self.dll_libraries)
 
@@ -199,10 +199,10 @@
             (target_desc != self.EXECUTABLE or self.linker_dll == "gcc")):
             # (The linker doesn't do anything if output is up-to-date.
             # So it would probably better to check if we really need this,
-            # but for this we had to insert some unchanged parts of 
-            # UnixCCompiler, and this is not what we want.) 
+            # but for this we had to insert some unchanged parts of
+            # UnixCCompiler, and this is not what we want.)
 
-            # we want to put some files in the same directory as the 
+            # we want to put some files in the same directory as the
             # object files are, build_temp doesn't help much
             # where are the object files
             temp_dir = os.path.dirname(objects[0])
@@ -214,7 +214,7 @@
             def_file = os.path.join(temp_dir, dll_name + ".def")
             exp_file = os.path.join(temp_dir, dll_name + ".exp")
             lib_file = os.path.join(temp_dir, 'lib' + dll_name + ".a")
-       
+
             # Generate .def file
             contents = [
                 "LIBRARY %s" % os.path.basename(output_filename),
@@ -237,21 +237,21 @@
             else:
                 # doesn't work: bfd_close build\...\libfoo.a: Invalid operation
                 #extra_preargs.extend(["-Wl,--out-implib,%s" % lib_file])
-                # for gcc/ld the def-file is specified as any other object files    
+                # for gcc/ld the def-file is specified as any other object files
                 objects.append(def_file)
 
         #end: if ((export_symbols is not None) and
         #        (target_desc != self.EXECUTABLE or self.linker_dll == "gcc")):
-                                                 
+
         # who wants symbols and a many times larger output file
-        # should explicitly switch the debug mode on 
+        # should explicitly switch the debug mode on
         # otherwise we let dllwrap/ld strip the output file
-        # (On my machine: 10KB < stripped_file < ??100KB 
+        # (On my machine: 10KB < stripped_file < ??100KB
         #   unstripped_file = stripped_file + XXX KB
-        #  ( XXX=254 for a typical python extension)) 
-        if not debug: 
-            extra_preargs.append("-s") 
-        
+        #  ( XXX=254 for a typical python extension))
+        if not debug:
+            extra_preargs.append("-s")
+
         UnixCCompiler.link(self,
                            target_desc,
                            objects,
@@ -265,7 +265,7 @@
                            extra_preargs,
                            extra_postargs,
                            build_temp)
-        
+
     # link ()
 
     # -- Miscellaneous methods -----------------------------------------
@@ -288,7 +288,7 @@
                 base = os.path.basename (base)
             if ext == '.res' or ext == '.rc':
                 # these need to be compiled to object files
-                obj_names.append (os.path.join (output_dir, 
+                obj_names.append (os.path.join (output_dir,
                                             base + ext + self.obj_extension))
             else:
                 obj_names.append (os.path.join (output_dir,
@@ -311,7 +311,7 @@
                   force=0):
 
         CygwinCCompiler.__init__ (self, verbose, dry_run, force)
-        
+
         # A real mingw32 doesn't need to specify a different entry point,
         # but cygwin 2.91.57 in no-cygwin-mode needs it.
         if self.gcc_version <= "2.91.57":
@@ -322,15 +322,15 @@
         self.set_executables(compiler='gcc -mno-cygwin -O -Wall',
                              compiler_so='gcc -mno-cygwin -mdll -O -Wall',
                              linker_exe='gcc -mno-cygwin',
-                             linker_so='%s -mno-cygwin -mdll -static %s' 
+                             linker_so='%s -mno-cygwin -mdll -static %s'
                                         % (self.linker_dll, entry_point))
         # Maybe we should also append -mthreads, but then the finished
         # dlls need another dll (mingwm10.dll see Mingw32 docs)
-        # (-mthreads: Support thread-safe exception handling on `Mingw32')       
-        
-        # no additional libraries needed 
+        # (-mthreads: Support thread-safe exception handling on `Mingw32')
+
+        # no additional libraries needed
         self.dll_libraries=[]
-        
+
     # __init__ ()
 
 # class Mingw32CCompiler
@@ -370,15 +370,15 @@
     # GCC, and the pyconfig.h file should be OK
     if string.find(sys.version,"GCC") >= 0:
         return (CONFIG_H_OK, "sys.version mentions 'GCC'")
-    
+
     fn = sysconfig.get_config_h_filename()
     try:
         # It would probably better to read single lines to search.
-        # But we do this only once, and it is fast enough 
+        # But we do this only once, and it is fast enough
         f = open(fn)
         s = f.read()
         f.close()
-        
+
     except IOError, exc:
         # if we can't read this file, we cannot say it is wrong
         # the compiler will complain later about this file as missing
@@ -401,7 +401,7 @@
     from distutils.version import StrictVersion
     from distutils.spawn import find_executable
     import re
-        
+
     gcc_exe = find_executable('gcc')
     if gcc_exe:
         out = os.popen(gcc_exe + ' -dumpversion','r')
@@ -439,4 +439,3 @@
     else:
         dllwrap_version = None
     return (gcc_version, ld_version, dllwrap_version)
-
diff --git a/Lib/distutils/dep_util.py b/Lib/distutils/dep_util.py
index 4b93ed0..9edba4c 100644
--- a/Lib/distutils/dep_util.py
+++ b/Lib/distutils/dep_util.py
@@ -70,7 +70,7 @@
     # If the target doesn't even exist, then it's definitely out-of-date.
     if not os.path.exists(target):
         return 1
-   
+
     # Otherwise we have to find out the hard way: if *any* source file
     # is more recent than 'target', then 'target' is out-of-date and
     # we can immediately return true.  If we fall through to the end
@@ -80,12 +80,12 @@
     for source in sources:
         if not os.path.exists(source):
             if missing == 'error':      # blow up when we stat() the file
-                pass                    
-            elif missing == 'ignore':   # missing source dropped from 
+                pass
+            elif missing == 'ignore':   # missing source dropped from
                 continue                #  target's dependency list
             elif missing == 'newer':    # missing source means target is
                 return 1                #  out-of-date
-            
+
         source_mtime = os.stat(source)[ST_MTIME]
         if source_mtime > target_mtime:
             return 1
diff --git a/Lib/distutils/dir_util.py b/Lib/distutils/dir_util.py
index a1578be..77007c9 100644
--- a/Lib/distutils/dir_util.py
+++ b/Lib/distutils/dir_util.py
@@ -49,7 +49,7 @@
 
     (head, tail) = os.path.split(name)
     tails = [tail]                      # stack of lone dirs to create
-    
+
     while head and tail and not os.path.isdir(head):
         #print "splitting '%s': " % head,
         (head, tail) = os.path.split(head)
@@ -140,7 +140,7 @@
 
     if not dry_run and not os.path.isdir(src):
         raise DistutilsFileError, \
-              "cannot copy tree '%s': not a directory" % src    
+              "cannot copy tree '%s': not a directory" % src
     try:
         names = os.listdir(src)
     except os.error, (errno, errstr):
@@ -166,7 +166,7 @@
             if not dry_run:
                 os.symlink(link_dest, dst_name)
             outputs.append(dst_name)
-            
+
         elif os.path.isdir(src_name):
             outputs.extend(
                 copy_tree(src_name, dst_name,
diff --git a/Lib/distutils/dist.py b/Lib/distutils/dist.py
index d5bfa05..b648f24 100644
--- a/Lib/distutils/dist.py
+++ b/Lib/distutils/dist.py
@@ -97,7 +97,7 @@
 
 
     # -- Creation/initialization methods -------------------------------
-    
+
     def __init__ (self, attrs=None):
         """Construct a new Distribution instance: initialize all the
         attributes of a Distribution, and then use 'attrs' (a dictionary
@@ -208,7 +208,7 @@
                           "invalid distribution option '%s'" % key
 
         self.finalize_options()
-        
+
     # __init__ ()
 
 
@@ -251,7 +251,7 @@
                     print indent + "  " + line
 
     # dump_option_dicts ()
-            
+
 
 
     # -- Config file finding/parsing methods ---------------------------
@@ -378,7 +378,7 @@
             cmdlist = self.get_command_list()
             self.script_args = EasyDialogs.GetArgv(
                 self.global_options + self.display_options, cmdlist)
- 
+
         # We have to parse the command line a bit at a time -- global
         # options, then the first command, then its options, and so on --
         # because each command will be handled by a different class, and
@@ -396,7 +396,7 @@
         # for display options we return immediately
         if self.handle_display_options(option_order):
             return
-            
+
         while args:
             args = self._parse_command_opts(parser, args)
             if args is None:            # user asked for help (and got it)
@@ -508,7 +508,7 @@
                             "must be a callable object (function, etc.)"
                             % (`func`, help_option))
 
-            if help_option_found: 
+            if help_option_found:
                 return
 
         # Put the options from the command-line into their official
@@ -801,7 +801,7 @@
         (from 'self.command_options').
         """
         from distutils.core import DEBUG
-        
+
         command_name = command_obj.get_command_name()
         if option_dict is None:
             option_dict = self.get_option_dict(command_name)
@@ -841,7 +841,7 @@
         user-supplied values from the config files and command line.
         You'll have to re-finalize the command object (by calling
         'finalize_options()' or 'ensure_finalized()') before using it for
-        real.  
+        real.
 
         'command' should be a command name (string) or command object.  If
         'reinit_subcommands' is true, also reinitializes the command's
@@ -868,11 +868,11 @@
 
         if reinit_subcommands:
             for sub in command.get_sub_commands():
-                self.reinitialize_command(sub, reinit_subcommands)            
+                self.reinitialize_command(sub, reinit_subcommands)
 
         return command
 
-        
+
     # -- Methods that operate on the Distribution ----------------------
 
     def announce (self, msg, level=1):
@@ -976,7 +976,7 @@
         self.long_description = None
         self.keywords = None
         self.platforms = None
-        
+
     def write_pkg_info (self, base_dir):
         """Write the PKG-INFO file into the release tree.
         """
@@ -1003,9 +1003,9 @@
             pkg_info.write('Platform: %s\n' % platform )
 
         pkg_info.close()
-        
+
     # write_pkg_info ()
-    
+
     # -- Metadata query methods ----------------------------------------
 
     def get_name (self):
@@ -1045,7 +1045,7 @@
     def get_license(self):
         return self.license or "UNKNOWN"
     get_licence = get_license
-    
+
     def get_description(self):
         return self.description or "UNKNOWN"
 
diff --git a/Lib/distutils/extension.py b/Lib/distutils/extension.py
index a63ede2..fbae7c5 100644
--- a/Lib/distutils/extension.py
+++ b/Lib/distutils/extension.py
@@ -16,7 +16,7 @@
 # module is already big enough, and I want to make this class a bit more
 # complex to simplify some common cases ("foo" module in "foo.c") and do
 # better error-checking ("foo.c" actually exists).
-# 
+#
 # Also, putting this in build_ext.py means every setup script would have to
 # import that large-ish module (indirectly, through distutils.core) in
 # order to do anything.
@@ -211,7 +211,7 @@
         #extensions[module] = { 'sources': source_files,
         #                       'cpp_args': cpp_args,
         #                       'lib_args': library_args }
-        
+
     return extensions
 
 # read_setup_file ()
diff --git a/Lib/distutils/fancy_getopt.py b/Lib/distutils/fancy_getopt.py
index 83d0721..e65302f 100644
--- a/Lib/distutils/fancy_getopt.py
+++ b/Lib/distutils/fancy_getopt.py
@@ -73,7 +73,7 @@
         # 'negative_alias' keeps track of options that are the boolean
         # opposite of some other option
         self.negative_alias = {}
-        
+
         # These keep track of the information in the option table.  We
         # don't actually populate these structures until we're ready to
         # parse the command-line, since the 'option_table' passed in here
@@ -90,7 +90,7 @@
         self.option_order = []
 
     # __init__ ()
-    
+
 
     def _build_index (self):
         self.option_index.clear()
@@ -117,7 +117,7 @@
         return self.option_index.has_key(long_option)
 
     def get_attr_name (self, long_option):
-        """Translate long option name 'long_option' to the form it 
+        """Translate long option name 'long_option' to the form it
         has as an attribute of some object: ie., translate hyphens
         to underscores."""
         return string.translate(long_option, longopt_xlate)
@@ -134,7 +134,7 @@
                 raise DistutilsGetoptError, \
                       ("invalid %s '%s': "
                        "aliased option '%s' not defined") % (what, alias, opt)
-        
+
     def set_aliases (self, alias):
         """Set the aliases for this option parser."""
         self._check_alias_dict(alias, "alias")
@@ -476,7 +476,7 @@
     changing "-" to "_".
     """
     return string.translate(opt, longopt_xlate)
-        
+
 
 class OptionDummy:
     """Dummy class just used as a place to hold command-line option
@@ -489,7 +489,7 @@
             setattr(self, opt, None)
 
 # class OptionDummy
-    
+
 
 if __name__ == "__main__":
     text = """\
diff --git a/Lib/distutils/file_util.py b/Lib/distutils/file_util.py
index 991d835..526e4cf 100644
--- a/Lib/distutils/file_util.py
+++ b/Lib/distutils/file_util.py
@@ -35,20 +35,20 @@
         except os.error, (errno, errstr):
             raise DistutilsFileError, \
                   "could not open '%s': %s" % (src, errstr)
-        
+
         try:
             fdst = open(dst, 'wb')
         except os.error, (errno, errstr):
             raise DistutilsFileError, \
                   "could not create '%s': %s" % (dst, errstr)
-        
+
         while 1:
             try:
                 buf = fsrc.read(buffer_size)
             except os.error, (errno, errstr):
                 raise DistutilsFileError, \
                       "could not read from '%s': %s" % (src, errstr)
-            
+
             if not buf:
                 break
 
@@ -57,7 +57,7 @@
             except os.error, (errno, errstr):
                 raise DistutilsFileError, \
                       "could not write to '%s': %s" % (dst, errstr)
-            
+
     finally:
         if fdst:
             fdst.close()
@@ -134,7 +134,7 @@
             print "%s %s -> %s" % (action, src, dir)
         else:
             print "%s %s -> %s" % (action, src, dst)
-            
+
     if dry_run:
         return (dst, 1)
 
@@ -146,7 +146,7 @@
         except os.error, exc:
             raise DistutilsFileError, \
                   "could not copy '%s' to '%s': %s" % (src, dst, exc[-1])
-    
+
     # If linking (hard or symbolic), use the appropriate system call
     # (Unix only, of course, but that's the caller's responsibility)
     elif link == 'hard':
@@ -189,7 +189,7 @@
     """
     from os.path import exists, isfile, isdir, basename, dirname
     import errno
-    
+
     if verbose:
         print "moving %s -> %s" % (src, dst)
 
@@ -232,7 +232,7 @@
             except os.error:
                 pass
             raise DistutilsFileError, \
-                  ("couldn't move '%s' to '%s' by copy/delete: " + 
+                  ("couldn't move '%s' to '%s' by copy/delete: " +
                    "delete '%s' failed: %s") % \
                   (src, dst, src, msg)
 
diff --git a/Lib/distutils/filelist.py b/Lib/distutils/filelist.py
index 211b65f..f7222fd 100644
--- a/Lib/distutils/filelist.py
+++ b/Lib/distutils/filelist.py
@@ -7,7 +7,7 @@
 # created 2000/07/17, Rene Liebscher (as template.py)
 # most parts taken from commands/sdist.py
 # renamed 2000/07/29 (to filelist.py) and officially added to
-#  the Distutils source, Greg Ward 
+#  the Distutils source, Greg Ward
 
 __revision__ = "$Id$"
 
@@ -34,8 +34,8 @@
         filtering applied)
     """
 
-    def __init__(self, 
-                 warn=None, 
+    def __init__(self,
+                 warn=None,
                  debug_print=None):
         # use standard warning and debug functions if no other given
         self.warn = warn or self.__warn
@@ -53,10 +53,10 @@
 
 
     # -- Fallback warning/debug functions ------------------------------
-    
+
     def __warn (self, msg):
         sys.stderr.write("warning: %s\n" % msg)
-        
+
     def __debug_print (self, msg):
         """Print 'msg' to stdout if the global DEBUG (taken from the
         DISTUTILS_DEBUG environment variable) flag is true.
@@ -93,7 +93,7 @@
 
 
     # -- "File template" methods ---------------------------------------
-    
+
     def _parse_template_line (self, line):
         words = string.split(line)
         action = words[0]
@@ -129,9 +129,9 @@
         return (action, patterns, dir, dir_pattern)
 
     # _parse_template_line ()
-    
 
-    def process_template_line (self, line):    
+
+    def process_template_line (self, line):
 
         # Parse the line: split it up, make sure the right number of words
         # is there, and return the relevant words.  'action' is always
@@ -190,7 +190,7 @@
                     self.warn(("no previously-included files matching '%s' " +
                                "found under directory '%s'") %
                               (pattern, dir))
-                    
+
         elif action == 'graft':
             self.debug_print("graft " + dir_pattern)
             if not self.include_pattern(None, prefix=dir_pattern):
@@ -251,7 +251,7 @@
                 self.debug_print(" adding " + name)
                 self.files.append(name)
                 files_found = 1
-    
+
         return files_found
 
     # include_pattern ()
@@ -261,7 +261,7 @@
                          anchor=1, prefix=None, is_regex=0):
         """Remove strings (presumably filenames) from 'files' that match
         'pattern'.  Other parameters are the same as for
-        'include_pattern()', above.  
+        'include_pattern()', above.
         The list 'self.files' is modified in place.
         Return 1 if files are found.
         """
@@ -274,7 +274,7 @@
                 self.debug_print(" removing " + self.files[i])
                 del self.files[i]
                 files_found = 1
-    
+
         return files_found
 
     # exclude_pattern ()
@@ -354,14 +354,14 @@
         pattern_re = glob_to_re(pattern)
     else:
         pattern_re = ''
-        
+
     if prefix is not None:
         prefix_re = (glob_to_re(prefix))[0:-1] # ditch trailing $
         pattern_re = "^" + os.path.join(prefix_re, ".*" + pattern_re)
     else:                               # no prefix -- respect anchor flag
         if anchor:
             pattern_re = "^" + pattern_re
-        
+
     return re.compile(pattern_re)
 
 # translate_pattern ()
diff --git a/Lib/distutils/msvccompiler.py b/Lib/distutils/msvccompiler.py
index 0325b48..8a67dfc 100644
--- a/Lib/distutils/msvccompiler.py
+++ b/Lib/distutils/msvccompiler.py
@@ -50,8 +50,8 @@
     HKEY_LOCAL_MACHINE = hkey_mod.HKEY_LOCAL_MACHINE
     HKEY_CURRENT_USER = hkey_mod.HKEY_CURRENT_USER
     HKEY_USERS = hkey_mod.HKEY_USERS
-    
-    
+
+
 
 def get_devstudio_versions ():
     """Get list of devstudio versions from the Windows registry.  Return a
@@ -93,7 +93,7 @@
     """Get a list of devstudio directories (include, lib or path).  Return
        a list of strings; will be empty list if unable to access the
        registry or appropriate registry keys not found."""
-       
+
     if not _can_read_reg:
         return []
 
@@ -149,7 +149,7 @@
         if os.path.isfile(fn):
             return fn
 
-    return exe                          # last desperate hope 
+    return exe                          # last desperate hope
 
 
 def set_path_env_var (name, version_number):
@@ -294,7 +294,7 @@
             compile_opts.extend (self.compile_options_debug)
         else:
             compile_opts.extend (self.compile_options)
-        
+
         for i in range (len (sources)):
             src = sources[i] ; obj = objects[i]
             ext = (os.path.splitext (src))[1]
@@ -390,12 +390,12 @@
                 self.spawn ([self.lib] + lib_args)
             except DistutilsExecError, msg:
                 raise LibError, msg
-                
+
         else:
             self.announce ("skipping %s (up-to-date)" % output_filename)
 
     # create_static_lib ()
-    
+
     def link (self,
               target_desc,
               objects,
@@ -417,7 +417,7 @@
         if runtime_library_dirs:
             self.warn ("I don't know what to do with 'runtime_library_dirs': "
                        + str (runtime_library_dirs))
-        
+
         lib_opts = gen_lib_options (self,
                                     library_dirs, runtime_library_dirs,
                                     libraries)
@@ -441,7 +441,7 @@
             for sym in (export_symbols or []):
                 export_opts.append("/EXPORT:" + sym)
 
-            ld_args = (ldflags + lib_opts + export_opts + 
+            ld_args = (ldflags + lib_opts + export_opts +
                        objects + ['/OUT:' + output_filename])
 
             # The MSVC linker generates .lib and .exp files, which cannot be
diff --git a/Lib/distutils/mwerkscompiler.py b/Lib/distutils/mwerkscompiler.py
index e759456..7c77b8b 100644
--- a/Lib/distutils/mwerkscompiler.py
+++ b/Lib/distutils/mwerkscompiler.py
@@ -52,8 +52,8 @@
                   force=0):
 
         CCompiler.__init__ (self, verbose, dry_run, force)
-        
-        
+
+
     def compile (self,
                  sources,
                  output_dir=None,
@@ -62,14 +62,14 @@
                  debug=0,
                  extra_preargs=None,
                  extra_postargs=None):
-         (output_dir, macros, include_dirs) = \
-            self._fix_compile_args (output_dir, macros, include_dirs)
-         self.__sources = sources
-         self.__macros = macros
-         self.__include_dirs = include_dirs
-         # Don't need extra_preargs and extra_postargs for CW
-         return []
-         
+        (output_dir, macros, include_dirs) = \
+           self._fix_compile_args (output_dir, macros, include_dirs)
+        self.__sources = sources
+        self.__macros = macros
+        self.__include_dirs = include_dirs
+        # Don't need extra_preargs and extra_postargs for CW
+        return []
+
     def link (self,
               target_desc,
               objects,
@@ -198,7 +198,7 @@
         if self.verbose:
             print '\tBuild project'
         mkcwproject.buildproject(projectfilename)
-        
+
     def _filename_to_abs(self, filename):
         # Some filenames seem to be unix-like. Convert to Mac names.
 ##        if '/' in filename and ':' in filename:
@@ -207,13 +207,11 @@
 ##           filename = macurl2path(filename)
         filename = distutils.util.convert_path(filename)
         if not os.path.isabs(filename):
-           curdir = os.getcwd()
-           filename = os.path.join(curdir, filename)
+            curdir = os.getcwd()
+            filename = os.path.join(curdir, filename)
         # Finally remove .. components
         components = string.split(filename, ':')
         for i in range(1, len(components)):
-           if components[i] == '..':
-              components[i] = ''
+            if components[i] == '..':
+                components[i] = ''
         return string.join(components, ':')
-        
-        
diff --git a/Lib/distutils/spawn.py b/Lib/distutils/spawn.py
index 1eed7a8..07dc814 100644
--- a/Lib/distutils/spawn.py
+++ b/Lib/distutils/spawn.py
@@ -71,7 +71,7 @@
     cmd = _nt_quote_args(cmd)
     if search_path:
         # either we find one or it stays the same
-        executable = find_executable(executable) or executable 
+        executable = find_executable(executable) or executable
     if verbose:
         print string.join([executable] + cmd[1:], ' ')
     if not dry_run:
@@ -87,7 +87,7 @@
             raise DistutilsExecError, \
                   "command '%s' failed with exit status %d" % (cmd[0], rc)
 
-                
+
 def _spawn_posix (cmd,
                   search_path=1,
                   verbose=0,
@@ -110,11 +110,11 @@
             sys.stderr.write("unable to execute %s: %s\n" %
                              (cmd[0], e.strerror))
             os._exit(1)
-            
+
         sys.stderr.write("unable to execute %s for unknown reasons" % cmd[0])
         os._exit(1)
 
-    
+
     else:                               # in the parent
         # Loop until the child either exits or is terminated by a signal
         # (ie. keep waiting if it's merely stopped)
@@ -133,7 +133,7 @@
                     raise DistutilsExecError, \
                           "command '%s' failed with exit status %d" % \
                           (cmd[0], exit_status)
-        
+
             elif os.WIFSTOPPED(status):
                 continue
 
@@ -166,4 +166,4 @@
     else:
         return executable
 
-# find_executable()    
+# find_executable()
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
index 935372c..feaf318 100644
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
@@ -48,7 +48,7 @@
 
     If 'prefix' is supplied, use it instead of sys.prefix or
     sys.exec_prefix -- i.e., ignore 'plat_specific'.
-    """    
+    """
     if prefix is None:
         prefix = plat_specific and EXEC_PREFIX or PREFIX
     if os.name == "posix":
@@ -318,7 +318,7 @@
     # the scripts are in another directory.
     if python_build:
         g['LDSHARED'] = g['BLDSHARED']
-        
+
     elif sys.version < '2.1':
         # The following two branches are for 1.5.2 compatibility.
         if sys.platform == 'aix4':          # what about AIX 3.x ?
@@ -337,7 +337,7 @@
             python_lib = get_python_lib(standard_lib=1)
             linkerscript_name = os.path.basename(string.split(g['LDSHARED'])[0])
             linkerscript = os.path.join(python_lib, 'config', linkerscript_name)
-            
+
             # XXX this isn't the right place to do this: adding the Python
             # library to the link, if needed, should be in the "build_ext"
             # command.  (It's also needed for non-MS compilers on Windows, and
@@ -345,7 +345,7 @@
             # method.)
             g['LDSHARED'] = ("%s -L%s/lib -lpython%s" %
                              (linkerscript, PREFIX, sys.version[0:3]))
-            
+
     global _config_vars
     _config_vars = g
 
diff --git a/Lib/distutils/text_file.py b/Lib/distutils/text_file.py
index 37bffe6..7086b1a 100644
--- a/Lib/distutils/text_file.py
+++ b/Lib/distutils/text_file.py
@@ -86,7 +86,7 @@
 
         if filename is None and file is None:
             raise RuntimeError, \
-                  "you must supply either or both of 'filename' and 'file'" 
+                  "you must supply either or both of 'filename' and 'file'"
 
         # set values for all options -- either from client option hash
         # or fallback to default_options
@@ -113,7 +113,7 @@
         # actually read from the file; it's only populated by an
         # 'unreadline()' operation
         self.linebuf = []
-        
+
 
     def open (self, filename):
         """Open a new file named 'filename'.  This overrides both the
@@ -213,7 +213,7 @@
                     # EOF; I think that's OK.)
                     eol = (line[-1] == '\n') and '\n' or ''
                     line = line[0:pos] + eol
-                    
+
                     # If all that's left is whitespace, then skip line
                     # *now*, before we try to join it to 'buildup_line' --
                     # that way constructs like
@@ -226,7 +226,7 @@
 
                 else:                   # it's an escaped "#"
                     line = string.replace (line, "\\#", "#")
-                
+
 
             # did previous line end with a backslash? then accumulate
             if self.join_lines and buildup_line:
@@ -256,7 +256,7 @@
                     self.current_line = self.current_line[1] + 1
                 else:
                     self.current_line = self.current_line + 1
-                
+
 
             # strip whitespace however the client wants (leading and
             # trailing, or one or the other, or neither)
@@ -351,7 +351,7 @@
             print expected_result
             print "** received:"
             print result
-            
+
 
     filename = "test.txt"
     out_file = open (filename, "w")
@@ -382,4 +382,3 @@
     test_input (6, "join lines with collapsing", in_file, result6)
 
     os.remove (filename)
-    
diff --git a/Lib/distutils/unixccompiler.py b/Lib/distutils/unixccompiler.py
index a4f0ac4..a9b5de5 100644
--- a/Lib/distutils/unixccompiler.py
+++ b/Lib/distutils/unixccompiler.py
@@ -103,8 +103,8 @@
             pp_args.extend(extra_postargs)
 
         # We need to preprocess: either we're being forced to, or we're
-	# generating output to stdout, or there's a target output file and 
-	# the source file is newer than the target (or the target doesn't
+        # generating output to stdout, or there's a target output file and
+        # the source file is newer than the target (or the target doesn't
         # exist).
         if self.force or output_file is None or newer(source, output_file):
             if output_file:
@@ -139,7 +139,7 @@
             extra_postargs = []
 
         # Compile all source files that weren't eliminated by
-        # '_prep_compile()'.        
+        # '_prep_compile()'.
         for i in range(len(sources)):
             src = sources[i] ; obj = objects[i]
             if skip_sources[src]:
@@ -157,7 +157,7 @@
         return objects
 
     # compile ()
-    
+
 
     def create_static_lib (self,
                            objects,
@@ -193,7 +193,7 @@
 
 
     def link (self,
-              target_desc,    
+              target_desc,
               objects,
               output_filename,
               output_dir=None,
@@ -219,7 +219,7 @@
             output_filename = os.path.join(output_dir, output_filename)
 
         if self._need_link(objects, output_filename):
-            ld_args = (objects + self.objects + 
+            ld_args = (objects + self.objects +
                        lib_opts + ['-o', output_filename])
             if debug:
                 ld_args[:0] = ['-g']
@@ -229,7 +229,7 @@
                 ld_args.extend(extra_postargs)
             self.mkpath(os.path.dirname(output_filename))
             try:
-                if target_desc == CCompiler.EXECUTABLE:    
+                if target_desc == CCompiler.EXECUTABLE:
                     self.spawn(self.linker_exe + ld_args)
                 else:
                     self.spawn(self.linker_so + ld_args)
@@ -244,7 +244,7 @@
     # -- Miscellaneous methods -----------------------------------------
     # These are all used by the 'gen_lib_options() function, in
     # ccompiler.py.
-    
+
     def library_dir_option (self, dir):
         return "-L" + dir
 
diff --git a/Lib/distutils/util.py b/Lib/distutils/util.py
index 25ddbdf..1541e02 100644
--- a/Lib/distutils/util.py
+++ b/Lib/distutils/util.py
@@ -30,7 +30,7 @@
        solaris-2.6-sun4u
        irix-5.3
        irix64-6.2
-       
+
     For non-POSIX platforms, currently just returns 'sys.platform'.
     """
     if os.name != "posix" or not hasattr(os, 'uname'):
@@ -44,9 +44,9 @@
 
     # Convert the OS name to lowercase and remove '/' characters
     # (to accommodate BSD/OS)
-    osname = string.lower(osname) 
+    osname = string.lower(osname)
     osname = string.replace(osname, '/', '')
-    
+
     if osname[:5] == "linux":
         # At least on Linux/Intel, 'machine' is the processor --
         # i386, etc.
@@ -59,7 +59,7 @@
         # fall through to standard osname-release-machine representation
     elif osname[:4] == "irix":              # could be "irix64"!
         return "%s-%s" % (osname, release)
-    elif osname[:3] == "aix":              
+    elif osname[:3] == "aix":
         return "%s-%s.%s" % (osname, version, release)
     elif osname[:6] == "cygwin":
         osname = "cygwin"
@@ -67,7 +67,7 @@
         m = rel_re.match(release)
         if m:
             release = m.group()
-            
+
     return "%s-%s-%s" % (osname, release, machine)
 
 # get_platform ()
@@ -280,7 +280,7 @@
     # Generate a message if we weren't passed one
     if msg is None:
         msg = "%s%s" % (func.__name__, `args`)
-        if msg[-2:] == ',)':        # correct for singleton tuple 
+        if msg[-2:] == ',)':        # correct for singleton tuple
             msg = msg[0:-2] + ')'
 
     # Print it if verbosity level is high enough
@@ -403,7 +403,7 @@
         spawn(cmd, verbose=verbose, dry_run=dry_run)
         execute(os.remove, (script_name,), "removing %s" % script_name,
                 verbose=verbose, dry_run=dry_run)
-        
+
     # "Direct" byte-compilation: use the py_compile module to compile
     # right here, right now.  Note that the script generated in indirect
     # mode simply calls 'byte_compile()' in direct mode, a weird sort of
@@ -453,5 +453,3 @@
     lines = map(string.strip, lines)
     header = string.join(lines, '\n' + 8*' ')
     return header
-
-
diff --git a/Lib/distutils/version.py b/Lib/distutils/version.py
index 9d3d172..02502da 100644
--- a/Lib/distutils/version.py
+++ b/Lib/distutils/version.py
@@ -98,7 +98,7 @@
     The rationale for this version numbering system will be explained
     in the distutils documentation.
     """
-    
+
     version_re = re.compile(r'^(\d+) \. (\d+) (\. (\d+))? ([ab](\d+))?$',
                             re.VERBOSE)
 
@@ -123,7 +123,7 @@
 
 
     def __str__ (self):
-        
+
         if self.version[2] == 0:
             vstring = string.join(map(str, self.version[0:2]), '.')
         else:
@@ -133,7 +133,7 @@
             vstring = vstring + self.prerelease[0] + str(self.prerelease[1])
 
         return vstring
-    
+
 
     def __cmp__ (self, other):
         if isinstance(other, StringType):
@@ -170,7 +170,7 @@
 # 2) sequences of letters are part of the tuple for comparison and are
 #    compared lexicographically
 # 3) recognize the numeric components may have leading zeroes
-# 
+#
 # The LooseVersion class below implements these rules: a version number
 # string is split up into a tuple of integer and string components, and
 # comparison is a simple tuple comparison.  This means that version
@@ -185,7 +185,7 @@
 #   - indicating a post-release patch ('p', 'pl', 'patch')
 # but of course this can't cover all version number schemes, and there's
 # no way to know what a programmer means without asking him.
-# 
+#
 # The problem is what to do with letters (and other non-numeric
 # characters) in a version number.  The current implementation does the
 # obvious and predictable thing: keep them as strings and compare
@@ -208,7 +208,7 @@
 # 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 accommodate them.
-# 
+#
 # Perhaps a "moderately strict" version class could be implemented that
 # lets almost anything slide (syntactically), and makes some heuristic
 # assumptions about non-digits in version number strings.  This could
@@ -217,7 +217,7 @@
 # somehow knows that "1.2.1" < "1.2.2a2" < "1.2.2" < "1.2.2pl3", and is
 # just as happy dealing with things like "2g6" and "1.13++".  I don't
 # think I'm smart enough to do it right though.
-# 
+#
 # In any case, I've coded the test suite for this module (see
 # ../test/test_version.py) specifically to fail on things like comparing
 # "1.2a2" and "1.2".  That's not because the *code* is doing anything
@@ -296,6 +296,6 @@
             other = LooseVersion(other)
 
         return cmp(self.version, other.version)
-        
+
 
 # end class LooseVersion