From 20b6be23e9f913fe5595b24c0081f7d6f62bd9f9 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Sun, 27 Apr 2008 19:53:27 +0000 Subject: [PATCH] Fix a bug where smartypants was used for attribute values. --- CHANGES | 2 ++ sphinx/htmlwriter.py | 13 ++++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) 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)