comparison 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
comparison
equal deleted inserted replaced
69151:08c9c1760e1c 69152:f2147c1027b6
3197 void 3197 void
3198 record_unwind_protect (function, arg) 3198 record_unwind_protect (function, arg)
3199 Lisp_Object (*function) P_ ((Lisp_Object)); 3199 Lisp_Object (*function) P_ ((Lisp_Object));
3200 Lisp_Object arg; 3200 Lisp_Object arg;
3201 { 3201 {
3202 eassert (!handling_signal);
3203
3202 if (specpdl_ptr == specpdl + specpdl_size) 3204 if (specpdl_ptr == specpdl + specpdl_size)
3203 grow_specpdl (); 3205 grow_specpdl ();
3204 specpdl_ptr->func = function; 3206 specpdl_ptr->func = function;
3205 specpdl_ptr->symbol = Qnil; 3207 specpdl_ptr->symbol = Qnil;
3206 specpdl_ptr->old_value = arg; 3208 specpdl_ptr->old_value = arg;