diff --git a/CHANGES b/CHANGES index 05c4de607..a32705717 100644 --- a/CHANGES +++ b/CHANGES @@ -91,6 +91,8 @@ Bugs fixed * sphinx.htmlwriter: Don't use os.path for joining image HREFs. +* sphinx.htmlwriter: Don't use SmartyPants for HTML attribute values. + * sphinx.latexwriter: Implement option lists. Also, some other changes were made to ``sphinx.sty`` in order to enhance compatibility and remove old unused stuff. Thanks to Gael Varoquaux for that! diff --git a/sphinx/htmlwriter.py b/sphinx/htmlwriter.py index 8767f73f8..94b3cdb51 100644 --- a/sphinx/htmlwriter.py +++ b/sphinx/htmlwriter.py @@ -351,8 +351,11 @@ class SmartyPantsHTMLTranslator(HTMLTranslator): finally: self.no_smarty -= 1 - def encode(self, text): - text = HTMLTranslator.encode(self, text) - if self.no_smarty <= 0: - text = sphinx_smarty_pants(text) - return text + def visit_Text(self, node): + text = node.astext() + encoded = self.encode(text) + if self.in_mailto and self.settings.cloak_email_addresses: + encoded = self.cloak_email(encoded) + elif self.no_smarty <= 0: + encoded = sphinx_smarty_pants(encoded) + self.body.append(encoded)