diff options
| author | Georg Brandl <georg@python.org> | 2010-08-14 16:51:04 +0200 |
|---|---|---|
| committer | Georg Brandl <georg@python.org> | 2010-08-14 16:51:04 +0200 |
| commit | 61ca36770abba35e326c564bb004105cbe2dbe4e (patch) | |
| tree | dbc4ddf08b3e99790481774f6f50d53dd82b754a /sphinx/domains | |
| parent | 9b6043c60857fd009e6b0c4210f9d400242b3289 (diff) | |
| download | sphinx-61ca36770abba35e326c564bb004105cbe2dbe4e.tar.gz | |
#490: Fix cross-references to objects of types added by the :func:`~.Sphinx.add_object_type` API function.
Diffstat (limited to 'sphinx/domains')
| -rw-r--r-- | sphinx/domains/std.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sphinx/domains/std.py b/sphinx/domains/std.py index 63a3bf6d..6194ace9 100644 --- a/sphinx/domains/std.py +++ b/sphinx/domains/std.py @@ -484,7 +484,13 @@ class StandardDomain(Domain): return make_refnode(builder, fromdocname, docname, labelid, contnode) else: - docname, labelid = self.data['objects'].get((typ, target), ('', '')) + objtypes = self.objtypes_for_role(typ) or [] + for objtype in objtypes: + if (objtype, target) in self.data['objects']: + docname, labelid = self.data['objects'][objtype, target] + break + else: + docname, labelid = '', '' if not docname: if typ == 'term': env.warn(node.get('refdoc', fromdocname), |
