GNU bug report logs - #73302
TeX-find-closing-brace and verbatim macros

Previous Next

Package: auctex;

Reported by: Paul Nelson <ultrono <at> gmail.com>

Date: Mon, 16 Sep 2024 16:13:02 UTC

Severity: normal

Done: Arash Esbati <arash <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #29 received at 73302 <at> debbugs.gnu.org (full text, mbox):

From: Paul Nelson <ultrono <at> gmail.com>
To: Ikumi Keita <ikumi <at> ikumi.que.jp>
Cc: Arash Esbati <arash <at> gnu.org>, 73302 <at> debbugs.gnu.org
Subject: Re: bug#73302: TeX-find-closing-brace and verbatim macros
Date: Fri, 20 Sep 2024 06:40:18 +0200
[Message part 1 (text/plain, inline)]
Hi again,

I noticed just now that my patch can break the folding of
\end{verbatim} environments when called via TeX-fold-region.  Steps to
reproduce:

1. After loading AUCTeX and tex-fold, evaluate

   (add-to-list 'TeX-fold-macro-spec-list '(identity ("end")))

2. Create a LaTeX file containing

\begin{verbatim}
blah
\end{verbatim}

3. Make the region contain the line "\end{verbatim}", but none of the
line "\begin{verbatim}"

4. C-c C-o C-r (TeX-fold-region).

This results in [Error: No content or function found], resulting from
a failure for TeX-fold-macro-nth-arg to recover the first argument to
\end{verbatim}.


One can trace the issue to the following discrepancy:

a. With point on the "{" in "\end{verbatim}", (TeX-verbatim-p) returns
nil (as expected).

b. If we repeat (a) after narrowing to a region that contains the line
"\end{verbatim}" but none of the line "\begin{verbatim}", then it
instead returns t.


As a fix, we could either:

(i) Do (save-restriction (widen) ...) in TeX-fold-macro-nth-arg before
(TeX-verbatim-p).

(ii) Do (save-restriction (widen) ...) in LaTeX-verbatim-p.


The advantage of (ii) is that it arguably fixes the root cause rather
than just patching it at the source.  The disadvantage is that I don't
know off hand whether this would affect other calls to
LaTeX-verbatim-p in an undesired way.  I lean in favor of (i) for now,
and have updated my patch accordingly, but would welcome other
feedback.

Paul
[0001-Fix-folding-of-verbatim-macros.patch (application/octet-stream, attachment)]

This bug report was last modified 231 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.