From 316c6f7e5d3b38413dcd14c62efc66ae530ff5bf Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sun, 19 May 2024 14:13:44 -0700 Subject: [PATCH] src/sage/doctest/sources.py: Fix # 32-bit / # 64-bit tag in block-scoped doctest tags --- src/sage/doctest/sources.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/sage/doctest/sources.py b/src/sage/doctest/sources.py index eff2a853e2b..327fc0e4236 100644 --- a/src/sage/doctest/sources.py +++ b/src/sage/doctest/sources.py @@ -65,7 +65,7 @@ find_prompt = re.compile(r"^(\s*)(>>>|sage:)(.*)") # For testing that enough doctests are created -sagestart = re.compile(r"^\s*(>>> |sage: )\s*[^#\s]") +sagestart = re.compile(r"^(\s*(>>> |sage: ))\s*[^#\s]") untested = re.compile("(not implemented|not tested)") # For parsing a PEP 0263 encoding declaration @@ -331,9 +331,11 @@ def _create_doctests(self, namespace, tab_okay=None): continue else: line = line[:bitness.start()] + "\n" - if self.line_shift and sagestart.match(line): - # We insert blank lines to make up for the removed lines - doc.extend(["\n"]*self.line_shift) + if self.line_shift and (m := sagestart.match(line)): + # We insert empty doctest lines to make up for the removed lines + indent_and_prompt = m.group(1) + doc.extend([indent_and_prompt + "# inserted to compensate for removed conditional doctest output\n"] + * self.line_shift) self.line_shift = 0 doc.append(line) unparsed_doc = True