Make reindent.py happy (lots of trailing whitespace removed).
diff --git a/Lib/xml/__init__.py b/Lib/xml/__init__.py
index 4302f8d..a38db2d 100644
--- a/Lib/xml/__init__.py
+++ b/Lib/xml/__init__.py
@@ -8,7 +8,7 @@
 parsers -- Python wrappers for XML parsers (currently only supports Expat).
 
 sax -- The Simple API for XML, developed by XML-Dev, led by David
-       Megginson and ported to Python by Lars Marius Garshol.  This 
+       Megginson and ported to Python by Lars Marius Garshol.  This
        supports the SAX 2 API.
 """
 
diff --git a/Lib/xml/dom/minidom.py b/Lib/xml/dom/minidom.py
index 00bd4ca..6a72684 100644
--- a/Lib/xml/dom/minidom.py
+++ b/Lib/xml/dom/minidom.py
@@ -40,7 +40,7 @@
 
     def __init__(self):
         self.childNodes = []
-        if Node._debug: 
+        if Node._debug:
             index = repr(id(self)) + repr(self.__class__)
             Node.allnodes[index] = repr(self.__dict__)
             if Node.debug is None:
@@ -52,16 +52,16 @@
         if key[0:2] == "__":
             raise AttributeError
         # getattr should never call getattr!
-        if self.__dict__.has_key("inGetAttr"): 
+        if self.__dict__.has_key("inGetAttr"):
             del self.inGetAttr
             raise AttributeError, key
 
         prefix, attrname = key[:5], key[5:]
         if prefix == "_get_":
             self.inGetAttr = 1
-            if hasattr(self, attrname): 
+            if hasattr(self, attrname):
                 del self.inGetAttr
-                return (lambda self=self, attrname=attrname: 
+                return (lambda self=self, attrname=attrname:
                                 getattr(self, attrname))
             else:
                 del self.inGetAttr
@@ -213,7 +213,7 @@
     def itemsNS(self):
         return map(lambda node: ((node.URI, node.localName), node.value),
                    self._attrs.values())
-    
+
     def keys(self):
         return self._attrs.keys()
 
@@ -229,7 +229,7 @@
     def __cmp__(self, other):
         if self._attrs is getattr(other, "_attrs", None):
             return 0
-        else: 
+        else:
             return cmp(id(self), id(other))
 
     #FIXME: is it appropriate to return .value?
@@ -324,7 +324,7 @@
         node.unlink()
         del self._attrs[node.name]
         del self._attrsNS[(node.namespaceURI, node.localName)]
-        
+
     def getElementsByTagName(self, name):
         return _getElementsByTagNameHelper(self, name, [])
 
@@ -337,7 +337,7 @@
     # undocumented
     def writexml(self, writer):
         writer.write("<" + self.tagName)
-            
+
         a_names = self._get_attributes().keys()
         a_names.sort()
 
@@ -473,4 +473,3 @@
 def parseString(*args, **kwargs):
     "Parse a file into a DOM from a string"
     return _doparse(pulldom.parseString, args, kwargs)
-
diff --git a/Lib/xml/dom/pulldom.py b/Lib/xml/dom/pulldom.py
index 7374069..063f7e8 100644
--- a/Lib/xml/dom/pulldom.py
+++ b/Lib/xml/dom/pulldom.py
@@ -49,7 +49,7 @@
                 attr = self.document.createAttribute(a_localname)
             attr.value = value
             node.setAttributeNode(attr)
-        
+
         parent = self.curNode
         node.parentNode = parent
         self.curNode = node
@@ -72,7 +72,7 @@
             attr = self.document.createAttribute(aname)
             attr.value = value
             node.setAttributeNode(attr)
-        
+
         parent = self.curNode
         node.parentNode = parent
         self.curNode = node
@@ -87,7 +87,7 @@
         self.lastEvent = self.lastEvent[1]
         #self.events.append((END_ELEMENT, node))
         self.curNode = node.parentNode
-        
+
     def comment(self, s):
         node = self.document.createComment(s)
         parent = self.curNode
@@ -98,7 +98,7 @@
 
     def processingInstruction(self, target, data):
         node = self.document.createProcessingInstruction(target, data)
-        
+
         parent = self.curNode
         node.parentNode = parent
         self.lastEvent[1] = [(PROCESSING_INSTRUCTION, node), None]
@@ -142,9 +142,9 @@
     def warning(self, exception):
         print exception
     def error(self, exception):
-        raise exception 
+        raise exception
     def fatalError(self, exception):
-        raise exception 
+        raise exception
 
 class DOMEventStream:
     def __init__(self, stream, parser, bufsize):
@@ -202,18 +202,18 @@
     def processingInstruction(self, target, data):
         PullDOM.processingInstruction(self, target, data)
         node = self.lastEvent[0][1]
-        node.parentNode.appendChild(node)        
+        node.parentNode.appendChild(node)
 
     def ignorableWhitespace(self, chars):
         PullDOM.ignorableWhitespace(self, chars)
         node = self.lastEvent[0][1]
-        node.parentNode.appendChild(node)        
+        node.parentNode.appendChild(node)
 
     def characters(self, chars):
         PullDOM.characters(self, chars)
         node = self.lastEvent[0][1]
-        node.parentNode.appendChild(node)        
-    
+        node.parentNode.appendChild(node)
+
 default_bufsize = (2 ** 14) - 20
 
 def parse(stream_or_string, parser=None, bufsize=default_bufsize):
@@ -221,7 +221,7 @@
         stream = open(stream_or_string)
     else:
         stream = stream_or_string
-    if not parser: 
+    if not parser:
         parser = xml.sax.make_parser()
     return DOMEventStream(stream, parser, bufsize)
 
@@ -230,7 +230,7 @@
         from cStringIO import StringIO
     except ImportError:
         from StringIO import StringIO
-        
+
     bufsize = len(string)
     buf = StringIO(string)
     if not parser:
diff --git a/Lib/xml/sax/__init__.py b/Lib/xml/sax/__init__.py
index 447420e..0375e5d 100644
--- a/Lib/xml/sax/__init__.py
+++ b/Lib/xml/sax/__init__.py
@@ -37,7 +37,7 @@
         from cStringIO import StringIO
     except ImportError:
         from StringIO import StringIO
-        
+
     if errorHandler is None:
         errorHandler = ErrorHandler()
     parser = make_parser()
@@ -61,8 +61,8 @@
 _key = "python.xml.sax.parser"
 if sys.platform[:4] == "java" and sys.registry.containsKey(_key):
     default_parser_list = string.split(sys.registry.getProperty(_key), ",")
-    
-    
+
+
 def make_parser(parser_list = []):
     """Creates and returns a SAX parser.
 
