Ben Wing <ben(a)666.com> writes:
This looks to be a fix for all crashes involving
condition_case_unwind(), and the finger gets pointed at Martin, who was
the one rearranging this code in an attempt to squeeze out microseconds.
Index: eval.c
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs/src/eval.c,v
retrieving revision 1.27.2.21
diff -u -r1.27.2.21 eval.c
--- eval.c 2000/03/13 07:27:53 1.27.2.21
+++ eval.c 2000/03/16 12:34:21
@@ -4641,13 +4660,13 @@
{
int quitf;
+ ++specpdl_ptr;
+ ++specpdl_depth_counter;
+
check_quit (); /* make Vquit_flag accurate */
quitf = !NILP (Vquit_flag);
Vquit_flag = Qnil;
- ++specpdl_ptr;
- ++specpdl_depth_counter;
-
while (specpdl_depth_counter != count)
{
--specpdl_ptr;
What's the status of this patch? While there still might be other bugs
lurking in the specpdl code, this is cetainly a Good Thing to apply.
Ben, I can make a ChangeLog entry, add a comment and apply this if you
like.
Gunnar