mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Fix behavior for .. method directives inside a .. class.
This commit is contained in:
parent
b5d7a5ff8f
commit
46f7a97c4f
@ -133,10 +133,12 @@ def parse_py_signature(signode, sig, desctype, env):
|
||||
if m is None: raise ValueError
|
||||
classname, name, arglist = m.groups()
|
||||
|
||||
add_module = True
|
||||
if env.currclass:
|
||||
if classname and classname.startswith(env.currclass):
|
||||
fullname = classname + name
|
||||
classname = classname[len(env.currclass):].lstrip('.')
|
||||
add_module = False
|
||||
elif classname:
|
||||
fullname = env.currclass + '.' + classname + name
|
||||
else:
|
||||
@ -148,7 +150,7 @@ def parse_py_signature(signode, sig, desctype, env):
|
||||
signode += addnodes.desc_classname(classname, classname)
|
||||
# exceptions are a special case, since they are documented in the
|
||||
# 'exceptions' module.
|
||||
elif env.config.add_module_names and \
|
||||
elif add_module and env.config.add_module_names and \
|
||||
env.currmodule and env.currmodule != 'exceptions':
|
||||
nodetext = env.currmodule + '.'
|
||||
signode += addnodes.desc_classname(nodetext, nodetext)
|
||||
|
Loading…
Reference in New Issue
Block a user