@@ -171,8 +171,10 @@ def mainLoop(self):
171
171
ParseErrorToken = tokenTypes ["ParseError" ]
172
172
173
173
for token in self .normalizedTokens ():
174
+ prev_token = None
174
175
new_token = token
175
176
while new_token is not None :
177
+ prev_token = new_token
176
178
currentNode = self .tree .openElements [- 1 ] if self .tree .openElements else None
177
179
currentNodeNamespace = currentNode .namespace if currentNode else None
178
180
currentNodeName = currentNode .name if currentNode else None
@@ -211,10 +213,10 @@ def mainLoop(self):
211
213
elif type == DoctypeToken :
212
214
new_token = phase .processDoctype (new_token )
213
215
214
- if (type == StartTagToken and token ["selfClosing" ] and
215
- not token ["selfClosingAcknowledged" ]):
216
+ if (type == StartTagToken and prev_token ["selfClosing" ] and
217
+ not prev_token ["selfClosingAcknowledged" ]):
216
218
self .parseError ("non-void-element-with-trailing-solidus" ,
217
- {"name" : token ["name" ]})
219
+ {"name" : prev_token ["name" ]})
218
220
219
221
# When the loop finishes it's EOF
220
222
reprocess = True
@@ -1933,6 +1935,7 @@ def processCharacters(self, token):
1933
1935
def startTagCol (self , token ):
1934
1936
self .tree .insertElement (token )
1935
1937
self .tree .openElements .pop ()
1938
+ token ["selfClosingAcknowledged" ] = True
1936
1939
1937
1940
def startTagOther (self , token ):
1938
1941
ignoreEndTag = self .ignoreEndTagColgroup ()
0 commit comments