diff options
-rw-r--r-- | Lib/markupbase.py | 5 | ||||
-rwxr-xr-x | Lib/test/test_htmlparser.py | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/Lib/markupbase.py b/Lib/markupbase.py index 3d00a74..85b07a2 100644 --- a/Lib/markupbase.py +++ b/Lib/markupbase.py @@ -76,13 +76,16 @@ class ParserBase: rawdata = self.rawdata j = i + 2 assert rawdata[i:j] == "<!", "unexpected call to parse_declaration" + if rawdata[j:j+1] == ">": + # the empty comment <!> + return j + 1 if rawdata[j:j+1] in ("-", ""): # Start of comment followed by buffer boundary, # or just a buffer boundary. return -1 # A simple, practical version could look like: ((name|stringlit) S*) + '>' n = len(rawdata) - if rawdata[j:j+1] == '--': #comment + if rawdata[j:j+2] == '--': #comment # Locate --.*-- as the body of the comment return self.parse_comment(i) elif rawdata[j] == '[': #marked section diff --git a/Lib/test/test_htmlparser.py b/Lib/test/test_htmlparser.py index 4cb87df..54b90cd 100755 --- a/Lib/test/test_htmlparser.py +++ b/Lib/test/test_htmlparser.py @@ -115,7 +115,7 @@ comment1b--> <Img sRc='Bar' isMAP>sample text “ -<!--comment2a-- --comment2b--> +<!--comment2a-- --comment2b--><!> </Html> """, [ ("data", "\n"), |