summaryrefslogtreecommitdiff
path: root/sphinx/domains/std.py
diff options
context:
space:
mode:
Diffstat (limited to 'sphinx/domains/std.py')
-rw-r--r--sphinx/domains/std.py12
1 files changed, 5 insertions, 7 deletions
diff --git a/sphinx/domains/std.py b/sphinx/domains/std.py
index 98dda4918..705cf175c 100644
--- a/sphinx/domains/std.py
+++ b/sphinx/domains/std.py
@@ -612,15 +612,13 @@ class StandardDomain(Domain):
sectname = self.get_numfig_title(node)
if not sectname:
continue
- elif node.traverse(addnodes.toctree):
- n = node.traverse(addnodes.toctree)[0]
- if n.get('caption'):
- sectname = n['caption']
+ else:
+ toctree = next(iter(node.traverse(addnodes.toctree)), None)
+ if toctree and toctree.get('caption'):
+ sectname = toctree.get('caption')
else:
+ # anonymous-only labels
continue
- else:
- # anonymous-only labels
- continue
self.labels[name] = docname, labelid, sectname
def add_object(self, objtype: str, name: str, docname: str, labelid: str) -> None: