Hello David,
I don't know if you know me - I am Vin Shelton, the Release Engineer
for the stable branch of XEmacs.  Therefore, the 21.4.16 and 21.4.17
releases are my responsibility.
You raise a number of points below.  I agree with the gist of your
argument: XEmacs 21.4.16 should be withdrawn and 21.4.17 should be
released as soon as possible.  XEmacs 21.4.17 will be released on
February 6.
David Kastrup <dak(a)gnu.org> writes:
 Ralf Angeli <angeli(a)iwi.uni-sb.de> writes:
> * Stephen J. Turnbull (2005-02-02) writes:
>
>>>>>>> "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.
>
> That's pretty consequent.  Besides people building current stable
> versions of XEmacs directly from 
xemacs.org, it would currently lock
> out everybody facilitating a distribution with a frequently updated
> package/port system, like Debian/sid, Fedora Core Devel, Mandrake
> Cooker or the BSDs.  And then we can only hope that none of the bigger
> distributions will ship XEmacs 21.4.16 with their next stable
> releases.
 Actually, shy regexps are by now used rather widely in Lisp packages
 (for example, preview-latex).  XEmacs' version of regexp-opt _also_
 produces shy regexps, and it is used all across the XEmacs code base
 and external packages, even those that don't explicitly use shy
 regexps themselves.
 As far as I can see, the main symptom would be random core dumps.  I
 don't think that people will assign the blame to AUCTeX for core
 dumps. 
Most of the reports have actually been of infinite loops rather than
core dumps.
 So basically this is major XEmacs problem affecting its operation all
 across the board, and it does not make sense for AUCTeX to deal in an
 isolated manner with it.  This is a matter of XEmacs release and
 quality management.  The release should be pulled and people
 prominently given notice.  If package authors in general are asked to
 include code like the above, then we will probably follow suit.
 But you would be doing a disservice to your users by pretending this
 matter is even close to being dealt with responsibly if AUCTeX refuses
 to load. 
I agree with your assessment of the situation.  XEmacs 21.4.17 will be
released on February 6.
 People who are using 21.4.16 will be hosed also without using
AUCTeX.
 Shy regexps are an integral part of XEmacs via regexp-opt. 
Thanks for the data of which packages use regexp-opt in a separate
post.  Although the number of packages may seem large, my empirical
evidence is it's extremely easy to work for days without stumbling
across any problems.  I'm sure that some of the packages are more
likely to tickle this problem than others.
 So my take on this matter is that we will _not_ change our code in
the
 above way _unless_ there is an _official_ call of the XEmacs
 development team to _all_ package developers to do this.  Such a call
 would probably only make sense in connection with a _general_ warning
 about that XEmacs release (which is supposed to be in the stable
 series).
 Unless the XEmacs developers declare this step necessary for _all_
 package developers in order to control the spread of this
 fundamentally buggy release, I don't think we should muddy our own
 code base, but instead just mention this problem in the release notes,
 and maybe as package conflicts. 
That would be one approach, but I think that forcing (or encouraging)
all the package maintainers to do that is a loser.  (Our
decentralization/parallelization is both a weakness and a strength.)
Having the XEmacs maintenance team do it ourselves is also probably a
loser, because getting the changes accepted back upstream can be
somewhat challenging.
 It is also a possibility that our installation procedure check for
 working shy regexps (after all, this is not the first time they have
 created havoc within XEmacs, as can be witnessed from the
 preview-latex change log entries from Nix).
 But the proper place for such checks would really be in regression
 tests for XEmacs, not in the installation procedures of AUCTeX. 
The regression tests for XEmacs have been extended to verify that the
fix is in place.
How bullet-proof you want to make the installation procedures for
AUCTeX is a decision for the AUCTeX team to decide.  Personally, I
would think it would be worthwhile to your users that AUCTeX verify
that the enviroment is suitable for safely running AUCTeX.  How far
you want to take that verification is a matter for the project leaders
to decide.
> Unless somebody has a better idea I will insert a code stanza
> similar to the one proposed by Stephen into tex-site.el and add a
> prominent note to the release notes that people who are using XEmacs
> 21.4.16 should stay away from AUCTeX 11.55 or upgrade to 21.4.17 as
> soon as it is available.
 It does not make sense to make AUCTeX the poster child for telling
 this to people.  My opinion is to mention this prominently in the
 release notes as long as it is to be feared that this XEmacs version
 is around.  And how long this is to be feared very much depends on how
 the XEmacs developers will choose to deal with the problem.  If it is
 their opinion that an occasional core dump in normal operation is no
 reason to warn people off a release in a prominent manner, then it is
 _us_ that is going to get blamed when some stock XEmacs/AUCTeX
 combination gets made available and refuses to work. 
This is a defensible position, but I don't think I agree with it.  As
I implied above, different packages can be affected quite differently
by the bug.  It's possible that some packages may need to defend
themselves against broken enviroments more carefully than other
packages need to.  I don't have enough data to tell for sure, but it
sounds like AUCTeX is one package that might want to defend itself
against this particular breakage in XEmacs.
 This XEmacs version must not get put on _any_ software distribution
 intended to be stable since XEmacs' operation as a whole is affected,
 and it is beyond the power of the AUCTeX developers to tell
 distributors "don't use 21.4.16", except possibly by package
 conflicts.  And if a distributor finds AUCTeX conflicting with XEmacs,
 he will in case of doubt throw out AUCTeX, obviously.  We can't
 reasonably substitute for XEmacs quality management in this instance. 
I will make a post to the xemacs-announce mailing list and will
withdraw the 21.4.16 tarballs.  Do you have any suggestions for how
else to communicate the bad news about XEmacs 21.4.16 and the good
news about XEmacs 21.4.17?
 I consider this of high relevance to the XEmacs community, and
 I would appreciate it if the auc-tex list were kept informed in case
 the XEmacs developers decide to take any measures for deprecating
 21.4.16 outside of this particular thread. 
I agree that this matter is of high importance, and appreciate your
including xemacs-beta on this thread.
I apologize for the quality of the 21.4.16 release.  The fault is
entirely mine.
Sincerely,
  Vin Shelton