diff options
author | Georg Brandl <georg@python.org> | 2006-03-09 13:27:14 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2006-03-09 13:27:14 (GMT) |
commit | d09def36d52af3e087433eb67c49da633436c602 (patch) | |
tree | f9498fe321b3156583d269362e26ef6523b18ec0 /Lib | |
parent | 8f4b4db676c10239543dd4bbdf99dacdd6468bd4 (diff) | |
download | cpython-d09def36d52af3e087433eb67c49da633436c602.zip cpython-d09def36d52af3e087433eb67c49da633436c602.tar.gz cpython-d09def36d52af3e087433eb67c49da633436c602.tar.bz2 |
Bug #1442874: handle "<!>", the empty SGML comment
Diffstat (limited to 'Lib')
-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"), |