From 0c72d2339635d0f52fcd5681e39452c64e33f970 Mon Sep 17 00:00:00 2001 From: Robin Templeton Date: Wed, 9 Jul 2014 05:43:12 -0400 Subject: [PATCH] disable new catch/condition-case instructions --- src/bytecode.c | 46 +++++++--------------------------------------- 1 file changed, 7 insertions(+), 39 deletions(-) diff --git a/src/bytecode.c b/src/bytecode.c index 96dd95da22..01fa1ba185 100644 --- a/src/bytecode.c +++ b/src/bytecode.c @@ -1023,48 +1023,16 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, } CASE (Bpushcatch): /* New in 24.4. */ - type = CATCHER; - goto pushhandler; - CASE (Bpushconditioncase): /* New in 24.4. */ - { - extern EMACS_INT lisp_eval_depth; - extern int poll_suppress_count; - extern int interrupt_input_blocked; - struct handler *c; - Lisp_Object tag; - int dest; - - type = CONDITION_CASE; - pushhandler: - tag = POP; - dest = FETCH2; - - PUSH_HANDLER (c, tag, type); - c->bytecode_dest = dest; - c->bytecode_top = top; - - if (sys_setjmp (c->jmp)) - { - struct handler *c = handlerlist; - int dest; - top = c->bytecode_top; - dest = c->bytecode_dest; - handlerlist = c->next; - PUSH (c->val); - CHECK_RANGE (dest); - /* Might have been re-set by longjmp! */ - stack.byte_string_start = SDATA (stack.byte_string); - stack.pc = stack.byte_string_start + dest; - } + emacs_abort (); + NEXT; - NEXT; - } + CASE (Bpushconditioncase): /* New in 24.4. */ + emacs_abort (); + NEXT; CASE (Bpophandler): /* New in 24.4. */ - { - handlerlist = handlerlist->next; - NEXT; - } + emacs_abort (); + NEXT; CASE (Bunwind_protect): /* FIXME: avoid closure for lexbind. */ { -- 2.20.1