Skip to content

Commit 08f4835

Browse files
Use set_cdata_mode(escapable=None) for PLAINTEXT.
1 parent 69a2b33 commit 08f4835

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

Lib/html/parser.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,9 @@ def get_starttag_text(self):
180180
def set_cdata_mode(self, elem, *, escapable=False):
181181
self.cdata_elem = elem.lower()
182182
self._escapable = escapable
183-
if escapable and not self.convert_charrefs:
183+
if escapable is None: # PLAINTEXT mode
184+
self.interesting = re.compile(r'\z')
185+
elif escapable and not self.convert_charrefs:
184186
self.interesting = re.compile(r'&|</%s(?=[\t\n\r\f />])' % self.cdata_elem,
185187
re.IGNORECASE|re.ASCII)
186188
else:
@@ -459,8 +461,7 @@ def parse_starttag(self, i):
459461
elif self.scripting and tag == "noscript":
460462
self.set_cdata_mode(tag)
461463
elif tag == "plaintext":
462-
self.set_cdata_mode(tag)
463-
self.interesting = re.compile(r'\z')
464+
self.set_cdata_mode(tag, escapable=None)
464465
return endpos
465466

466467
# Internal -- check to see if we have a complete starttag; return end

0 commit comments

Comments
 (0)