From 5a24fec8de10323de7b46f4d3606765ffc246dd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20B?= <2589111+jfbu@users.noreply.github.com> Date: Sat, 25 Jun 2022 22:15:04 +0200 Subject: [PATCH] Fix build failure for Docutils 0.18.0 (#10597) --- CHANGES | 2 ++ sphinx/util/docutils.py | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 547533a9bf1..99a2ab9bfb1 100644 --- a/CHANGES +++ b/CHANGES @@ -17,6 +17,8 @@ Bugs fixed ---------- * #10594: HTML Theme: field term colons are doubled if using Docutils 0.18+ +* #10596: Build failure if Docutils version is 0.18 (not 0.18.1) due + to missing ``Node.findall()`` Testing -------- diff --git a/sphinx/util/docutils.py b/sphinx/util/docutils.py index e1fd780963b..b2944ec28aa 100644 --- a/sphinx/util/docutils.py +++ b/sphinx/util/docutils.py @@ -550,9 +550,9 @@ def unknown_visit(self, node: Node) -> None: # Node.findall() is a new interface to traverse a doctree since docutils-0.18. -# This applies a patch docutils-0.17 or older to be available Node.findall() +# This applies a patch to docutils up to 0.18 inclusive to provide Node.findall() # method to use it from our codebase. -if docutils.__version_info__ < (0, 18): +if docutils.__version_info__ <= (0, 18): def findall(self, *args, **kwargs): return iter(self.traverse(*args, **kwargs))