diff options
Diffstat (limited to 'src/eval.c')
| -rw-r--r-- | src/eval.c | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/src/eval.c b/src/eval.c index cefdf784faf..dddedc77286 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -57,8 +57,23 @@ struct backtrace | |||
| 57 | }; | 57 | }; |
| 58 | 58 | ||
| 59 | struct backtrace *backtrace_list; | 59 | struct backtrace *backtrace_list; |
| 60 | |||
| 61 | #if !BYTE_MARK_STACK | ||
| 62 | static | ||
| 63 | #endif | ||
| 60 | struct catchtag *catchlist; | 64 | struct catchtag *catchlist; |
| 61 | 65 | ||
| 66 | /* Chain of condition handlers currently in effect. | ||
| 67 | The elements of this chain are contained in the stack frames | ||
| 68 | of Fcondition_case and internal_condition_case. | ||
| 69 | When an error is signaled (by calling Fsignal, below), | ||
| 70 | this chain is searched for an element that applies. */ | ||
| 71 | |||
| 72 | #if !BYTE_MARK_STACK | ||
| 73 | static | ||
| 74 | #endif | ||
| 75 | struct handler *handlerlist; | ||
| 76 | |||
| 62 | #ifdef DEBUG_GCPRO | 77 | #ifdef DEBUG_GCPRO |
| 63 | /* Count levels of GCPRO to detect failure to UNGCPRO. */ | 78 | /* Count levels of GCPRO to detect failure to UNGCPRO. */ |
| 64 | int gcpro_level; | 79 | int gcpro_level; |
| @@ -1345,14 +1360,6 @@ usage: (unwind-protect BODYFORM UNWINDFORMS...) */) | |||
| 1345 | return unbind_to (count, val); | 1360 | return unbind_to (count, val); |
| 1346 | } | 1361 | } |
| 1347 | 1362 | ||
| 1348 | /* Chain of condition handlers currently in effect. | ||
| 1349 | The elements of this chain are contained in the stack frames | ||
| 1350 | of Fcondition_case and internal_condition_case. | ||
| 1351 | When an error is signaled (by calling Fsignal, below), | ||
| 1352 | this chain is searched for an element that applies. */ | ||
| 1353 | |||
| 1354 | struct handler *handlerlist; | ||
| 1355 | |||
| 1356 | DEFUN ("condition-case", Fcondition_case, Scondition_case, 2, UNEVALLED, 0, | 1363 | DEFUN ("condition-case", Fcondition_case, Scondition_case, 2, UNEVALLED, 0, |
| 1357 | doc: /* Regain control when an error is signaled. | 1364 | doc: /* Regain control when an error is signaled. |
| 1358 | Executes BODYFORM and returns its value if no error happens. | 1365 | Executes BODYFORM and returns its value if no error happens. |
| @@ -3629,6 +3636,7 @@ If NFRAMES is more than the number of frames, the value is nil. */) | |||
| 3629 | } | 3636 | } |
| 3630 | 3637 | ||
| 3631 | 3638 | ||
| 3639 | #if BYTE_MARK_STACK | ||
| 3632 | void | 3640 | void |
| 3633 | mark_backtrace (void) | 3641 | mark_backtrace (void) |
| 3634 | { | 3642 | { |
| @@ -3648,6 +3656,7 @@ mark_backtrace (void) | |||
| 3648 | mark_object (backlist->args[i]); | 3656 | mark_object (backlist->args[i]); |
| 3649 | } | 3657 | } |
| 3650 | } | 3658 | } |
| 3659 | #endif | ||
| 3651 | 3660 | ||
| 3652 | void | 3661 | void |
| 3653 | syms_of_eval (void) | 3662 | syms_of_eval (void) |