@@ -85,8 +85,8 @@
             # so try the next one
             pass
 
-    raise SAXReaderNotAvailable("No parsers found", None)  
-    
+    raise SAXReaderNotAvailable("No parsers found", None)
+
 # --- Internal utility methods used by make_parser
 
 if sys.platform[ : 4] == "java":
diff --git a/Lib/xml/sax/_exceptions.py b/Lib/xml/sax/_exceptions.py
index 88ec8ca..1ea582f 100644
--- a/Lib/xml/sax/_exceptions.py
+++ b/Lib/xml/sax/_exceptions.py
@@ -42,7 +42,7 @@
 
 # ===== SAXPARSEEXCEPTION =====
 
-class SAXParseException(SAXException):    
+class SAXParseException(SAXException):
     """Encapsulate an XML parse error or warning.
 
     This exception will include information for locating the error in
@@ -62,7 +62,7 @@
 
     def getColumnNumber(self):
         """The column number of the end of the text where the exception
-	occurred."""
+        occurred."""
         return self._locator.getColumnNumber()
 
     def getLineNumber(self):
diff --git a/Lib/xml/sax/expatreader.py b/Lib/xml/sax/expatreader.py
index fed5e2d..d84931e 100644
--- a/Lib/xml/sax/expatreader.py
+++ b/Lib/xml/sax/expatreader.py
@@ -9,7 +9,7 @@
 try:
     from xml.parsers import expat
 except ImportError:
