diff options
Diffstat (limited to 'lib/pure/htmlparser.nim')
-rw-r--r-- | lib/pure/htmlparser.nim | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/pure/htmlparser.nim b/lib/pure/htmlparser.nim index 4e4af0e4b..81a3a8cb4 100644 --- a/lib/pure/htmlparser.nim +++ b/lib/pure/htmlparser.nim @@ -152,7 +152,7 @@ const tagOl, tagP, tagPre, tagTable, tagUl, tagCenter, tagDir, tagIsindex, tagMenu, tagNoframes} SingleTags* = {tagArea, tagBase, tagBasefont, - tagBr, tagCol, tagFrame, tagHr, tagImg, tagInput, tagIsindex, + tagBr, tagCol, tagFrame, tagHr, tagImg, tagIsindex, tagLink, tagMeta, tagParam} Entities = [ @@ -276,7 +276,7 @@ proc untilElementEnd(x: var TXmlParser, result: PXmlNode, case x.kind of xmlElementStart, xmlElementOpen: case result.htmlTag - of tagLi, tagP, tagDt, tagDd, tagOption: + of tagLi, tagP, tagDt, tagDd, tagInput, tagOption: if htmlTag(x.elementName) notin InlineTags: # some tags are common to have no ``</end>``, like ``<li>``: errors.add(expected(x, result)) @@ -285,6 +285,10 @@ proc untilElementEnd(x: var TXmlParser, result: PXmlNode, if htmlTag(x.elementName) in {tagTr, tagTd, tagTh}: errors.add(expected(x, result)) break + of tagOptgroup: + if htmlTag(x.elementName) in {tagOption, tagOptgroup}: + errors.add(expected(x, result)) + break else: nil result.addNode(parse(x, errors)) of xmlElementEnd: |