Subject: Re: bug#2881: 23.0.91; inconsistent regexps with "explicitly numbered group"

From: Joe Corneli <[email-masked]>
Date: Fri, 3 Apr 2009 16:41:39 -0400

What about the comparison between Form 4 and Form 5,
which seems to not only go against the description of `\|'
you quoted, but to contain another internal inconsistency
(whether or not the final `}' is matched)?

On Fri, Apr 3, 2009 at 3:55 PM, Andreas Schwab <[email-masked]> wrote:
> Joe Corneli <[email-masked]> writes:
>
>> Please execute the following forms with C-x C-e.  Form 1
>> and Form 3 return `t' (Yes, we are looking at the
>> indicated regular expression), whereas Form 2 returns
>> `nil' (even though from the Elisp reference page "34.3.1.3
>> Backslash Constructs in Regular Expressions", it appears
>> that this form ought to return `t' like the others).
>
>     `\|' applies to the largest possible surrounding expressions.
>     Only a surrounding `\( ... \)' grouping can limit the grouping
>     power of `\|'.
>
>> (let ((possible-environments
>>        "\\(?1:lisp\\)\\|\\(?1:idea\\)\\|\\(?1:common\\)") )
>>       (looking-at
>>             (concat "\n*?\\\\begin{"
>>                     possible-environments
>>                     "}")))
>
>
> The three alternatives of this regexp are "\n*?\\\\begin{\\(?1:lisp\\)",
> "\\(?1:idea\\)" and "\\(?1:common\\)".
>
> Andreas.
>
> --
> Andreas Schwab, [email-masked]
> GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
> "And now for something completely different."
>