-    raise SAXReaderNotAvailable("expat not supported",None) 
+    raise SAXReaderNotAvailable("expat not supported",None)
 from xml.sax import xmlreader, saxutils, handler
 
 AttributesImpl = xmlreader.AttributesImpl
@@ -39,12 +39,12 @@
         self._source = source
         self.reset()
         self._cont_handler.setDocumentLocator(self)
-        xmlreader.IncrementalParser.parse(self, source)            
+        xmlreader.IncrementalParser.parse(self, source)
 
     def prepareParser(self, source):
         if source.getSystemId() != None:
             self._parser.SetBase(source.getSystemId())
-        
+
     def getFeature(self, name):
         if name == handler.feature_namespaces:
             return self._namespaces
@@ -91,7 +91,7 @@
         self.feed("", isFinal = 1)
         self._cont_handler.endDocument()
         self._parsing = 0
-        
+
     def reset(self):
         if self._namespaces:
             self._parser = expat.ParserCreate(None, " ")
@@ -109,17 +109,17 @@
         self._parser.NotationDeclHandler = self.notation_decl
         self._parser.StartNamespaceDeclHandler = self.start_namespace_decl
         self._parser.EndNamespaceDeclHandler = self.end_namespace_decl
-#         self._parser.CommentHandler = 
-#         self._parser.StartCdataSectionHandler = 
-#         self._parser.EndCdataSectionHandler = 
-#         self._parser.DefaultHandler = 
-#         self._parser.DefaultHandlerExpand = 
-#         self._parser.NotStandaloneHandler = 
+#         self._parser.CommentHandler =
+#         self._parser.StartCdataSectionHandler =
+#         self._parser.EndCdataSectionHandler =
+#         self._parser.DefaultHandler =
+#         self._parser.DefaultHandlerExpand =
+#         self._parser.NotStandaloneHandler =
         self._parser.ExternalEntityRefHandler = self.external_entity_ref
 
         self._parsing = 0
         self._entity_stack = []
-        
+
     # Locator methods
 
     def getColumnNumber(self):
@@ -133,7 +133,7 @@
 
     def getSystemId(self):
         return self._source.getSystemId()
-    
+
     # event handlers
     def start_element(self, name, attrs):
         self._cont_handler.startElement(name, AttributesImpl(attrs))
@@ -158,14 +158,14 @@
 
             newattrs[apair] = value
 
