@@ -171,8 +171,10 @@ def mainLoop(self):
171171 ParseErrorToken = tokenTypes ["ParseError" ]
172172
173173 for token in self .normalizedTokens ():
174+ prev_token = None
174175 new_token = token
175176 while new_token is not None :
177+ prev_token = new_token
176178 currentNode = self .tree .openElements [- 1 ] if self .tree .openElements else None
177179 currentNodeNamespace = currentNode .namespace if currentNode else None
178180 currentNodeName = currentNode .name if currentNode else None
@@ -211,10 +213,10 @@ def mainLoop(self):
211213 elif type == DoctypeToken :
212214 new_token = phase .processDoctype (new_token )
213215
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" ]):
216218 self .parseError ("non-void-element-with-trailing-solidus" ,
217- {"name" : token ["name" ]})
219+ {"name" : prev_token ["name" ]})
218220
219221 # When the loop finishes it's EOF
220222 reprocess = True
@@ -1933,6 +1935,7 @@ def processCharacters(self, token):
19331935 def startTagCol (self , token ):
19341936 self .tree .insertElement (token )
19351937 self .tree .openElements .pop ()
1938+ token ["selfClosingAcknowledged" ] = True
19361939
19371940 def startTagOther (self , token ):
19381941 ignoreEndTag = self .ignoreEndTagColgroup ()
0 commit comments