Index: parser.py =================================================================== --- parser.py (revision 84171) +++ parser.py (working copy) @@ -112,6 +112,14 @@ self.goahead(1) def error(self, message): + """Report a parse error. + + This is called by HTMLParser to report a parse error. The default + implementation raises HTMLParseError. If you override this method + to do something other than raise an exception (such as logging the + parse error), the HTMLParser will continue parsing on a "best + effort" basis after this method returns. + """ raise HTMLParseError(message, self.getpos()) __starttag_text = None @@ -302,6 +310,7 @@ return -1 self.updatepos(i, j) self.error("malformed start tag") + return j raise AssertionError("we should not get here!") # Internal -- parse endtag, return end or -1 if incomplete @@ -315,6 +324,7 @@ match = endtagfind.match(rawdata, i) # if not match: self.error("bad end tag: %r" % (rawdata[i:j],)) + return j tag = match.group(1) self.handle_endtag(tag.lower()) self.clear_cdata_mode()