summaryrefslogtreecommitdiff
path: root/sphinx/directives.py
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2008-03-14 22:39:36 +0000
committerGeorg Brandl <georg@python.org>2008-03-14 22:39:36 +0000
commit46f7a97c4fcd4e14fd67c6830bf5c9d5884b1cb2 (patch)
tree65b34273be3567d4031e9725130dec76feadeb0f /sphinx/directives.py
parentb5d7a5ff8fd728734d2be766eec5dde6ffa05d0d (diff)
downloadsphinx-git-46f7a97c4fcd4e14fd67c6830bf5c9d5884b1cb2.tar.gz
Fix behavior for .. method directives inside a .. class.
Diffstat (limited to 'sphinx/directives.py')
-rw-r--r--sphinx/directives.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/sphinx/directives.py b/sphinx/directives.py
index 903c3dadc..498a1bc8c 100644
--- a/sphinx/directives.py
+++ b/sphinx/directives.py
@@ -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)