Skip to content

Commit 581433b

Browse files
committed
Fix permalink for multiline Python signatures
1 parent 8d6dfba commit 581433b

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

sphinx/domains/python.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -544,6 +544,8 @@ def handle_signature(self, sig: str, signode: desc_signature) -> tuple[str, str]
544544
and len(sig) > max_len
545545
)
546546
signode['is_multiline'] = multiline
547+
if multiline:
548+
signode['add_permalink'] = True
547549

548550
sig_prefix = self.get_signature_prefix(sig)
549551
if sig_prefix:

sphinx/writers/html5.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ def visit_desc_signature(self, node: Element) -> None:
9595

9696
def depart_desc_signature(self, node: Element) -> None:
9797
self.protect_literal_text -= 1
98-
if not node.get('is_multiline'):
98+
if not node.get('is_multiline') or node.get('add_permalink'):
9999
self.add_permalink_ref(node, _('Permalink to this definition'))
100100
self.body.append('</dt>\n')
101101

0 commit comments

Comments
 (0)