They don't behave like regular groups, they're non-greedy or
something. The documentation implies that the only difference is
whether the match is stored for back reference. This is not true in
21.2.41 "Polyhymnia":
$ xemacs -nw -no-autoloads
;; This buffer is for notes you don't want to save, and for Lisp evaluation.
;; If you want to create a file, first visit that file with C-x C-f,
;; then enter the text in that file's own buffer.
(let ((string "re: "))
(string-match "\\(\\(re:[\t ]*\\)*\\)\\([^ \t].*\\)?$" string)
(princ (format "match 1 is `%s', match 3 is `%s'\n\n"
(match-string 1 string)
(match-string 3 string)))
(string-match "\\(\\(?:re:[\t ]*\\)*\\)\\([^ \t].*\\)?$" string)
(princ (format "match 1 is `%s', match 2 is `%s'\n\n"
(match-string 1 string)
(match-string 2 string)))
nil)
match 1 is `re: ', match 3 is `nil'
match 1 is `', match 2 is `re: '
nil
Oops.
uname -a: Linux tleepslib 2.2.18 #1 SMP Tue Dec 26 11:36:10 JST 2000 i686 unknown
/coda/Projects/XEmacs/21.2-HEAD/configure
'--srcdir=/coda/Projects/XEmacs/21.2-HEAD' '--with-widgets=athena'
'--with-athena=3d' '--with-dialogs=athena' '--with-sound=none,nas'
'--with-mule' '--with-xim=xlib' '--with-xfs=no'
'--use-union-type' '--pdump'
XEmacs 21.2-b41 "Polyhymnia" configured for `i686-pc-linux'.
Compilation / Installation:
Source code location: /coda/Projects/XEmacs/21.2-HEAD
Installation prefix: /usr/local
Operating system description file: `s/linux.h'
Machine description file: `m/intel386.h'
Compiler: gcc -g -O3 -Wall -Wno-switch -Wpointer-arith -Winline
-Wmissing-prototypes -Wshadow
Relocating allocator for buffers: no
GNU version of malloc: yes
- Using Doug Lea's new malloc from the GNU C Library.
Window System:
Compiling in support for the X window system:
- X Windows headers location: /usr/X11R6/include
- X Windows libraries location: /usr/X11R6/lib
- Handling WM_COMMAND properly.
Compiling in support for the Athena widget set:
- Athena headers location: X11/Xaw3d
- Athena library to link: Xaw3d
Using Lucid menubars.
Using Lucid scrollbars.
Using Athena dialog boxes.
Using Athena native widgets.
TTY:
Compiling in support for ncurses.
Images:
Compiling in support for GIF images (builtin).
Compiling in support for XPM images.
Compiling in support for PNG images.
Compiling in support for JPEG images.
Compiling in support for TIFF images.
Sound:
Compiling in support for NAS (network audio system).
Databases:
Compiling in support for Berkeley database.
Compiling in support for PostgreSQL.
- Using PostgreSQL header file: postgresql/libpq-fe.h
- Using PostgreSQL V7 bindings.
Internationalization:
Compiling in support for Mule (multi-lingual Emacs).
Compiling in support for XIM (X11R5+ I18N input method).
- Using raw Xlib to provide XIM support.
Compiling in support for Canna on Mule.
Compiling in support for the WNN input method on Mule.
Mail:
Compiling in support for "dot-locking" mail spool file locking method.
Other Features:
Compiling in support for dynamic shared object modules.
Using the union type for Lisp_Objects.
Using the new portable dumper.
Compiling in support for extra debugging code.
WARNING: ---------------------------------------------------------
WARNING: Compiling in support for runtime error checking.
WARNING: XEmacs will run noticeably more slowly as a result.
WARNING: Error checking is on by default for XEmacs beta releases.
WARNING: ---------------------------------------------------------
--
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Institute of Policy and Planning Sciences Tel/fax: +81 (298) 53-5091
_________________ _________________ _________________ _________________
What are those straight lines for? "XEmacs rules."