diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 69ce4f47b..37953d6b6 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -3,6 +3,12 @@ Change Log Inspired by `Keepachangelog.com `__. +- Unreleased + + - Fix internal ``NodeFinder`` visitor for when non-Docutils nodes are + present in the content of a directive. + `#812 `__ + - 2022-02-14 - **Breathe v4.33.1** - Avoid warning about multiple graphviz directives. diff --git a/breathe/renderer/sphinxrenderer.py b/breathe/renderer/sphinxrenderer.py index 65a2d0d15..9c15cf72b 100644 --- a/breathe/renderer/sphinxrenderer.py +++ b/breathe/renderer/sphinxrenderer.py @@ -359,6 +359,12 @@ def visit_desc_signature_line(self, node): def visit_desc_content(self, node): self.content = node + # The SparseNodeVisitor seems to not actually be universally Sparse, + # but only for nodes known to Docutils. + # So if there are extensions with new node types in the content, + # then the visitation will fail. + # We anyway don't need to visit the actual content, so skip it. + raise nodes.SkipChildren def intersperse(iterable, delimiter):