summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZach Shaftel <zshaftel@gmail.com>2020-07-22 20:07:15 -0400
committerZach Shaftel <zshaftel@gmail.com>2020-07-22 20:07:15 -0400
commitbed4004fd334e101a5fb4ee8a3bbf23f4679ba87 (patch)
tree180ee2e9b41306ec9514af5431401d154917282f
parent54b94af19d371f55f8a5f60352a14791de0d3e97 (diff)
downloademacs-feature/soc-bytecode-in-traceback-reduced.tar.gz
Clean up before patch submissionfeature/soc-bytecode-in-traceback-reduced
* src/lisp.h (struct handler): Remove unused 'bytecode_offset' field, which was added at some point while prototyping. * src/bytecode.c (UPDATE_OFFSET): Subtract 1, so the offset is accurate.
-rw-r--r--src/bytecode.c2
-rw-r--r--src/eval.c2
-rw-r--r--src/lisp.h3
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;