Whitespace normalization.
diff --git a/Lib/compiler/__init__.py b/Lib/compiler/__init__.py
index 1267b0c..13b05bf 100644
--- a/Lib/compiler/__init__.py
+++ b/Lib/compiler/__init__.py
@@ -15,7 +15,7 @@
     See compiler.visitor for details.
 
 compile(source, filename, mode, flags=None, dont_inherit=None)
-    Returns a code object.  A replacement for the builtin compile() function. 
+    Returns a code object.  A replacement for the builtin compile() function.
 
 compileFile(filename)
     Generates a .pyc file by compiling filename.
@@ -24,4 +24,3 @@
 from transformer import parse, parseFile
 from visitor import walk
 from pycodegen import compile, compileFile
-
diff --git a/Lib/compiler/ast.py b/Lib/compiler/ast.py
index 9a5d53c..23c463b 100644
--- a/Lib/compiler/ast.py
+++ b/Lib/compiler/ast.py
@@ -438,7 +438,7 @@
             self.varargs = 1
         if flags & CO_VARKEYWORDS:
             self.kwargs = 1
-    
+
 
 
     def getChildren(self):
diff --git a/Lib/compiler/future.py b/Lib/compiler/future.py
index 09ffe4a..868b7cb 100644
--- a/Lib/compiler/future.py
+++ b/Lib/compiler/future.py
@@ -16,7 +16,7 @@
 class FutureParser:
 
     features = ("nested_scopes", "generators", "division")
-    
+
     def __init__(self):
         self.found = {} # set
 
@@ -70,4 +70,3 @@
         walk(tree, v)
         print v.found
         print
-
diff --git a/Lib/compiler/misc.py b/Lib/compiler/misc.py
index b4bbe78..6d5eaa8 100644
--- a/Lib/compiler/misc.py
+++ b/Lib/compiler/misc.py
@@ -72,4 +72,3 @@
         node = worklist.pop(0)
         node.filename = filename
         worklist.extend(node.getChildNodes())
-        
diff --git a/Lib/compiler/pyassem.py b/Lib/compiler/pyassem.py
index cc2d108..26b9001 100644
--- a/Lib/compiler/pyassem.py
+++ b/Lib/compiler/pyassem.py
@@ -55,7 +55,7 @@
         # these edges to get the blocks emitted in the right order,
         # however. :-(  If a client needs to remove these edges, call
         # pruneEdges().
-        
+
         self.current.addNext(block)
         self.startBlock(block)
 
@@ -110,13 +110,13 @@
 
         # XXX This is a total mess.  There must be a better way to get
         # the code blocks in the right order.
-        
+
         self.fixupOrderHonorNext(blocks, default_next)
         self.fixupOrderForward(blocks, default_next)
 
     def fixupOrderHonorNext(self, blocks, default_next):
         """Fix one problem with DFS.
-        
+
         The DFS uses child block, but doesn't know about the special
         "next" block.  As a result, the DFS can order blocks so that a
         block isn't next to the right block for implicit control
@@ -200,14 +200,14 @@
         for c in chains:
             for b in c:
                 blocks.append(b)
-            
+
     def getBlocks(self):
         return self.blocks.elements()
 
     def getRoot(self):
         """Return nodes appropriate for use with dominator"""
         return self.entry
-    
+
     def getContainedGraphs(self):
         l = []
         for b in self.getBlocks():
@@ -246,7 +246,7 @@
     def __str__(self):
         insts = map(str, self.insts)
         return "<block %s %d:\n%s>" % (self.label, self.bid,
-                                       string.join(insts, '\n')) 
+                                       string.join(insts, '\n'))
 
     def emit(self, inst):
         op = inst[0]
@@ -331,7 +331,7 @@
         self.argcount = getArgCount(args)
         self.klass = klass
         if optimized:
-            self.flags = CO_OPTIMIZED | CO_NEWLOCALS 
+            self.flags = CO_OPTIMIZED | CO_NEWLOCALS
         else:
             self.flags = 0
         self.consts = []
@@ -567,7 +567,7 @@
     for name, obj in locals().items():
         if name[:9] == "_convert_":
             opname = name[9:]
-            _converters[opname] = obj            
+            _converters[opname] = obj
     del name, obj, opname
 
     def makeByteCode(self):
@@ -623,7 +623,7 @@
                 elt = elt.getCode()
             l.append(elt)
         return tuple(l)
-            
+
 def isJump(opname):
     if opname[:4] == 'JUMP':
         return 1
@@ -654,7 +654,7 @@
 
 class LineAddrTable:
     """lnotab
