mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Fix #9280: py domain: "exceptions" module is not displayed
Since v0.2, python domain gives a special treatment for the exceptions module to suppress its name on documenting exception classes. It had been worthy on python2 era. But the module has been removed since python3. Therefore, the special treatment becomes harmful for user libraries. This removes it to render module names correctly. Note: Now we've only supported python3. So this is not incompatible.
This commit is contained in:
parent
2809b30c17
commit
201f61f722
1
CHANGES
1
CHANGES
@ -58,6 +58,7 @@ Bugs fixed
|
||||
* #9270: html theme : pyramid theme generates incorrect logo links
|
||||
* #9217: manpage: The name of manpage directory that is generated by
|
||||
:confval:`man_make_section_directory` is not correct
|
||||
* #9280: py domain: "exceptions" module is not displayed
|
||||
* #9224: ``:param:`` and ``:type:`` fields does not support a type containing
|
||||
whitespace (ex. ``Dict[str, str]``)
|
||||
|
||||
|
@ -448,10 +448,7 @@ class PyObject(ObjectDescription[Tuple[str, str]]):
|
||||
|
||||
if prefix:
|
||||
signode += addnodes.desc_addname(prefix, prefix)
|
||||
elif add_module and self.env.config.add_module_names:
|
||||
if modname and modname != 'exceptions':
|
||||
# exceptions are a special case, since they are documented in the
|
||||
# 'exceptions' module.
|
||||
elif modname and add_module and self.env.config.add_module_names:
|
||||
nodetext = modname + '.'
|
||||
signode += addnodes.desc_addname(nodetext, nodetext)
|
||||
|
||||
|
@ -477,23 +477,11 @@ def test_optional_pyfunction_signature(app):
|
||||
|
||||
|
||||
def test_pyexception_signature(app):
|
||||
text = ".. py:exception:: exceptions.IOError"
|
||||
doctree = restructuredtext.parse(app, text)
|
||||
assert_node(doctree, (addnodes.index,
|
||||
[desc, ([desc_signature, ([desc_annotation, "exception "],
|
||||
[desc_addname, "exceptions."],
|
||||
[desc_name, "IOError"])],
|
||||
desc_content)]))
|
||||
assert_node(doctree[1], desc, desctype="exception",
|
||||
domain="py", objtype="exception", noindex=False)
|
||||
|
||||
|
||||
def test_exceptions_module_is_ignored(app):
|
||||
text = (".. py:exception:: IOError\n"
|
||||
" :module: exceptions\n")
|
||||
text = ".. py:exception:: builtins.IOError"
|
||||
doctree = restructuredtext.parse(app, text)
|
||||
assert_node(doctree, (addnodes.index,
|
||||
[desc, ([desc_signature, ([desc_annotation, "exception "],
|
||||
[desc_addname, "builtins."],
|
||||
[desc_name, "IOError"])],
|
||||
desc_content)]))
|
||||
assert_node(doctree[1], desc, desctype="exception",
|
||||
|
Loading…
Reference in New Issue
Block a user