From 90280258d08b1534911ff4ab139033ba910e83c0 Mon Sep 17 00:00:00 2001 From: Alex Shinn Date: Wed, 8 Apr 2009 18:02:47 +0900 Subject: [PATCH] fixing bug in return IP for exceptions --- eval.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/eval.c b/eval.c index 196c5452..3f359cab 100644 --- a/eval.c +++ b/eval.c @@ -1020,7 +1020,7 @@ sexp vm (sexp self, sexp context, sexp* stack, sexp_sint_t top) { case OP_ERROR: call_error_handler: stack[top] = (sexp) 1; - stack[top+1] = sexp_make_integer(ip+4); + stack[top+1] = sexp_make_integer(ip); stack[top+2] = self; stack[top+3] = sexp_make_integer(fp); top += 4; @@ -1029,7 +1029,6 @@ sexp vm (sexp self, sexp context, sexp* stack, sexp_sint_t top) { ip = sexp_bytecode_data(bc); cp = sexp_procedure_vars(self); fp = top-4; - /* sexp_print_stack(stack, top, fp, tmp1); */ break; case OP_RESUMECC: tmp1 = stack[fp-1];