-    
+
     This class builds the lnotab, which is documented in compile.c.
     Here's a brief recap:
 
@@ -717,7 +717,7 @@
 
     def getTable(self):
         return string.join(map(chr, self.lnotab), '')
-    
+
 class StackDepthTracker:
     # XXX 1. need to keep track of stack depth on jumps
     # XXX 2. at least partly as a result, this code is broken
@@ -792,7 +792,7 @@
         ('BINARY_', -1),
         ('LOAD_', 1),
         ]
-    
+
     def UNPACK_SEQUENCE(self, count):
         return count-1
     def BUILD_TUPLE(self, count):
@@ -820,5 +820,5 @@
             return -2
     def DUP_TOPX(self, argc):
         return argc
-    
+
 findDepth = StackDepthTracker().findDepth
diff --git a/Lib/compiler/pycodegen.py b/Lib/compiler/pycodegen.py
index 3cdf108..88767a4 100644
--- a/Lib/compiler/pycodegen.py
+++ b/Lib/compiler/pycodegen.py
@@ -36,7 +36,7 @@
 
 class BlockStack(misc.Stack):
     __super_init = misc.Stack.__init__
-    
+
     def __init__(self):
         self.__super_init(self)
         self.loop = None
@@ -59,7 +59,7 @@
     """Replacement for builtin compile() function"""
     if flags is not None or dont_inherit is not None:
         raise RuntimeError, "not implemented yet"
-    
+
     if mode == "single":
         gen = Interactive(source, filename)
     elif mode == "exec":
@@ -198,7 +198,7 @@
     NameFinder, FunctionGen, and ClassGen.  These attributes can be
     defined in the initClass() method, which is a hook for
     initializing these methods after all the classes have been
