From 3d44c1cb7f87336a0de2f537f973fbcbcacd7ea1 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Sat, 4 Aug 2007 23:07:57 +0000 Subject: [PATCH] Don't mangle "--" in option names. --- sphinx/addnodes.py | 3 +++ sphinx/roles.py | 12 ++++++------ sphinx/writer.py | 14 ++++++++++++++ 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/sphinx/addnodes.py b/sphinx/addnodes.py index bdb13091a..063fde947 100644 --- a/sphinx/addnodes.py +++ b/sphinx/addnodes.py @@ -50,6 +50,9 @@ class compact_paragraph(nodes.paragraph): pass # sets the highlighting language for literal blocks class highlightlang(nodes.Element): pass +# doesn't apply further text processors, e.g. smartypants +class literal_emphasis(nodes.emphasis): pass + # make them known to docutils. this is needed, because the HTMl writer # will choke at some point if these are not added nodes._add_node_class_names("""index desc desc_content desc_signature diff --git a/sphinx/roles.py b/sphinx/roles.py index fc6b1a5ba..b43ece085 100644 --- a/sphinx/roles.py +++ b/sphinx/roles.py @@ -20,16 +20,16 @@ ws_re = re.compile(r'\s+') generic_docroles = { 'command' : nodes.strong, - 'dfn' : nodes.emphasis, + 'dfn' : addnodes.literal_emphasis, 'guilabel' : nodes.strong, 'kbd' : nodes.literal, 'keyword' : nodes.literal, - 'mailheader' : nodes.emphasis, + 'mailheader' : addnodes.literal_emphasis, 'makevar' : nodes.Text, - 'manpage' : nodes.emphasis, - 'mimetype' : nodes.emphasis, - 'newsgroup' : nodes.emphasis, - 'option' : nodes.emphasis, + 'manpage' : addnodes.literal_emphasis, + 'mimetype' : addnodes.literal_emphasis, + 'newsgroup' : addnodes.literal_emphasis, + 'option' : addnodes.literal_emphasis, 'program' : nodes.strong, 'regexp' : nodes.literal, } diff --git a/sphinx/writer.py b/sphinx/writer.py index 0b7722c54..ff716faae 100644 --- a/sphinx/writer.py +++ b/sphinx/writer.py @@ -196,6 +196,12 @@ class HTMLTranslator(BaseTranslator): def visit_index(self, node): raise nodes.SkipNode + # these are only handled specially in the SmartyPantsHTMLTranslator + def visit_literal_emphasis(self, node): + return self.visit_emphasis(node) + def depart_literal_emphasis(self, node): + return self.depart_emphasis(node) + class SmartyPantsHTMLTranslator(HTMLTranslator): """ @@ -215,6 +221,14 @@ class SmartyPantsHTMLTranslator(HTMLTranslator): finally: self.no_smarty -= 1 + def visit_literal_emphasis(self, node): + self.no_smarty += 1 + self.visit_emphasis(node) + + def depart_literal_emphasis(self, node): + self.depart_emphasis(node) + self.no_smarty -= 1 + def visit_productionlist(self, node): self.no_smarty += 1 try: