[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/eval.c
From: |
Richard M. Stallman |
Subject: |
[Emacs-diffs] Changes to emacs/src/eval.c |
Date: |
Sat, 11 Mar 2006 15:19:32 +0000 |
Index: emacs/src/eval.c
diff -u emacs/src/eval.c:1.263 emacs/src/eval.c:1.264
--- emacs/src/eval.c:1.263 Sun Feb 26 18:08:02 2006
+++ emacs/src/eval.c Sat Mar 11 15:19:31 2006
@@ -1259,6 +1259,10 @@
}
while (! last_time);
+ /* If x_catch_errors was done, turn it off now.
+ (First we give unbind_to a chance to do that.) */
+ x_fully_uncatch_errors ();
+
byte_stack_list = catch->byte_stack;
gcprolist = catch->gcpro;
#ifdef DEBUG_GCPRO
@@ -1435,10 +1439,10 @@
struct catchtag c;
struct handler h;
-#if 0 /* We now handle interrupt_input_blocked properly.
- What we still do not handle is exiting a signal handler. */
+ /* Since Fsignal will close off all calls to x_catch_errors,
+ we will get the wrong results if some are not closed now. */
+ if (x_catching_errors ())
abort ();
-#endif
c.tag = Qnil;
c.val = Qnil;
@@ -1481,6 +1485,11 @@
struct catchtag c;
struct handler h;
+ /* Since Fsignal will close off all calls to x_catch_errors,
+ we will get the wrong results if some are not closed now. */
+ if (x_catching_errors ())
+ abort ();
+
c.tag = Qnil;
c.val = Qnil;
c.backlist = backtrace_list;
@@ -1525,6 +1534,11 @@
struct catchtag c;
struct handler h;
+ /* Since Fsignal will close off all calls to x_catch_errors,
+ we will get the wrong results if some are not closed now. */
+ if (x_catching_errors ())
+ abort ();
+
c.tag = Qnil;
c.val = Qnil;
c.backlist = backtrace_list;