-    defined. 
+    defined.
     """
 
     optimized = 0 # is namespace access optimized?
@@ -312,7 +312,7 @@
             self.emit(prefix + '_NAME', name)
 
     def set_lineno(self, node, force=0):
-        """Emit SET_LINENO if node has lineno attribute and it is 
+        """Emit SET_LINENO if node has lineno attribute and it is
         different than the last lineno emitted.
 
         Returns true if SET_LINENO was emitted.
@@ -513,7 +513,7 @@
             self.emit('CONTINUE_LOOP', loop_block)
             self.nextBlock()
         elif kind == END_FINALLY:
-            msg = "'continue' not allowed inside 'finally' clause (%s, %d)"  
+            msg = "'continue' not allowed inside 'finally' clause (%s, %d)"
             raise SyntaxError, msg % (node.filename, node.lineno)
 
     def visitTest(self, node, jump):
@@ -558,7 +558,7 @@
 
     # list comprehensions
     __list_count = 0
-    
+
     def visitListComp(self, node):
         self.set_lineno(node)
         # setup list
@@ -568,7 +568,7 @@
         self.emit('DUP_TOP')
         self.emit('LOAD_ATTR', 'append')
         self._implicitNameOp('STORE', append)
-        
+
         stack = []
         for i, for_ in zip(range(len(node.quals)), node.quals):
             start, anchor = self.visit(for_)
@@ -583,7 +583,7 @@
         self.visit(node.expr)
         self.emit('CALL_FUNCTION', 1)
         self.emit('POP_TOP')
-        
+
         for start, cont, anchor in stack:
             if cont:
                 skip_one = self.newBlock()
@@ -594,7 +594,7 @@
             self.emit('JUMP_ABSOLUTE', start)
             self.startBlock(anchor)
         self._implicitNameOp('DELETE', append)
-        
+
         self.__list_count = self.__list_count - 1
 
     def visitListCompFor(self, node):
@@ -675,7 +675,7 @@
         self.setups.pop()
         self.emit('JUMP_FORWARD', lElse)
         self.startBlock(handlers)
-        
+
         last = len(node.handlers) - 1
         for i in range(len(node.handlers)):
             expr, target, body = node.handlers[i]
@@ -707,7 +707,7 @@
             self.nextBlock(lElse)
             self.visit(node.else_)
         self.nextBlock(end)
-    
+
     def visitTryFinally(self, node):
         body = self.newBlock()
         final = self.newBlock()
@@ -746,7 +746,7 @@
     def visitName(self, node):
         self.set_lineno(node)
         self.loadName(node.name)
-        
+
     def visitPass(self, node):
         self.set_lineno(node)
 
@@ -1139,7 +1139,7 @@
     __super_init = CodeGenerator.__init__
 
     scopes = None
-    
+
     def __init__(self, tree):
         self.graph = pyassem.PyFlowGraph("<module>", tree.filename)
         self.futures = future.find_futures(tree)
@@ -1154,7 +1154,7 @@
 
     scopes = None
     futures = ()
-    
+
     def __init__(self, tree):
         self.graph = pyassem.PyFlowGraph("<expression>", tree.filename)
         self.__super_init()
@@ -1171,7 +1171,7 @@
 
     scopes = None
     futures = ()
-    
+
     def __init__(self, tree):
         self.graph = pyassem.PyFlowGraph("<interactive>", tree.filename)
         self.__super_init()
@@ -1201,8 +1201,8 @@
         else:
             name = func.name
         args, hasTupleArg = generateArgList(func.argnames)
-        self.graph = pyassem.PyFlowGraph(name, func.filename, args, 
-                                         optimized=1) 
+        self.graph = pyassem.PyFlowGraph(name, func.filename, args,
+                                         optimized=1)
         self.isLambda = isLambda
         self.super_init()
 
@@ -1234,7 +1234,7 @@
             if type(arg) == types.TupleType:
                 self.emit('LOAD_FAST', '.%d' % (i * 2))
                 self.unpackSequence(arg)
-                        
+
     def unpackSequence(self, tup):
         if VERSION > 1:
             self.emit('UNPACK_SEQUENCE', len(tup))
@@ -1249,7 +1249,7 @@
     unpackTuple = unpackSequence
 
 class FunctionCodeGenerator(NestedScopeMixin, AbstractFunctionCode,
-                            CodeGenerator): 
+                            CodeGenerator):
     super_init = CodeGenerator.__init__ # call be other init
     scopes = None
 
diff --git a/Lib/compiler/symbols.py b/Lib/compiler/symbols.py
index bf9a724..200341f 100644
--- a/Lib/compiler/symbols.py
+++ b/Lib/compiler/symbols.py
@@ -131,7 +131,7 @@
         rather than free.
 
         Be careful to stop if a child does not think the name is
-        free. 
+        free.
         """
         self.globals[name] = 1
         if self.frees.has_key(name):
@@ -172,7 +172,7 @@
 
 class ModuleScope(Scope):
     __super_init = Scope.__init__
-    
+
     def __init__(self):
         self.__super_init("global", self)
 
@@ -183,7 +183,7 @@
     __super_init = Scope.__init__
 
     __counter = 1
-    
+
     def __init__(self, module, klass=None):
         i = self.__counter
         self.__counter += 1
@@ -199,7 +199,7 @@
     def __init__(self):
         self.scopes = {}
         self.klass = None
-        
+
     # node that define new scopes
 
     def visitModule(self, node):
@@ -217,7 +217,7 @@
         self._do_args(scope, node.argnames)
         self.visit(node.code, scope)
         self.handle_free_vars(scope, parent)
-        
+
     def visitLambda(self, node, parent):
         for n in node.defaults:
             self.visit(n, parent)
