[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#19281: 11.86; environment update fails when environment name contain
From: |
Tassilo Horn |
Subject: |
bug#19281: 11.86; environment update fails when environment name contains \ |
Date: |
Tue, 09 Dec 2014 10:34:56 +0100 |
User-agent: |
Gnus/5.130012 (Ma Gnus v0.12) Emacs/25.0.50 (gnu/linux) |
Mosè Giordano <address@hidden> writes:
>> I tried to update an environment in a latex document via C-u C-c C-e
>> or LaTeX-modify-environment but mistyped the name as 'theorem\'. I
>> tried to correct my error via C-u C-c C-e again but I got a search
>> failed message:
>>
>> LaTeX-modify-environment: Search failed: "\\\\end{ *\\([a-zA-Z*]*\\)}"
>
> I can confirm the bug you reported. Indeed, `\begin' and `\end'
> accept as valid environment names macros (not your case though) and
> macros with arguments,
Oh, indeed.
> while `LaTeX-modify-environment' searches for names matching
> "[a-zA-Z*]". So, I'm not sure how to fix it: Just add `TeX-esc' to
> the regexp?
That and TeX-grop, TeX-grcl, and [] for optional args, no?
> Or matching everything between the opening and the closing brace
> (allowing at least one level of braces)?
Either that, or we could also rely on syntax tables. I.e., since
`LaTeX-find-matching-end' already brings us to the end of the
environment name,
(let ((end (point)))
(forward-char)
(backward-sexp)
(forward-char)
(buffer-substring-no-properties (point) end))
gives us the environment name.
Bye,
Tassilo