Subject: 23.0.91; inconsistent regexps with "explicitly numbered group"
From: Joe Corneli <[email-masked]>
To: [email-masked]
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...