Subject: Re: bug#32089: RefTeX: Regexp for parsing labels in optional arguments

From: Arash Esbati <[email-masked]>
Date: Wed, 01 May 2019 00:01:18 +0200

> 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