From 657f6b16f00649842f57a9f6f4bd92190cea3d07 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Sat, 25 Jul 2015 12:35:52 +0200 Subject: [PATCH] Fixes #1915: Do not generate smart quotes in doc field type annotations. --- CHANGES | 1 + sphinx/util/docfields.py | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGES b/CHANGES index eae6d5059..269401f96 100644 --- a/CHANGES +++ b/CHANGES @@ -32,6 +32,7 @@ Bugs fixed * Work around the lack of the HTMLParserError exception in Python 3.5. * #1949: Use ``safe_getattr`` in the coverage builder to avoid aborting with descriptors that have custom behavior. +* #1915: Do not generate smart quotes in doc field type annotations. Release 1.3.1 (released Mar 17, 2015) diff --git a/sphinx/util/docfields.py b/sphinx/util/docfields.py index c654fed32..d503ac58b 100644 --- a/sphinx/util/docfields.py +++ b/sphinx/util/docfields.py @@ -53,8 +53,8 @@ class Field(object): self.rolename = rolename self.bodyrolename = bodyrolename - def make_xref(self, rolename, domain, target, innernode=nodes.emphasis, - contnode=None): + def make_xref(self, rolename, domain, target, + innernode=addnodes.literal_emphasis, contnode=None): if not rolename: return contnode or innernode(target, target) refnode = addnodes.pending_xref('', refdomain=domain, refexplicit=False, @@ -159,7 +159,8 @@ class TypedField(GroupedField): fieldtype = types.pop(fieldarg) if len(fieldtype) == 1 and isinstance(fieldtype[0], nodes.Text): typename = u''.join(n.astext() for n in fieldtype) - par += self.make_xref(self.typerolename, domain, typename) + par += self.make_xref(self.typerolename, domain, typename, + addnodes.literal_emphasis) else: par += fieldtype par += nodes.Text(')')