unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#2881: 23.0.91; inconsistent regexps with "explicitly numbered group"
@ 2009-04-03 19:15 ` Joe Corneli
  2009-04-03 19:55   ` Andreas Schwab
  2009-04-03 21:50   ` bug#2881: marked as done (23.0.91; inconsistent regexps with "explicitly numbered group") Emacs bug Tracking System
  0 siblings, 2 replies; 6+ messages in thread
From: Joe Corneli @ 2009-04-03 19:15 UTC (permalink / raw)
  To: emacs-pretest-bug

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).

For comparison's sake, Form 4 and Form 5 show different
inconsistent behavior when using `search-forward-regexp'.
Form 4 only finds part of the match, whereas Form 5 finds
the full match.

Form #1.

(let ((possible-environments
       "\\(1?:lisp\\|idea\\|common\\)"))
  (looking-at
            (concat "\n*?\\\\begin{"
                    possible-environments
                    "}")))

\begin{idea}

Form #2.

(let ((possible-environments
       "\\(?1:lisp\\)\\|\\(?1:idea\\)\\|\\(?1:common\\)") )
      (looking-at
            (concat "\n*?\\\\begin{"
                    possible-environments
                    "}")))

\begin{idea}

Form #3.

(let ((possible-environments
       "\\(?1:lisp\\)\\|\\(?1:idea\\)\\|\\(?1:common\\)") )
      (looking-at
            (concat "\n*?\\\\begin{"
                    possible-environments
                    "}")))

\begin{lisp}

Form #4.

(let ((possible-environments
       "\\(?1:lisp\\)\\|\\(?1:idea\\)\\|\\(?1:common\\)") )
      (search-forward-regexp
            (concat "\n*?\\\\begin{"
                    possible-environments
                    "}")))

\begin{lisp}

Form #5.

(let ((possible-environments
       "\\(?1:lisp\\)\\|\\(?1:idea\\)\\|\\(?1:common\\)") )
      (search-forward-regexp
            (concat "\n*?\\\\begin{"
                    possible-environments
                    "}")))

\begin{common}


If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
/Users/planetmath/emacs/etc/DEBUG for instructions.


In GNU Emacs 23.0.91.1 (i386-apple-darwin8.11.1, GTK+ Version 2.14.7)
 of 2009-03-31 on planet-maths-computer.local
Windowing system distributor `The XFree86 Project, Inc', version 11.0.40400000
configured using `configure  '--infodir=${prefix}/share/info'
'--mandir=${prefix}/share/man' '--libexecdir=${prefix}/lib''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: nil
  value of $XMODIFIERS: nil
  locale-coding-system: nil
  default-enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  shell-dirtrack-mode: t
  show-paren-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: 1

Recent input:
M-\ <down> <tab> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> C-SPC <C-right> M-w M-> <return>
<tab> C-y <tab> ) <return> <return> \ \ <backspace>
b e g j <backspace> i n { } <left> i d e a C-e <up>
<up> C-e C-x C-e <down> <down> <left> C-e M-< <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> M-< C-x C-f m <backspace> a r
x a n <tab> - <tab> m <tab> <return> g <down> <up>
<down> <return> C-s i m p o r t - c o d C-s C-s <down>
<down> C-a C-e C-SPC C-a <up> M-w C-x b * s c <tab>
<return> M-> <return> <return> C-y <C-left> <left>
<left> <left> <right> <backspace> <tab> <down> <up>
<down> M-f M-f M-f M-b <left> <left> <left> <left>
<left> <left> <left> C-SPC <C-right> <C-right> M-w
C-y M-b M-b M-f M-f <M-backspace> c o m m o n <up>
<up> <up> <up> <down> C-SPC C-a <up> <up> <up> <up>
<up> M-w M-> C-y <up> <up> C-e ) <up> <up> <up> <up>
C-e <up> C-e <up> <tab> C-e <C-left> <left> <backspace>
<return> <tab> <up> C-e ) <down> M-> <up> <up> C-e
<backspace> C-x C-e <down> <down> C-SPC C-a <up> <up>
<up> <up> <up> <up> <up> M-w M-> <return> <return>
C-y <up> <up> <up> <up> <down> <up> <down> <down> <down>
<down> <left> <M-backspace> l i s p <up> <up> C-e C-x
C-e <down> <down> C-SPC C-a <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> M-w M-x
r e p <tab> o r <tab> <return>

Recent messages:
t
Mark set [2 times]
Making completion list...
Mark saved where search started
Mark set [9 times]
nil
Mark set [3 times]
t
Mark set
Making completion list...






