GNU bug report logs - #2881
23.0.91; inconsistent regexps with "explicitly numbered group"

Previous Next

Package: emacs;

Reported by: Joe Corneli <holtzermann17 <at> gmail.com>

Date: Fri, 3 Apr 2009 19:20:03 UTC

Severity: normal

Done: Stefan Monnier <monnier <at> IRO.UMontreal.CA>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (Emacs bug Tracking System)
To: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
Subject: bug#2881: marked as done (23.0.91; inconsistent regexps with 
 "explicitly numbered group")
Date: Fri, 03 Apr 2009 21:50:03 +0000
[Message part 1 (text/plain, inline)]
Your message dated Fri, 03 Apr 2009 17:43:37 -0400
with message-id <jwvocvdct45.fsf-monnier+emacsbugreports <at> 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 help-debbugs <at> gnu.org
immediately.)


-- 
2881: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=2881
Emacs Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Joe Corneli <holtzermann17 <at> gmail.com>
To: emacs-pretest-bug <at> gnu.org
Subject: 23.0.91; inconsistent regexps with "explicitly numbered group"
Date: Fri, 3 Apr 2009 15:15:01 -0400
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...


[Message part 3 (message/rfc822, inline)]
From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
To: Joe Corneli <holtzermann17 <at> gmail.com>
Cc: 2881-done <at> debbugs.gnu.org
Subject: Re: bug#2881: 23.0.91; inconsistent regexps with "explicitly numbered  group"
Date: Fri, 03 Apr 2009 17:43:37 -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)?

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


This bug report was last modified 16 years and 54 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.