diff --git a/sphinx/domains/c/_ast.py b/sphinx/domains/c/_ast.py index 89e76627b66..7d65930d153 100644 --- a/sphinx/domains/c/_ast.py +++ b/sphinx/domains/c/_ast.py @@ -98,6 +98,7 @@ def describe_signature( target_text = prefix + self.name pnode = addnodes.pending_xref( '', + refdoc=env.docname, refdomain='c', reftype='identifier', reftarget=target_text, diff --git a/sphinx/domains/citation.py b/sphinx/domains/citation.py index da7fc6a3fdd..29e7484ec3e 100644 --- a/sphinx/domains/citation.py +++ b/sphinx/domains/citation.py @@ -160,6 +160,7 @@ def apply(self, **kwargs: Any) -> None: target = node.astext() ref = pending_xref( target, + refdoc=self.env.docname, refdomain='citation', reftype='ref', reftarget=target, diff --git a/sphinx/domains/cpp/_ast.py b/sphinx/domains/cpp/_ast.py index 90730196a2a..f289eef2d73 100644 --- a/sphinx/domains/cpp/_ast.py +++ b/sphinx/domains/cpp/_ast.py @@ -117,6 +117,7 @@ def describe_signature( target_text = prefix + self.name + templateArgs pnode = addnodes.pending_xref( '', + refdoc=env.docname, refdomain='cpp', reftype='identifier', reftarget=target_text, @@ -143,6 +144,7 @@ def describe_signature( target_text = 'operator""' + self.name pnode = addnodes.pending_xref( '', + refdoc=env.docname, refdomain='cpp', reftype='identifier', reftarget=target_text, @@ -1617,6 +1619,7 @@ def describe_signature( target_text = prefix + str(self) + templateArgs pnode = addnodes.pending_xref( '', + refdoc=env.docname, refdomain='cpp', reftype='identifier', reftarget=target_text, diff --git a/sphinx/domains/python/_annotations.py b/sphinx/domains/python/_annotations.py index f476ff22fd4..b6130397ea7 100644 --- a/sphinx/domains/python/_annotations.py +++ b/sphinx/domains/python/_annotations.py @@ -84,6 +84,7 @@ def type_to_xref( return pending_xref( '', *contnodes, + refdoc=env.docname, refdomain='py', reftype=reftype, reftarget=target,