GNU bug report logs -
#32089
RefTeX: Regexp for parsing labels in optional arguments
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 32089 in the body.
You can then email your comments to 32089 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-auctex <at> gnu.org
:
bug#32089
; Package
auctex
.
(Sat, 07 Jul 2018 21:25:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Arash Esbati <arash.esbati <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-auctex <at> gnu.org
.
(Sat, 07 Jul 2018 21:25:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Hi all,
please consider the following example:
--8<---------------cut here---------------start------------->8---
\documentclass{article}
\usepackage{listings}
\begin{document}
\begin{lstlisting}[
caption={Some caption},
label=lst:1]
Some code
\end{lstlisting}
\begin{lstlisting}[
caption={Some caption},
label=lst:2
]
Some code
\end{lstlisting}
\begin{lstlisting}[
caption = {Some caption},
label = lst:3 ]
Some code
\end{lstlisting}
\ref{lst:1}, \ref{lst:2
}, \ref{lst:3 }
\ref{lst:1}, \ref{lst:2}, \ref{lst:3}
\end{document}
--8<---------------cut here---------------end--------------->8---
With RefTeX active, it fails to parse the labels defined in optional
arguments correctly (see the first set of \ref commands). It is due to
the regex defined in `reftex-label-regexps' in `reftex-vars.el' which
expects one of ],} directly after the label. With the following patch,
it parses the labels correctly:
--8<---------------cut here---------------start------------->8---
diff --git a/lisp/textmodes/reftex-vars.el b/lisp/textmodes/reftex-vars.el
index 11dbb8d..66d800d 100644
--- a/lisp/textmodes/reftex-vars.el
+++ b/lisp/textmodes/reftex-vars.el
@@ -895,7 +895,7 @@ DOWNCASE t: Downcase words before using them."
"\\\\label{\\(?1:[^}]*\\)}"
;; keyvals [..., label = {foo}, ...] forms used by ctable,
;; listings, minted, ...
- "\\[[^][]\\{0,2000\\}\\<label[[:space:]]*=[[:space:]]*{?\\(?1:[^],}]+\\)}?")
+ "\\[[^][]\\{0,2000\\}\\<label[[:space:]]*=[[:space:]]*{?\\(?1:[^], \t\n\r%}]+\\)}?")
"List of regexps matching \\label definitions.
The default value matches usual \\label{...} definitions and
keyval style [..., label = {...}, ...] label definitions. It is
--8<---------------cut here---------------end--------------->8---
Any suggestion if I'm missing a character? My next step would be to add
the same regexp to `LaTeX-auto-label-regexp-list' in order to make
AUCTeX also capable of this feature. Any comments welcome.
Best, Arash
Reply sent
to
Arash Esbati <arash <at> gnu.org>
:
You have taken responsibility.
(Tue, 30 Apr 2019 22:03:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Arash Esbati <arash.esbati <at> gmail.com>
:
bug acknowledged by developer.
(Tue, 30 Apr 2019 22:03:02 GMT)
Full text and
rfc822 format available.
Message #10 received at 32089-close <at> debbugs.gnu.org (full text, mbox):
> It is due to the regex defined in `reftex-label-regexps' in
> `reftex-vars.el' which expects one of ],} directly after the label.
> With the following patch, it parses the labels correctly:
>
> --8<---------------cut here---------------start------------->8---
> diff --git a/lisp/textmodes/reftex-vars.el b/lisp/textmodes/reftex-vars.el
> index 11dbb8d..66d800d 100644
> --- a/lisp/textmodes/reftex-vars.el
> +++ b/lisp/textmodes/reftex-vars.el
> @@ -895,7 +895,7 @@ DOWNCASE t: Downcase words before using them."
> "\\\\label{\\(?1:[^}]*\\)}"
> ;; keyvals [..., label = {foo}, ...] forms used by ctable,
> ;; listings, minted, ...
> - "\\[[^][]\\{0,2000\\}\\<label[[:space:]]*=[[:space:]]*{?\\(?1:[^],}]+\\)}?")
> + "\\[[^][]\\{0,2000\\}\\<label[[:space:]]*=[[:space:]]*{?\\(?1:[^], \t\n\r%}]+\\)}?")
> "List of regexps matching \\label definitions.
> The default value matches usual \\label{...} definitions and
> keyval style [..., label = {...}, ...] label definitions. It is
> --8<---------------cut here---------------end--------------->8---
>
> Any suggestion if I'm missing a character? My next step would be to add
> the same regexp to `LaTeX-auto-label-regexp-list' in order to make
> AUCTeX also capable of this feature. Any comments welcome.
Following up myself, I'm closing this one as it is fixed in Emacs:
http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=b18cecf89bbb9d2d057f86e8fa1a1f1417d887b6
http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=eed512814c45cd5859a1814bf07ad18ea3fa3b1a
Best, Arash
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Wed, 29 May 2019 11:24:05 GMT)
Full text and
rfc822 format available.
This bug report was last modified 6 years and 17 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.