added a kludge for cases of closing non-opened tags

Signed-off-by: Vadim A. Misbakh-Soloviov <git@mva.name>
This commit is contained in:
Vadim A. Misbakh-Soloviov
2015-09-03 18:37:38 +06:00
parent 74e189b9e8
commit 2a876887d2
2 changed files with 27 additions and 1 deletions

View File

@@ -53,7 +53,7 @@ local function parse(text)
local closestart, closing, closename
closestart, closeend, closing, closename = string.find(root._text, "[^<]*<(/?)(%w+)", closeend)
if not closing or closing == "" then break end
tag = table.remove(opentags[closename])
tag = table.remove(opentags[closename]) or tag -- kludge for cases of closing tag that wasn't opened
closestart = string.find(root._text, "<", closestart)
tag:close(closestart, closeend + 1)
node = tag.parent