@@ -326,7 +326,7 @@
             self.visit(node.lower, scope, 0)
         if node.upper:
             self.visit(node.upper, scope, 0)
-            
+
     def visitAugAssign(self, node, scope):
         # If the LHS is a name, then this counts as assignment.
         # Otherwise, it's just use.
@@ -371,8 +371,8 @@
 
     def get_names(syms):
         return [s for s in [s.get_name() for s in syms.get_symbols()]
-                if not (s.startswith('_[') or s.startswith('.'))]        
-    
+                if not (s.startswith('_[') or s.startswith('.'))]
+
     for file in sys.argv[1:]:
         print file
         f = open(file)
diff --git a/Lib/compiler/transformer.py b/Lib/compiler/transformer.py
index 88b3dac..9875561 100644
--- a/Lib/compiler/transformer.py
+++ b/Lib/compiler/transformer.py
@@ -692,14 +692,14 @@
         n = Backquote(self.com_node(nodelist[1]))
         n.lineno = nodelist[0][2]
         return n
-    
+
     def atom_number(self, nodelist):
         ### need to verify this matches compile.c
         k = eval(nodelist[0][1])
         n = Const(k)
         n.lineno = nodelist[0][2]
         return n
-        
+
     def atom_string(self, nodelist):
         ### need to verify this matches compile.c
         k = ''
@@ -743,7 +743,7 @@
         # here, Render it harmless. (genc discards ('discard',
         # ('const', xxxx)) Nodes)
         return Discard(Const(None))
-    
+
     def com_arglist(self, nodelist):
         # varargslist:
         #   (fpdef ['=' test] ',')* ('*' NAME [',' ('**'|'*' '*') NAME]
@@ -805,7 +805,7 @@
         return node[1][1]
 
     def com_fplist(self, node):
-        # fplist: fpdef (',' fpdef)* [','] 
+        # fplist: fpdef (',' fpdef)* [',']
         if len(node) == 2:
             return self.com_fpdef(node[1])
         list = []
@@ -854,7 +854,7 @@
     def com_try_finally(self, nodelist):
         # try_fin_stmt: "try" ":" suite "finally" ":" suite
         n = TryFinally(self.com_node(nodelist[2]),
-                       self.com_node(nodelist[5])) 
+                       self.com_node(nodelist[5]))
         n.lineno = nodelist[0][2]
         return n
 
@@ -922,7 +922,7 @@
                             raise SyntaxError, "can't assign to operator"
                         primary = self.com_apply_trailer(primary, ch)
                     return self.com_assign_trailer(primary, node[-1],
-                                                   assigning) 
+                                                   assigning)
                 node = node[1]
             elif t == symbol.atom:
                 t = node[1][0]
@@ -1023,7 +1023,7 @@
             # list_if: 'if' test [list_iter]
 
             # XXX should raise SyntaxError for assignment
-            
+
             lineno = node[1][2]
             fors = []
             while node:
@@ -1100,7 +1100,7 @@
         for i in range(1, len_nodelist, 2):
             node = nodelist[i]
             if node[0] == token.STAR or node[0] == token.DOUBLESTAR:
-                    break
+                break
             kw, result = self.com_argument(node, kw)
             args.append(result)
         else:
@@ -1145,7 +1145,7 @@
     def com_subscriptlist(self, primary, nodelist, assigning):
         # slicing:      simple_slicing | extended_slicing
         # simple_slicing:   primary "[" short_slice "]"
-        # extended_slicing: primary "[" slice_list "]" 
+        # extended_slicing: primary "[" slice_list "]"
         # slice_list:   slice_item ("," slice_item)* [","]
 
         # backwards compat slice for '[i:j]'
diff --git a/Lib/compiler/visitor.py b/Lib/compiler/visitor.py
index 0560619..d7ae864 100644
--- a/Lib/compiler/visitor.py
+++ b/Lib/compiler/visitor.py
@@ -78,7 +78,7 @@
     you still have to do.
     """
     examples = {}
-    
+
     def dispatch(self, node, *args):
         self.node = node
         meth = self._cache.get(node.__class__, None)