From bf159679697f9940298ca99582b71314b4d144a1 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Thu, 5 Aug 2010 10:14:10 +0200 Subject: [PATCH] #486: Fix removal of ``!`` for all cross-reference roles. --- CHANGES | 3 +++ sphinx/roles.py | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 48d03e785..dce6e713a 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,9 @@ Release 1.0.2 (in development) ============================== +* #486: Fix removal of ``!`` for all cross-reference roles. + + Release 1.0.1 (Jul 27, 2010) ============================ diff --git a/sphinx/roles.py b/sphinx/roles.py index d3f3c67e3..bacdad5b6 100644 --- a/sphinx/roles.py +++ b/sphinx/roles.py @@ -105,9 +105,9 @@ class XRefRole(object): classes = ['xref', domain, '%s-%s' % (domain, role)] # if the first character is a bang, don't cross-reference at all if text[0:1] == '!': - text = utils.unescape(text) + text = utils.unescape(text)[1:] if self.fix_parens: - text, tgt = self._fix_parens(env, False, text[1:], "") + text, tgt = self._fix_parens(env, False, text, "") innernode = self.innernodeclass(rawtext, text, classes=classes) return self.result_nodes(inliner.document, env, innernode, is_ref=False)