@@ -1262,18 +1262,16 @@ def startTagOther(self, token):
1262
1262
self .tree .insertElement (token )
1263
1263
1264
1264
def endTagP (self , token ):
1265
-
1266
- if not self .tree .elementInScope ("p" ):
1267
- self .startTagCloseP ( impliedTagToken ( "p" , "StartTag" ))
1265
+ if self . tree . elementInScope ( "p" ):
1266
+ self .tree .generateImpliedEndTags ("p" )
1267
+ if self .tree . openElements [ - 1 ]. name != "p" :
1268
1268
self .parser .parseError ("unexpected-end-tag" , {"name" : "p" })
1269
- self .endTagP (impliedTagToken ("p" , "EndTag" ))
1269
+ if self .tree .elementInScope ("p" ):
1270
+ while self .tree .elementInScope ("p" ):
1271
+ self .tree .openElements .pop ()
1270
1272
else :
1271
- self .tree .generateImpliedEndTags ("p" )
1272
- if self .tree .openElements [- 1 ].name != "p" :
1273
- self .parser .parseError ("unexpected-end-tag" , {"name" : "p" })
1274
- node = self .tree .openElements .pop ()
1275
- while node .name != "p" :
1276
- node = self .tree .openElements .pop ()
1273
+ self .startTagCloseP (impliedTagToken ("p" , "StartTag" ))
1274
+ self .endTagP (impliedTagToken ("p" ))
1277
1275
1278
1276
def endTagBody (self , token ):
1279
1277
# XXX Need to take open <p> tags into account here. We shouldn't imply
0 commit comments