summary refs log tree commit diff stats
path: root/lib/pure
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2016-07-28 20:48:38 +0200
committerAndreas Rumpf <rumpf_a@web.de>2016-07-28 20:48:38 +0200
commitc23cbe1722d9ba9721983be117568bfdd7955ff7 (patch)
tree7f5fa89f6ff35e56513b0a8438182cfba379962a /lib/pure
parentf5fa5dae85030510156298477cefe189f44524dc (diff)
parent48867b2541d561a85daf54f2e62f6b765b22ea5d (diff)
downloadNim-c23cbe1722d9ba9721983be117568bfdd7955ff7.tar.gz
Merge branch 'htmlparser' of https://github.com/Lompik/Nim into Lompik-htmlparser
Diffstat (limited to 'lib/pure')
-rw-r--r--lib/pure/htmlparser.nim10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/pure/htmlparser.nim b/lib/pure/htmlparser.nim
index fd58bed25..1fe0b297b 100644
--- a/lib/pure/htmlparser.nim
+++ b/lib/pure/htmlparser.nim
@@ -464,12 +464,18 @@ proc untilElementEnd(x: var XmlParser, result: XmlNode,
     case x.kind
     of xmlElementStart, xmlElementOpen:
       case result.htmlTag
-      of tagLi, tagP, tagDt, tagDd, tagInput, tagOption:
-        # some tags are common to have no ``</end>``, like ``<li>``:
+      of tagP, tagInput, tagOption:
+        # some tags are common to have no ``</end>``, like ``<li>`` but
+        # allow ``<p>`` in `<dd>`, `<dt>` and ``<li>`` in next case
         if htmlTag(x.elemName) in {tagLi, tagP, tagDt, tagDd, tagInput,
                                    tagOption}:
           errors.add(expected(x, result))
           break
+      of tagDd, tagDt, tagLi:
+        if htmlTag(x.elemName) in {tagLi, tagDt, tagDd, tagInput,
+                                   tagOption}:
+          errors.add(expected(x, result))
+          break
       of tagTd, tagTh:
         if htmlTag(x.elemName) in {tagTr, tagTd, tagTh, tagTfoot, tagThead}:
           errors.add(expected(x, result))