^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#2881: 23.0.91; inconsistent regexps with "explicitly numbered group"
  2009-04-03 19:15 ` bug#2881: 23.0.91; inconsistent regexps with "explicitly numbered group" Joe Corneli
@ 2009-04-03 19:55   ` Andreas Schwab
  2009-04-03 20:41     ` Joe Corneli
  2009-04-03 21:32     ` Andreas Schwab
  2009-04-03 21:50   ` bug#2881: marked as done (23.0.91; inconsistent regexps with "explicitly numbered group") Emacs bug Tracking System
  1 sibling, 2 replies; 6+ messages in thread
From: Andreas Schwab @ 2009-04-03 19:55 UTC (permalink / raw)
  To: Joe Corneli; +Cc: emacs-pretest-bug, 2881

Joe Corneli <holtzermann17@gmail.com> 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, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."






^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#2881: 23.0.91; inconsistent regexps with "explicitly numbered  group"
  2009-04-03 19:55   ` Andreas Schwab
@ 2009-04-03 20:41     ` Joe Corneli
  2009-04-03 21:32     ` Andreas Schwab
  1 sibling, 0 replies; 6+ messages in thread
From: Joe Corneli @ 2009-04-03 20:41 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: emacs-pretest-bug, 2881

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 <schwab@linux-m68k.org> wrote:
> Joe Corneli <holtzermann17@gmail.com> 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, schwab@linux-m68k.org
> GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
> "And now for something completely different."
>






^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#2881: 23.0.91; inconsistent regexps with "explicitly numbered group"
  2009-04-03 19:55   ` Andreas Schwab
  2009-04-03 20:41     ` Joe Corneli
@ 2009-04-03 21:32     ` Andreas Schwab
  2009-04-03 21:38       ` Joe Corneli
  1 sibling, 1 reply; 6+ messages in thread
From: Andreas Schwab @ 2009-04-03 21:32 UTC (permalink / raw)
  To: 2881; +Cc: Joe Corneli, emacs-pretest-bug

Andreas Schwab <schwab@linux-m68k.org> writes:

> Joe Corneli <holtzermann17@gmail.com> 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\\)".

The last one is "\\(?1:common\\)}", of course.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."






^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#2881: 23.0.91; inconsistent regexps with "explicitly numbered  group"
  2009-04-03 21:32     ` Andreas Schwab
@ 2009-04-03 21:38       ` Joe Corneli
  0 siblings, 0 replies; 6+ messages in thread
From: Joe Corneli @ 2009-04-03 21:38 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: emacs-pretest-bug, 2881

Oh, OK, I see! Never mind!

On Fri, Apr 3, 2009 at 5:32 PM, Andreas Schwab <schwab@linux-m68k.org> wrote:
> Andreas Schwab <schwab@linux-m68k.org> writes:
>
>> Joe Corneli <holtzermann17@gmail.com> 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\\)".
>
> The last one is "\\(?1:common\\)}", of course.
>
> Andreas.
>
> --
> Andreas Schwab, schwab@linux-m68k.org
> GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
> "And now for something completely different."
>






^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#2881: marked as done (23.0.91; inconsistent regexps with  "explicitly numbered group")
  2009-04-03 19:15 ` bug#2881: 23.0.91; inconsistent regexps with "explicitly numbered group" Joe Corneli
  2009-04-03 19:55   ` Andreas Schwab
@ 2009-04-03 21:50   ` Emacs bug Tracking System
  1 sibling, 0 replies; 6+ messages in thread
From: Emacs bug Tracking System @ 2009-04-03 21:50 UTC (permalink / raw)
  To: Stefan Monnier

[-- Attachment #1: Type: text/plain, Size: 942 bytes --]


Your message dated Fri, 03 Apr 2009 17:43:37 -0400
with message-id <jwvocvdct45.fsf-monnier+emacsbugreports@gnu.org>
and subject line Re: bug#2881: 23.0.91; inconsistent regexps with "explicitly numbered  group"
has caused the Emacs bug report #2881,
regarding 23.0.91; inconsistent regexps with "explicitly numbered group"
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@emacsbugs.donarmstrong.com
immediately.)


-- 
2881: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=2881
Emacs Bug Tracking System
Contact owner@emacsbugs.donarmstrong.com with problems

[-- Attachment #2: Type: message/rfc822, Size: 7627 bytes --]

From: Joe Corneli <holtzermann17@gmail.com>
To: emacs-pretest-bug@gnu.org
Subject: 23.0.91; inconsistent regexps with "explicitly numbered group"
Date: Fri, 3 Apr 2009 15:15:01 -0400
Message-ID: <a9670630904031215w611793edw73da994f48bf607b@mail.gmail.com>

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).

For comparison's sake, Form 4 and Form 5 show different
inconsistent behavior when using `search-forward-regexp'.
Form 4 only finds part of the match, whereas Form 5 finds
the full match.

Form #1.

(let ((possible-environments
       "\\(1?:lisp\\|idea\\|common\\)"))
  (looking-at
            (concat "\n*?\\\\begin{"
                    possible-environments
                    "}")))

\begin{idea}

Form #2.

(let ((possible-environments
       "\\(?1:lisp\\)\\|\\(?1:idea\\)\\|\\(?1:common\\)") )
      (looking-at
            (concat "\n*?\\\\begin{"
                    possible-environments
                    "}")))

