@@ -274,7 +274,6 @@ def emitCurrentToken(self):
274
274
275
275
# Add token to the queue to be yielded
276
276
self .tokenQueue .append (token )
277
-
278
277
self .state = self .states ["data" ]
279
278
280
279
def emitCurrentTokenWithParseError (self , data = None ):
@@ -596,13 +595,14 @@ def attributeValueUnQuotedState(self):
596
595
def bogusCommentState (self ):
597
596
# Make a new comment token and give it as value all the characters
598
597
# until the first > or EOF (charsUntil checks for EOF automatically)
599
- self . currentToken = \
600
- { "type" : "Comment" , "data" : self .stream . charsUntil (( u">" ))}
601
- self .emitCurrentToken ( )
598
+ # and emit it.
599
+ self .tokenQueue . append (
600
+ { "type" : "Comment" , "data" : self .stream . charsUntil (( u">" ))} )
602
601
603
602
# Eat the character directly after the bogus comment which is either a
604
603
# ">" or an EOF.
605
604
self .stream .char ()
605
+ self .state = self .states ["data" ]
606
606
return True
607
607
608
608
def markupDeclarationOpenState (self ):
@@ -631,6 +631,7 @@ def commentState(self):
631
631
if data == u"-" :
632
632
self .state = self .states ["commentDash" ]
633
633
elif data == EOF :
634
+ # XXX EMIT
634
635
self .emitCurrentTokenWithParseError ()
635
636
else :
636
637
self .currentToken ["data" ] += data + self .stream .charsUntil (u"-" )
@@ -641,6 +642,7 @@ def commentDashState(self):
641
642
if data == u"-" :
642
643
self .state = self .states ["commentEnd" ]
643
644
elif data == EOF :
645
+ # XXX EMIT
644
646
self .emitCurrentTokenWithParseError ()
645
647
else :
646
648
self .currentToken ["data" ] += u"-" + data + \
@@ -654,12 +656,14 @@ def commentDashState(self):
654
656
def commentEndState (self ):
655
657
data = self .stream .char ()
656
658
if data == u">" :
659
+ # XXX EMIT
657
660
self .emitCurrentToken ()
658
661
elif data == u"-" :
659
662
self .tokenQueue .append ({"type" : "ParseError" , "data" :
660
663
_ ("Unexpected '--' sequence found in comment." )})
661
664
self .currentToken ["data" ] += data
662
665
elif data == EOF :
666
+ # XXX EMIT
663
667
self .emitCurrentTokenWithParseError ()
664
668
else :
665
669
# XXX
@@ -690,9 +694,11 @@ def beforeDoctypeNameState(self):
690
694
elif data == u">" :
691
695
# Character needs to be consumed per the specification so don't
692
696
# invoke emitCurrentTokenWithParseError with "data" as argument.
697
+ # XXX EMIT
693
698
self .emitCurrentTokenWithParseError ()
694
699
elif data == EOF :
695
- self .emitCurrentTokenWithParseError (data )
700
+ # XXX EMIT
701
+ self .emitCurrentTokenWithParseError ()
696
702
else :
697
703
self .currentToken ["name" ] = data
698
704
self .state = self .states ["doctypeName" ]
@@ -705,9 +711,11 @@ def doctypeNameState(self):
705
711
self .state = self .states ["afterDoctypeName" ]
706
712
needsDoctypeCheck = True
707
713
elif data == u">" :
708
- self .emitCurrentToken ()
714
+ self .tokenQueue .append (self .currentToken )
715
+ self .state = self .states ["data" ]
709
716
elif data == EOF :
710
- self .emitCurrentTokenWithParseError (data )
717
+ # XXX EMIT
718
+ self .emitCurrentTokenWithParseError ()
711
719
else :
712
720
# We can't just uppercase everything that arrives here. For
713
721
# instance, non-ASCII characters.
@@ -727,9 +735,11 @@ def afterDoctypeNameState(self):
727
735
if data in spaceCharacters :
728
736
pass
729
737
elif data == u">" :
730
- self .emitCurrentToken ()
738
+ self .tokenQueue .append (self .currentToken )
739
+ self .state = self .states ["data" ]
731
740
elif data == EOF :
732
741
self .currentToken ["data" ] = True
742
+ # XXX EMIT
733
743
self .emitCurrentTokenWithParseError (data )
734
744
else :
735
745
self .tokenQueue .append ({"type" : "ParseError" , "data" :
@@ -741,8 +751,10 @@ def afterDoctypeNameState(self):
741
751
def bogusDoctypeState (self ):
742
752
data = self .stream .char ()
743
753
if data == u">" :
744
- self .emitCurrentToken ()
754
+ self .tokenQueue .append (self .currentToken )
755
+ self .state = self .states ["data" ]
745
756
elif data == EOF :
757
+ # XXX EMIT
746
758
self .emitCurrentTokenWithParseError (data )
747
759
else :
748
760
pass
0 commit comments