@@ -960,7 +960,7 @@ def startTagBody(self, token):
960
960
961
961
def startTagFrameset (self , token ):
962
962
self .parser .parseError ("unexpected-start-tag" , {"name" : "frameset" })
963
- if (self .tree .openElements [ 1 ]. name != "body" or len ( self .tree .openElements ) == 1 ):
963
+ if (len ( self .tree .openElements ) == 1 or self .tree .openElements [ 1 ]. name != "body" ):
964
964
assert self .parser .innerHTML
965
965
elif not self .parser .framesetOK :
966
966
pass
@@ -1566,9 +1566,12 @@ def clearStackToTableContext(self):
1566
1566
1567
1567
def getCurrentTable (self ):
1568
1568
i = - 1
1569
- while self .tree .openElements [i ].name != "table" :
1569
+ while - i <= len ( self . tree . openElements ) and self .tree .openElements [i ].name != "table" :
1570
1570
i -= 1
1571
- return self .tree .openElements [i ]
1571
+ if - i > len (self .tree .openElements ):
1572
+ return self .tree .openElements [0 ]
1573
+ else :
1574
+ return self .tree .openElements [i ]
1572
1575
1573
1576
# processing methods
1574
1577
def processEOF (self ):
@@ -2149,7 +2152,7 @@ def processEOF(self):
2149
2152
if self .tree .openElements [- 1 ].name != "html" :
2150
2153
self .parser .parseError ("eof-in-select" )
2151
2154
else :
2152
- assert self .parser .innerHtml
2155
+ assert self .parser .innerHTML
2153
2156
2154
2157
def processCharacters (self , token ):
2155
2158
self .tree .insertText (token ["data" ])
0 commit comments