diff options
Diffstat (limited to 'src/eval.c')
| -rw-r--r-- | src/eval.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/eval.c b/src/eval.c index b1c1a8c676b..c46b74ac40c 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -1233,6 +1233,7 @@ unwind_to_catch (struct handler *catch, enum nonlocal_exit type, | |||
| 1233 | eassert (handlerlist == catch); | 1233 | eassert (handlerlist == catch); |
| 1234 | 1234 | ||
| 1235 | lisp_eval_depth = catch->f_lisp_eval_depth; | 1235 | lisp_eval_depth = catch->f_lisp_eval_depth; |
| 1236 | set_act_rec (current_thread, catch->act_rec); | ||
| 1236 | 1237 | ||
| 1237 | sys_longjmp (catch->jmp, 1); | 1238 | sys_longjmp (catch->jmp, 1); |
| 1238 | } | 1239 | } |
| @@ -1673,6 +1674,7 @@ push_handler_nosignal (Lisp_Object tag_ch_val, enum handlertype handlertype) | |||
| 1673 | c->next = handlerlist; | 1674 | c->next = handlerlist; |
| 1674 | c->f_lisp_eval_depth = lisp_eval_depth; | 1675 | c->f_lisp_eval_depth = lisp_eval_depth; |
| 1675 | c->pdlcount = SPECPDL_INDEX (); | 1676 | c->pdlcount = SPECPDL_INDEX (); |
| 1677 | c->act_rec = get_act_rec (current_thread); | ||
| 1676 | c->poll_suppress_count = poll_suppress_count; | 1678 | c->poll_suppress_count = poll_suppress_count; |
| 1677 | c->interrupt_input_blocked = interrupt_input_blocked; | 1679 | c->interrupt_input_blocked = interrupt_input_blocked; |
| 1678 | handlerlist = c; | 1680 | handlerlist = c; |