diff options
-rw-r--r-- | src/bytecode.c | 2 | ||||
-rw-r--r-- | src/eval.c | 2 | ||||
-rw-r--r-- | src/lisp.h | 3 |
3 files changed, 3 insertions, 4 deletions
diff --git a/src/bytecode.c b/src/bytecode.c index 4ea3cbfb12b..c6766a38cf2 100644 --- a/src/bytecode.c +++ b/src/bytecode.c @@ -313,7 +313,7 @@ enum byte_code_op /* Update the thread's bytecode offset, just before NEXT. */ -#define UPDATE_OFFSET (backtrace_byte_offset = pc - bytestr_data) +#define UPDATE_OFFSET (backtrace_byte_offset = pc - bytestr_data - 1) DEFUN ("byte-code", Fbyte_code, Sbyte_code, 3, 3, 0, doc: /* Function used internally in byte-compiled code. diff --git a/src/eval.c b/src/eval.c index b9640f6ab7a..e4451aa96c4 100644 --- a/src/eval.c +++ b/src/eval.c @@ -342,7 +342,9 @@ call_debugger (Lisp_Object arg) redisplay, which necessarily leads to display problems. */ specbind (Qinhibit_eval_during_redisplay, Qt); #endif + val = apply1 (Vdebugger, arg); + /* Interrupting redisplay and resuming it later is not safe under all circumstances. So, when the debugger returns, abort the interrupted redisplay by going back to the top-level. */ diff --git a/src/lisp.h b/src/lisp.h index f413d7a45ec..e92300f4f77 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -3281,9 +3281,6 @@ struct handler enum nonlocal_exit nonlocal_exit; Lisp_Object val; - /* The bytecode offset where the error occurred. */ - int bytecode_offset; - struct handler *next; struct handler *nextfree; |