mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Fix linking with "any" to :ref: and :term: with non-lowercased targets.
This commit is contained in:
parent
6c3789a353
commit
90d43569de
@ -637,15 +637,20 @@ class StandardDomain(Domain):
|
|||||||
def resolve_any_xref(self, env, fromdocname, builder, target,
|
def resolve_any_xref(self, env, fromdocname, builder, target,
|
||||||
node, contnode):
|
node, contnode):
|
||||||
results = []
|
results = []
|
||||||
|
ltarget = target.lower() # :ref: lowercases its target automatically
|
||||||
for role in ('ref', 'option'): # do not try "keyword"
|
for role in ('ref', 'option'): # do not try "keyword"
|
||||||
res = self.resolve_xref(env, fromdocname, builder, role, target,
|
res = self.resolve_xref(env, fromdocname, builder, role,
|
||||||
|
ltarget if role == 'ref' else target,
|
||||||
node, contnode)
|
node, contnode)
|
||||||
if res:
|
if res:
|
||||||
results.append(('std:ref', res))
|
results.append(('std:ref', res))
|
||||||
# all others
|
# all others
|
||||||
for objtype in self.object_types:
|
for objtype in self.object_types:
|
||||||
if (objtype, target) in self.data['objects']:
|
key = (objtype, target)
|
||||||
docname, labelid = self.data['objects'][objtype, target]
|
if objtype == 'term':
|
||||||
|
key = (objtype, ltarget)
|
||||||
|
if key in self.data['objects']:
|
||||||
|
docname, labelid = self.data['objects'][key]
|
||||||
results.append(('std:' + self.role_for_objtype(objtype),
|
results.append(('std:' + self.role_for_objtype(objtype),
|
||||||
make_refnode(builder, fromdocname, docname,
|
make_refnode(builder, fromdocname, docname,
|
||||||
labelid, contnode)))
|
labelid, contnode)))
|
||||||
|
Loading…
Reference in New Issue
Block a user