parser/pagerparser: Fix closing shortcode error handling when repeated

This commit is contained in:
Bjørn Erik Pedersen
2025-10-05 13:19:19 +02:00
parent 9197debbfe
commit a133393eda
2 changed files with 11 additions and 4 deletions
+6 -4
View File
@@ -255,16 +255,18 @@ Loop:
default:
l.backup()
word := string(l.input[l.start:l.pos])
if l.closingState > 0 && !l.openShortcodes[word] {
return l.errorf("closing tag for shortcode '%s' does not match start tag", word)
} else if l.closingState > 0 {
if l.closingState > 0 {
if !l.openShortcodes[word] {
return l.errorf("closing tag for shortcode '%s' does not match start tag", word)
}
l.openShortcodes[word] = false
lookForEnd = true
} else {
l.openShortcodes[word] = true
}
l.closingState = 0
l.currShortcodeName = word
l.openShortcodes[word] = true
l.elementStepNum++
if l.isInline {
l.emit(tScNameInline)