diff --git a/CHANGES b/CHANGES index c5f26b37c..268b6d835 100644 --- a/CHANGES +++ b/CHANGES @@ -32,6 +32,8 @@ Incompatible changes to ``.. rst:role:: numref`` * #6903: py domain: Non intended behavior is removed such as ``say_hello_`` links to ``.. py:function:: say_hello()`` +* #7246: py domain: Drop special cross reference helper for exceptions, + functions and methods Deprecated ---------- diff --git a/sphinx/domains/python.py b/sphinx/domains/python.py index e667f91dc..4fd7dab08 100644 --- a/sphinx/domains/python.py +++ b/sphinx/domains/python.py @@ -1110,14 +1110,6 @@ class PythonDomain(Domain): elif modname and classname and \ modname + '.' + classname + '.' + name in self.objects: newname = modname + '.' + classname + '.' + name - # special case: builtin exceptions have module "exceptions" set - elif type == 'exc' and '.' not in name and \ - 'exceptions.' + name in self.objects: - newname = 'exceptions.' + name - # special case: object methods - elif type in ('func', 'meth') and '.' not in name and \ - 'object.' + name in self.objects: - newname = 'object.' + name if newname is not None: matches.append((newname, self.objects[newname])) return matches diff --git a/tests/test_domain_py.py b/tests/test_domain_py.py index 8d6d43b48..218ded510 100644 --- a/tests/test_domain_py.py +++ b/tests/test_domain_py.py @@ -206,18 +206,6 @@ def test_domain_py_find_obj(app, status, warning): [('NestedParentA.NestedChildA.subchild_1', ('roles', 'nestedparenta-nestedchilda-subchild-1', 'method'))]) - # special case: exceptions - assert (find_obj('exceptions', None, 'Exception', 'exc') == - [('exceptions.Exception', ('module', 'exceptions-exception', 'exception'))]) - assert (find_obj(None, None, 'Exception', 'exc') == - [('exceptions.Exception', ('module', 'exceptions-exception', 'exception'))]) - - # special case: object - assert (find_obj('object', None, 'sum', 'func') == - [('object.sum', ('module', 'object-sum', 'function'))]) - assert (find_obj(None, None, 'sum', 'func') == - [('object.sum', ('module', 'object-sum', 'function'))]) - def test_get_full_qualified_name(): env = Mock(domaindata={})