From f43f515333519b44f76746d80e0e77876bf76804 Mon Sep 17 00:00:00 2001 From: facelessuser Date: Sun, 7 Oct 2018 12:29:05 -0600 Subject: Fix double escaping of block code Ref #725 diff --git a/markdown/extensions/codehilite.py b/markdown/extensions/codehilite.py index d204ebf7..712618f6 100644 --- a/markdown/extensions/codehilite.py +++ b/markdown/extensions/codehilite.py @@ -200,13 +200,20 @@ def _parseHeader(self): class HiliteTreeprocessor(Treeprocessor): """ Hilight source code in code blocks. """ + def code_unescape(self, text): + """Unescape code.""" + text = text.replace("&", "&") + text = text.replace("<", "<") + text = text.replace(">", ">") + return text + def run(self, root): """ Find code blocks and store in htmlStash. """ blocks = root.iter('pre') for block in blocks: if len(block) == 1 and block[0].tag == 'code': code = CodeHilite( - block[0].text, + self.code_unescape(block[0].text), linenums=self.config['linenums'], guess_lang=self.config['guess_lang'], css_class=self.config['css_class'],