Mercurial > emacs
diff src/eval.c @ 90365:a802c5505156
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-43
Merge from emacs--devo--0
Patches applied:
* emacs--devo--0 (patch 148-156)
- Update from CVS
- Merge from gnus--rel--5.10
- Remove nick-abbrevs stuff from rcirc.el
- rcirc.el update from Ryan Yeske
* gnus--rel--5.10 (patch 57)
- Copy/update icons from Gnus trunk
author | Miles Bader <miles@gnu.org> |
---|---|
date | Mon, 13 Mar 2006 12:19:58 +0000 |
parents | 5754737d1e04 947598ed954a |
children | 72dea2ff0142 |
line wrap: on
line diff
--- a/src/eval.c Fri Mar 10 23:46:54 2006 +0000 +++ b/src/eval.c Mon Mar 13 12:19:58 2006 +0000 @@ -1259,6 +1259,12 @@ } while (! last_time); +#if HAVE_X_WINDOWS + /* If x_catch_errors was done, turn it off now. + (First we give unbind_to a chance to do that.) */ + x_fully_uncatch_errors (); +#endif + byte_stack_list = catch->byte_stack; gcprolist = catch->gcpro; #ifdef DEBUG_GCPRO @@ -1435,8 +1441,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 HAVE_X_WINDOWS + if (x_catching_errors ()) abort (); #endif @@ -1481,6 +1489,13 @@ 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 HAVE_X_WINDOWS + if (x_catching_errors ()) + abort (); +#endif + c.tag = Qnil; c.val = Qnil; c.backlist = backtrace_list; @@ -1525,6 +1540,13 @@ 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 HAVE_X_WINDOWS + if (x_catching_errors ()) + abort (); +#endif + c.tag = Qnil; c.val = Qnil; c.backlist = backtrace_list;