diff src/eval.c @ 69152:f2147c1027b6

* xterm.h (x_catch_errors) Return value changed to void. (x_uncatch_errors): Unused count argument deleted. * xterm.c (x_catch_errors): Don't use record_unwind_protect, since it can be called in a signal handler. (x_catch_errors_unwind): Function deleted. (x_uncatch_errors): Deallocate last x_error_message_stack struct. (x_check_errors): Call x_uncatch_errors before signalling error. (x_load_font, x_term_init, XTmouse_position, handle_one_xevent) (x_connection_closed, x_list_fonts): Use new versions of x_catch_errors and x_uncatch_errors. * xselect.c (x_own_selection, x_decline_selection_request) (x_reply_selection_request, x_get_foreign_selection) (Fx_get_atom_name, Fx_send_client_event): Likewise. * xfns.c (x_real_positions, x_set_mouse_color, Fx_focus_frame): Likewise. * eval.c (record_unwind_protect): Add an assertion.
author Chong Yidong <cyd@stupidchicken.com>
date Sat, 25 Feb 2006 23:20:10 +0000
parents 13c1b7c5f555
children 812b2bed63c2 8a1ee48a8386
line wrap: on
line diff
--- a/src/eval.c	Sat Feb 25 16:49:00 2006 +0000
+++ b/src/eval.c	Sat Feb 25 23:20:10 2006 +0000
@@ -3199,6 +3199,8 @@
      Lisp_Object (*function) P_ ((Lisp_Object));
      Lisp_Object arg;
 {
+  eassert (!handling_signal);
+
   if (specpdl_ptr == specpdl + specpdl_size)
     grow_specpdl ();
   specpdl_ptr->func = function;