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)