I cannot quite keep up with reading my XEmacs e-mail at
the moment, so I am no use for the day to day stuff.
In order to still do some useful things, I decided to have
a go at syncing Stefan Monnier's regexp's changes.
I am about halfway ("default:" case of regexp_compile).
Here is what I am doing:
/* Synched up with: FSF 21.0 */
/* Changes made for XEmacs/Sync policy:
Stefan Monnier has done substantial work on the FSF 21.0
regexp implementation, making it compatible with the XEmacs
version by also implementing shy groups and minimal
matching. During doing so he discovered a lot problems
in corner cases leading to incorrect matching and infinite
loops. Although some have since been fixed in the XEmacs version
this sync replaces our algorithm with his. In addition
I have tried to reduce gratuitous differences to reduce
the pain of syncing in the future.
In case of algorithmic differences:
- Use sm's version
- except in the handling of charset range table where the
XEmacs implementation (using a separate bytecode &
rangetables from rangetab.c) has been favored over
sm's private regexp rangetables.
In case of notational differences:
- Preferably removed if gratuitous (favoring sm's).
buf_end vs b is the major remaining offender.
- The XEmacs specific MULE coding standards,
#ifdef MULE, INC_CHARPTR etc have been kept
- In case of of K&R, LIBC etc etc compatability
cruft on the FSF side, the XEmacs status quo (strict
use of ISO C prototypes, REGISTER) has been kept.
- To reduce the size of the XEmacs diff I have not synced up
whitespace. This would be a worthwile excercise to
reduce clutter in ediff.