From d5568fc36404343df0a4655a0747ecffacfaf35c Mon Sep 17 00:00:00 2001 From: Dmitry Shachnev Date: Wed, 15 Jun 2022 22:27:58 +0300 Subject: [PATCH] Fix #15956: error when building with Sphinx 4.5 Unfortunately it breaks building with older versions. The only way to fix this issue for all versions is to stop monkey-patching and forward the fix to Sphinx upstream. --- doc/tools/coqrst/coqdomain.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/doc/tools/coqrst/coqdomain.py b/doc/tools/coqrst/coqdomain.py index 468b6b648dd8c..58e36b361262b 100644 --- a/doc/tools/coqrst/coqdomain.py +++ b/doc/tools/coqrst/coqdomain.py @@ -37,7 +37,7 @@ from sphinx.util.docutils import ReferenceRole from sphinx.util.logging import getLogger, get_node_location from sphinx.util.nodes import set_source_info, set_role_source_info, make_refnode -from sphinx.writers.latex import LaTeXTranslator +from sphinx.writers.latex import CR, LaTeXTranslator from . import coqdoc from .repl import ansicolors @@ -54,10 +54,13 @@ def visit_desc_signature(self, node): for id in node['ids']: hyper += self.hypertarget(id) self.body.append(hyper) + if not self.in_desc_signature: + self.in_desc_signature = True + self.body.append(CR + r'\pysigstartsignatures') if not node.get('is_multiline'): self._visit_signature_line(node) else: - self.body.append('%\n\\pysigstartmultiline\n') + self.body.append(CR + r'\pysigstartmultiline') LaTeXTranslator.visit_desc_signature = visit_desc_signature PARSE_ERROR = """{}:{} Parse error in notation!