\begin{idea}

Form #3.

(let ((possible-environments
       "\\(?1:lisp\\)\\|\\(?1:idea\\)\\|\\(?1:common\\)") )
      (looking-at
            (concat "\n*?\\\\begin{"
                    possible-environments
                    "}")))

\begin{lisp}

Form #4.

(let ((possible-environments
       "\\(?1:lisp\\)\\|\\(?1:idea\\)\\|\\(?1:common\\)") )
      (search-forward-regexp
            (concat "\n*?\\\\begin{"
                    possible-environments
                    "}")))

\begin{lisp}

Form #5.

(let ((possible-environments
       "\\(?1:lisp\\)\\|\\(?1:idea\\)\\|\\(?1:common\\)") )
      (search-forward-regexp
            (concat "\n*?\\\\begin{"
                    possible-environments
                    "}")))

\begin{common}


If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
/Users/planetmath/emacs/etc/DEBUG for instructions.


In GNU Emacs 23.0.91.1 (i386-apple-darwin8.11.1, GTK+ Version 2.14.7)
 of 2009-03-31 on planet-maths-computer.local
Windowing system distributor `The XFree86 Project, Inc', version 11.0.40400000
configured using `configure  '--infodir=${prefix}/share/info'
'--mandir=${prefix}/share/man' '--libexecdir=${prefix}/lib''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: nil
  value of $XMODIFIERS: nil
  locale-coding-system: nil
  default-enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  shell-dirtrack-mode: t
  show-paren-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: 1

Recent input:
M-\ <down> <tab> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> C-SPC <C-right> M-w M-> <return>
<tab> C-y <tab> ) <return> <return> \ \ <backspace>
b e g j <backspace> i n { } <left> i d e a C-e <up>
<up> C-e C-x C-e <down> <down> <left> C-e M-< <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> M-< C-x C-f m <backspace> a r
x a n <tab> - <tab> m <tab> <return> g <down> <up>
<down> <return> C-s i m p o r t - c o d C-s C-s <down>
<down> C-a C-e C-SPC C-a <up> M-w C-x b * s c <tab>
<return> M-> <return> <return> C-y <C-left> <left>
<left> <left> <right> <backspace> <tab> <down> <up>
<down> M-f M-f M-f M-b <left> <left> <left> <left>
<left> <left> <left> C-SPC <C-right> <C-right> M-w
C-y M-b M-b M-f M-f <M-backspace> c o m m o n <up>
<up> <up> <up> <down> C-SPC C-a <up> <up> <up> <up>
<up> M-w M-> C-y <up> <up> C-e ) <up> <up> <up> <up>
C-e <up> C-e <up> <tab> C-e <C-left> <left> <backspace>
<return> <tab> <up> C-e ) <down> M-> <up> <up> C-e
<backspace> C-x C-e <down> <down> C-SPC C-a <up> <up>
<up> <up> <up> <up> <up> M-w M-> <return> <return>
C-y <up> <up> <up> <up> <down> <up> <down> <down> <down>
<down> <left> <M-backspace> l i s p <up> <up> C-e C-x
C-e <down> <down> C-SPC C-a <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> M-w M-x
r e p <tab> o r <tab> <return>

Recent messages:
t
Mark set [2 times]
Making completion list...
Mark saved where search started
Mark set [9 times]
nil
Mark set [3 times]
t
Mark set
Making completion list...



[-- Attachment #3: Type: message/rfc822, Size: 2248 bytes --]

From: Stefan Monnier <monnier@IRO.UMontreal.CA>
To: Joe Corneli <holtzermann17@gmail.com>
Cc: 2881-done@emacsbugs.donarmstrong.com
Subject: Re: bug#2881: 23.0.91; inconsistent regexps with "explicitly numbered  group"
Date: Fri, 03 Apr 2009 17:43:37 -0400
Message-ID: <jwvocvdct45.fsf-monnier+emacsbugreports@gnu.org>

> 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)?

Still quite expected.  Your regexp is:

  "\n*?\\\\begin{\\(?1:lisp\\)\\|\\(?1:idea\\)\\|\\(?1:common\\)}"
i.e.
  "\n*?\\\\begin{\\(?1:lisp\\)" or "\\(?1:idea\\)" or "\\(?1:common\\)}"

Clearly, the "lisp" alternative doesn't match a closing }


        Stefan


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-04-03 21:50 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <jwvocvdct45.fsf-monnier+emacsbugreports@gnu.org>
2009-04-03 19:15 ` bug#2881: 23.0.91; inconsistent regexps with "explicitly numbered group" Joe Corneli
2009-04-03 19:55   ` Andreas Schwab
2009-04-03 20:41     ` Joe Corneli
2009-04-03 21:32     ` Andreas Schwab
2009-04-03 21:38       ` Joe Corneli
2009-04-03 21:50   ` bug#2881: marked as done (23.0.91; inconsistent regexps with "explicitly numbered group") Emacs bug Tracking System

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).