summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Lykke Andersen <Jakob@caput.dk>2021-11-09 09:18:50 +0100
committerJakob Lykke Andersen <Jakob@caput.dk>2021-11-09 09:18:50 +0100
commit3599f7d844322a52bc36903ed1fa5f9c4424e8b1 (patch)
tree4d284b2c2434c4a0f19a48036976ca1cc3a1065d
parent6c6cc8a6f50b18331cb818160d168d7bb9c03e55 (diff)
downloadsphinx-git-3599f7d844322a52bc36903ed1fa5f9c4424e8b1.tar.gz
Make fallback for changed get_signature_prefix()
Fixes sphinx-doc/sphinx#9832
-rw-r--r--sphinx/domains/python.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/sphinx/domains/python.py b/sphinx/domains/python.py
index fd6a78892..051da4480 100644
--- a/sphinx/domains/python.py
+++ b/sphinx/domains/python.py
@@ -495,7 +495,13 @@ class PyObject(ObjectDescription[Tuple[str, str]]):
sig_prefix = self.get_signature_prefix(sig)
if sig_prefix:
- signode += addnodes.desc_annotation(str(sig_prefix), '', *sig_prefix)
+ if type(sig_prefix) is str:
+ logger.warning("Python directive get_signature_prefix() returns a str ('{}')"
+ " instead of a list of nodes (changed in 4.3).".format(sig_prefix),
+ location=signode)
+ signode += addnodes.desc_annotation(sig_prefix, '', nodes.Text(sig_prefix, sig_prefix))
+ else:
+ signode += addnodes.desc_annotation(str(sig_prefix), '', *sig_prefix)
if prefix:
signode += addnodes.desc_addname(prefix, prefix)