>>>> "Ralf" == Ralf Angeli
<angeli(a)iwi.uni-sb.de> writes:
Ralf> As we are about to release AUCTeX 11.55, we are in need of a
Ralf> workaround for 21.4.16.
(when (and (featurep 'xemacs)
(emacs-version>= 21 4 16)
(not (emacs-version>= 21 4 17)))
(error 'invalid-state "XEmacs 21.4.16 (and only that release) has a
fatal bug in the regexp code that AUCTeX triggers in several places.
Upgrade to 21.4.17."))
in some appropriate place in the auctex load sequence is what I would
suggest; even if AUCTeX works around it, other applications could
trigger it.
Ralf> David posted the following on the AUCTeX list
Ralf> (string-match "\\(\\(\\(\\(\\(\\(\\(\\(\\(\\(\\(\\(\\(\\(\\(\\(.\
Ralf> \\)\\)\\)\\)\\)\\)\\)\\)\\)\\)\\)\\)\\)\\)\\)\\)" "x")
Doesn't work right, I think. You need the matches of _all_ groups to
_fail_, otherwise you are going to get stale data pointing who knows
where.
(string-match "x" "x")
should do what's needed IIRC (since num_nonshy_groups == num_groups,
all registers > 0 should get set to nil, no "holes" you can fall into).
Ralf> As a last resort we could prevent the regexps triggering the
Ralf> segfault from being applied in XEmacs.
Any regexp using shy groups can trigger the regexp, unless you can
prove that all matches that succeeded before it had fewer capturing
groups than the regexp using shy groups.
--
Institute of Policy and Planning Sciences
http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Ask not how you can "do" free software business;
ask what your business can "do for" free software.