-        self._cont_handler.startElementNS(pair, None, 
+        self._cont_handler.startElementNS(pair, None,
                                           AttributesNSImpl(newattrs, {}))
 
     def end_element_ns(self, name):
         pair = string.split(name)
         if len(pair) == 1:
             pair = (None, name)
-            
+
         self._cont_handler.endElementNS(pair, None)
 
     # this is not used (call directly to ContentHandler)
@@ -181,7 +181,7 @@
 
     def end_namespace_decl(self, prefix):
         self._cont_handler.endPrefixMapping(prefix)
-        
+
     def unparsed_entity_decl(self, name, base, sysid, pubid, notation_name):
         self._dtd_handler.unparsedEntityDecl(name, pubid, sysid, notation_name)
 
@@ -193,7 +193,7 @@
         source = saxutils.prepare_input_source(source,
                                                self._source.getSystemId() or
                                                "")
-        
+
         self._entity_stack.append((self._parser, self._source))
         self._parser = self._parser.ExternalEntityParserCreate(context)
         self._source = source
@@ -206,12 +206,12 @@
         (self._parser, self._source) = self._entity_stack[-1]
         del self._entity_stack[-1]
         return 1
-        
+
 # ---
-        
+
 def create_parser(*args, **kwargs):
     return apply(ExpatParser, args, kwargs)
-        
+
 # ---
 
 if __name__ == "__main__":
diff --git a/Lib/xml/sax/handler.py b/Lib/xml/sax/handler.py
index cf266e9..aa08d99 100644
--- a/Lib/xml/sax/handler.py
+++ b/Lib/xml/sax/handler.py
@@ -38,10 +38,10 @@
         raise exception
 
     def warning(self, exception):
-        "Handle a warning."   
+        "Handle a warning."
         print exception
 
-        
+
 # ===== CONTENTHANDLER =====
 
 class ContentHandler:
@@ -53,7 +53,7 @@
 
     def __init__(self):
         self._locator = None
-    
+
     def setDocumentLocator(self, locator):
         """Called by the parser to give the application a locator for
         locating the origin of document events.
@@ -71,22 +71,22 @@
         character content that does not match an application's
         business rules). The information returned by the locator is
         probably not sufficient for use with a search engine.
-        
+
         Note that the locator will return correct information only
         during the invocation of the events in this interface. The
         application should not attempt to use it at any other time."""
-        self._locator = locator        
+        self._locator = locator
 
     def startDocument(self):
         """Receive notification of the beginning of a document.
-        
+
         The SAX parser will invoke this method only once, before any
         other methods in this interface or in DTDHandler (except for
         setDocumentLocator)."""
 
     def endDocument(self):
         """Receive notification of the end of a document.
-        
+
         The SAX parser will invoke this method only once, and it will
         be the last method invoked during the parse. The parser shall
         not invoke this method until it has either abandoned parsing
@@ -95,13 +95,13 @@
 
     def startPrefixMapping(self, prefix, uri):
         """Begin the scope of a prefix-URI Namespace mapping.
-        
+
         The information from this event is not necessary for normal
         Namespace processing: the SAX XML reader will automatically
         replace prefixes for element and attribute names when the
         http://xml.org/sax/features/namespaces feature is true (the
         default).
-        
+
         There are cases, however, when applications need to use
         prefixes in character data or in attribute values, where they
         cannot safely be expanded automatically; the
@@ -118,7 +118,7 @@
 
     def endPrefixMapping(self, prefix):
         """End the scope of a prefix-URI mapping.
-        
+
         See startPrefixMapping for details. This event will always
         occur after the corresponding endElement event, but the order
         of endPrefixMapping events is not otherwise guaranteed."""
@@ -151,10 +151,10 @@
 
         The name parameter contains the name of the element type, just
         as with the startElementNS event."""
-        
+
     def characters(self, content):
         """Receive notification of character data.
-        
+
         The Parser will call this method to report each chunk of
         character data. SAX parsers may return all contiguous
         character data in a single chunk, or they may split it into
@@ -164,24 +164,24 @@
 
     def ignorableWhitespace(self, whitespace):
         """Receive notification of ignorable whitespace in element content.
-        
+
         Validating Parsers must use this method to report each chunk
         of ignorable whitespace (see the W3C XML 1.0 recommendation,
         section 2.10): non-validating parsers may also use this method
         if they are capable of parsing and using content models.
-        
+
         SAX parsers may return all contiguous whitespace in a single
         chunk, or they may split it into several chunks; however, all
         of the characters in any single event must come from the same
         external entity, so that the Locator provides useful
         information.
-        
+
         The application must not attempt to read from the array
         outside of the specified range."""
 
     def processingInstruction(self, target, data):
         """Receive notification of a processing instruction.
-        
+
         The Parser will invoke this method once for each processing
         instruction found: note that processing instructions may occur
         before or after the main document element.
@@ -192,7 +192,7 @@
 
     def skippedEntity(self, name):
         """Receive notification of a skipped entity.
