]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Moved clearing of "literal" flag. The flag is set in setliteral which
authorSjoerd Mullender <sjoerd@acm.org>
Wed, 14 Mar 2001 17:03:30 +0000 (17:03 +0000)
committerSjoerd Mullender <sjoerd@acm.org>
Wed, 14 Mar 2001 17:03:30 +0000 (17:03 +0000)
can be called from a start tag handler.  When the corresponding end
tag is read the flag is cleared.  However, it didn't get cleared when
the start tag was for an empty element of the type <tag .../>.  This
modification fixes the problem.

Lib/xmllib.py

index 23f9cdcc9b756aa8e298507162ac7e9736d7bc02..e8210e6177f00d7953c905d3db7b2831b9d87eb0 100644 (file)
@@ -691,7 +691,6 @@ class XMLParser:
                 if not self.stack or tag != self.stack[-1][0]:
                     self.handle_data(rawdata[i])
                     return i+1
-                self.literal = 0
             k = res.end(0)
         if endbracket.match(rawdata, k) is None:
             self.syntax_error('garbage in end tag')
@@ -707,6 +706,7 @@ class XMLParser:
 
     # Internal -- finish processing of end tag
     def finish_endtag(self, tag):
+        self.literal = 0
         if not tag:
             self.syntax_error('name-less end tag')
             found = len(self.stack) - 1