diff options
Diffstat (limited to 'src/eval.c')
| -rw-r--r-- | src/eval.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/eval.c b/src/eval.c index 666d49f03fe..70f533842b9 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -1478,7 +1478,7 @@ Lisp_Object | |||
| 1478 | internal_lisp_condition_case (Lisp_Object var, Lisp_Object bodyform, | 1478 | internal_lisp_condition_case (Lisp_Object var, Lisp_Object bodyform, |
| 1479 | Lisp_Object handlers) | 1479 | Lisp_Object handlers) |
| 1480 | { | 1480 | { |
| 1481 | struct handler *volatile oldhandlerlist = handlerlist; | 1481 | struct handler *oldhandlerlist = handlerlist; |
| 1482 | 1482 | ||
| 1483 | /* The number of non-success handlers, plus 1 for a sentinel. */ | 1483 | /* The number of non-success handlers, plus 1 for a sentinel. */ |
| 1484 | ptrdiff_t clausenb = 1; | 1484 | ptrdiff_t clausenb = 1; |
| @@ -1543,12 +1543,11 @@ internal_lisp_condition_case (Lisp_Object var, Lisp_Object bodyform, | |||
| 1543 | if (!CONSP (condition)) | 1543 | if (!CONSP (condition)) |
| 1544 | condition = list1 (condition); | 1544 | condition = list1 (condition); |
| 1545 | struct handler *c = push_handler (condition, CONDITION_CASE); | 1545 | struct handler *c = push_handler (condition, CONDITION_CASE); |
| 1546 | Lisp_Object volatile *clauses_volatile = clauses; | ||
| 1547 | if (sys_setjmp (c->jmp)) | 1546 | if (sys_setjmp (c->jmp)) |
| 1548 | { | 1547 | { |
| 1549 | var = var_volatile; | 1548 | var = var_volatile; |
| 1550 | val = handlerlist->val; | 1549 | val = handlerlist->val; |
| 1551 | Lisp_Object volatile *chosen_clause = clauses_volatile; | 1550 | Lisp_Object volatile *chosen_clause = clauses; |
| 1552 | struct handler *oldh = oldhandlerlist; | 1551 | struct handler *oldh = oldhandlerlist; |
| 1553 | for (struct handler *h = handlerlist->next; h != oldh; h = h->next) | 1552 | for (struct handler *h = handlerlist->next; h != oldh; h = h->next) |
| 1554 | chosen_clause++; | 1553 | chosen_clause++; |