-        
+
         The Parser will invoke this method once for each entity
         skipped. Non-validating processors may skip entities if they
         have not seen the declarations (because, for example, the
@@ -202,7 +202,7 @@
         http://xml.org/sax/features/external-parameter-entities
         properties."""
 
-        
+
 # ===== DTDHandler =====
 
 class DTDHandler:
@@ -217,16 +217,16 @@
     def unparsedEntityDecl(self, name, publicId, systemId, ndata):
         "Handle an unparsed entity declaration event."
 
-        
+
 # ===== ENTITYRESOLVER =====
-        
+
 class EntityResolver:
     """Basic interface for resolving entities. If you create an object
     implementing this interface, then register the object with your
     Parser, the parser will call the method in your object to
     resolve all external entities. Note that DefaultHandler implements
     this interface with the default behaviour."""
-    
+
     def resolveEntity(self, publicId, systemId):
         """Resolve the system identifier of an entity and return either
         the system identifier to read from as a string, or an InputSource
diff --git a/Lib/xml/sax/saxutils.py b/Lib/xml/sax/saxutils.py
index 1fb3743..5d784bd 100644
--- a/Lib/xml/sax/saxutils.py
+++ b/Lib/xml/sax/saxutils.py
@@ -12,7 +12,7 @@
 def escape(data, entities={}):
     """Escape &, <, and > in a string of data.
 
-    You can escape other strings of data by passing a dictionary as 
+    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.
     """
@@ -20,7 +20,7 @@
     data = data.replace("<", "&lt;")
     data = data.replace(">", "&gt;")
     for chars, entity in entities.items():
-        data = data.replace(chars, entity)        
+        data = data.replace(chars, entity)
     return data
 
 
@@ -57,7 +57,7 @@
         for (name, value) in attrs.items():
             self._out.write(' %s="%s"' % (name, escape(value)))
         self._out.write('>')
-        
+
     def endElement(self, name):
         self._out.write('</%s>' % name)
 
@@ -73,7 +73,7 @@
         for pair in self._undeclared_ns_maps:
             self._out.write(' xmlns:%s="%s"' % pair)
         self._undeclared_ns_maps = []
-        
+
         for (name, value) in attrs.items():
             name = self._current_context[name[0]] + ":" + name[1]
             self._out.write(' %s="%s"' % (name, escape(value)))
@@ -85,7 +85,7 @@
         else:
             name = self._current_context[name[0]] + ":" + name[1]
         self._out.write('</%s>' % name)
-        
+
     def characters(self, content):
         self._out.write(escape(content))
 
@@ -107,7 +107,7 @@
     def __init__(self, parent = None):
         xmlreader.XMLReader.__init__(self)
         self._parent = parent
-    
+
     # ErrorHandler methods
 
     def error(self, exception):
@@ -210,7 +210,7 @@
 def prepare_input_source(source, base = ""):
     """This function takes an InputSource and an optional base URL and
     returns a fully resolved InputSource object ready for reading."""
-    
+
     if type(source) in _StringTypes:
         source = xmlreader.InputSource(source)
     elif hasattr(source, "read"):
@@ -229,7 +229,7 @@
         else:
             source.setSystemId(urlparse.urljoin(base, sysid))
             f = urllib.urlopen(source.getSystemId())
-            
+
         source.setByteStream(f)
-        
+
     return source
diff --git a/Lib/xml/sax/xmlreader.py b/Lib/xml/sax/xmlreader.py
index 7f31fc2..b336cb2 100644
--- a/Lib/xml/sax/xmlreader.py
+++ b/Lib/xml/sax/xmlreader.py
@@ -6,7 +6,7 @@
 # ===== XMLREADER =====
 
 class XMLReader:
-    """Interface for reading an XML document using callbacks. 
+    """Interface for reading an XML document using callbacks.
 
     XMLReader is the interface that an XML parser's SAX2 driver must
     implement. This interface allows an application to set and query
@@ -17,7 +17,7 @@
     methods must not return until parsing is complete, and readers
     must wait for an event-handler callback to return before reporting
     the next event."""
-    
+
     def __init__(self):
         self._cont_handler = handler.ContentHandler()
         self._dtd_handler = handler.DTDHandler()
@@ -35,11 +35,11 @@
     def setContentHandler(self, handler):
         "Registers a new object to receive document content events."
         self._cont_handler = handler
-        
+
     def getDTDHandler(self):
         "Returns the current DTD handler."
         return self._dtd_handler
-        
+
     def setDTDHandler(self, handler):
         "Register an object to receive basic DTD-related events."
         self._dtd_handler = handler
@@ -47,7 +47,7 @@
     def getEntityResolver(self):
         "Returns the current EntityResolver."
         return self._ent_handler
-        
+
     def setEntityResolver(self, resolver):
         "Register an object to resolve external entities."
         self._ent_handler = resolver
@@ -55,20 +55,20 @@
     def getErrorHandler(self):
         "Returns the current ErrorHandler."
         return self._err_handler
-        
+
     def setErrorHandler(self, handler):
         "Register an object to receive error-message events."
         self._err_handler = handler
 
     def setLocale(self, locale):
-        """Allow an application to set the locale for errors and warnings. 
-   
+        """Allow an application to set the locale for errors and warnings.
+
         SAX parsers are not required to provide localization for errors
         and warnings; if they cannot support the requested locale,
         however, they must throw a SAX exception. Applications may
         request a locale change in the middle of a parse."""
         raise SAXNotSupportedException("Locale support not implemented")
-    
+
     def getFeature(self, name):
         "Looks up and returns the state of a SAX2 feature."
         raise SAXNotRecognizedException("Feature '%s' not recognized" % name)
@@ -112,7 +112,7 @@
     def parse(self, source):
         import saxutils
         source = saxutils.prepare_input_source(source)
-            
+
         self.prepareParser(source)
         file = source.getByteStream()
         buffer = file.read(self._bufsize)
@@ -121,7 +121,7 @@
             buffer = file.read(self._bufsize)
         self.close()
 
-    def feed(self, data):        
+    def feed(self, data):
         """This method gives the raw XML data in the data parameter to
         the parser and makes it parse the data, emitting the
         corresponding events. It is allowed for XML constructs to be
@@ -238,7 +238,7 @@
         """Set the byte stream (a Python file-like object which does
         not perform byte-to-character conversion) for this input
         source.
-        
+
         The SAX parser will ignore this if there is also a character
         stream specified, but it will use a byte stream in preference
         to opening a URI connection itself.
@@ -249,16 +249,16 @@
 
     def getByteStream(self):
         """Get the byte stream for this input source.
-        
+
         The getEncoding method will return the character encoding for
-        this byte stream, or None if unknown."""        
+        this byte stream, or None if unknown."""
         return self.__bytefile
-        
+
     def setCharacterStream(self, charfile):
         """Set the character stream for this input source. (The stream
         must be a Python 1.6 Unicode-wrapped file-like that performs
         conversion to Unicode strings.)
-        
+
         If there is a character stream specified, the SAX parser will
         ignore any byte stream and will not attempt to open a URI
         connection to the system identifier."""
@@ -267,11 +267,11 @@
     def getCharacterStream(self):
         "Get the character stream for this input source."
         return self.__charfile
-    
+
 # ===== ATTRIBUTESIMPL =====
 
 class AttributesImpl:
-    
+
     def __init__(self, attrs):
         """Non-NS-aware implementation.
 
@@ -298,13 +298,13 @@
     def getQNameByName(self, name):
         if not self._attrs.has_key(name):
             raise KeyError
-        return name        
-    
+        return name
+
     def getNames(self):
         return self._attrs.keys()
 
     def getQNames(self):
-        return self._attrs.keys()    
+        return self._attrs.keys()
 
     def __len__(self):
         return len(self._attrs)
@@ -333,7 +333,7 @@
 # ===== ATTRIBUTESNSIMPL =====
 
 class AttributesNSImpl(AttributesImpl):
-    
+
     def __init__(self, attrs, qnames):
         """NS-aware implementation.
 
@@ -346,25 +346,25 @@
         for (nsname, qname) in self._qnames.items():
             if qname == name:
                 return self._attrs[nsname]
-            
+
         raise KeyError
 
     def getNameByQName(self, name):
         for (nsname, qname) in self._qnames.items():
             if qname == name:
                 return nsname
-            
+
         raise KeyError
 
     def getQNameByName(self, name):
         return self._qnames[name]
-    
+
     def getQNames(self):
         return self._qnames.values()
 
     def copy(self):
         return self.__class__(self._attrs, self._qnames)
-    
+
 
 def _test():
     XMLReader()