comparison src/eval.c @ 179:9ad43877534d r20-3b16

Import from CVS: tag r20-3b16
author cvs
date Mon, 13 Aug 2007 09:52:19 +0200
parents 8eaf7971accc
children bfd6434d15b3
comparison
equal deleted inserted replaced
178:e703507b8a00 179:9ad43877534d
328 variable is not Lisp-accessible.) */ 328 variable is not Lisp-accessible.) */
329 329
330 static Lisp_Object 330 static Lisp_Object
331 restore_entering_debugger (Lisp_Object arg) 331 restore_entering_debugger (Lisp_Object arg)
332 { 332 {
333 entering_debugger = ((NILP (arg)) ? 0 : 1); 333 entering_debugger = ! NILP (arg);
334 return arg; 334 return arg;
335 } 335 }
336 336
337 /* Actually call the debugger. ARG is a list of args that will be 337 /* Actually call the debugger. ARG is a list of args that will be
338 passed to the debugger function, as follows; 338 passed to the debugger function, as follows;
402 record_unwind_protect (restore_entering_debugger, 402 record_unwind_protect (restore_entering_debugger,
403 (entering_debugger ? Qt : Qnil)); 403 (entering_debugger ? Qt : Qnil));
404 entering_debugger = 1; 404 entering_debugger = 1;
405 val = internal_catch (Qdebugger, call_debugger_259, arg, &threw); 405 val = internal_catch (Qdebugger, call_debugger_259, arg, &threw);
406 406
407 return (unbind_to (speccount, ((threw) 407 return unbind_to (speccount, ((threw)
408 ? Qunbound /* Not returning a value */ 408 ? Qunbound /* Not returning a value */
409 : val))); 409 : val));
410 } 410 }
411 411
412 /* Called when debug-on-exit behavior is called for. Enter the debugger 412 /* Called when debug-on-exit behavior is called for. Enter the debugger
413 with the appropriate args for this. VAL is the exit value that is 413 with the appropriate args for this. VAL is the exit value that is
414 about to be returned. */ 414 about to be returned. */
2122 Wrap this around any function in which you might want errors 2122 Wrap this around any function in which you might want errors
2123 to not be errors. 2123 to not be errors.
2124 */ 2124 */
2125 2125
2126 Lisp_Object 2126 Lisp_Object
2127 call_with_suspended_errors (lisp_fn_t fun, Lisp_Object retval, 2127 call_with_suspended_errors (lisp_fn_t fun, volatile Lisp_Object retval,
2128 Lisp_Object class, Error_behavior errb, 2128 Lisp_Object class, Error_behavior errb,
2129 int nargs, ...) 2129 int nargs, ...)
2130 { 2130 {
2131 va_list vargs; 2131 va_list vargs;
2132 int speccount; 2132 int speccount;