Mercurial > hg > xemacs-beta
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; |