diff options
| author | Mattias EngdegÄrd | 2023-07-14 18:05:32 +0200 |
|---|---|---|
| committer | Mattias EngdegÄrd | 2023-07-14 19:25:16 +0200 |
| commit | 8acd52bba40982b4f3cadc17fb35dc96143605fb (patch) | |
| tree | 578b0cb80bfab146fe0e67603c6b99d6a4a5b611 /src/data.c | |
| parent | 2df086d121e8ebee872236d0436205144047c5c9 (diff) | |
| download | emacs-8acd52bba40982b4f3cadc17fb35dc96143605fb.tar.gz emacs-8acd52bba40982b4f3cadc17fb35dc96143605fb.zip | |
Provide backtrace for byte-ops car, cdr, setcar, setcdr, nth and elt
Include calls to these primitives from byte-compiled code in
backtraces. For nth and elt, not all errors are covered.
(Bug#64613)
* src/bytecode.c (exec_byte_code): Add error backtrace records for
car, cdr, setcar, setcdr, nth and elt.
* src/data.c (syms_of_data): Add missing defsyms for car, setcar,
setcdr, nth and elt.
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-tests--error-frame, bytecomp-tests--byte-op-error-cases)
(bytecomp--byte-op-error-backtrace): New test.
Diffstat (limited to 'src/data.c')
| -rw-r--r-- | src/data.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/data.c b/src/data.c index 5a31462d8ca..108ed97d1f6 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -4110,7 +4110,12 @@ syms_of_data (void) | |||
| 4110 | DEFSYM (Qunevalled, "unevalled"); | 4110 | DEFSYM (Qunevalled, "unevalled"); |
| 4111 | DEFSYM (Qmany, "many"); | 4111 | DEFSYM (Qmany, "many"); |
| 4112 | 4112 | ||
| 4113 | DEFSYM (Qcar, "car"); | ||
| 4113 | DEFSYM (Qcdr, "cdr"); | 4114 | DEFSYM (Qcdr, "cdr"); |
| 4115 | DEFSYM (Qnth, "nth"); | ||
| 4116 | DEFSYM (Qelt, "elt"); | ||
| 4117 | DEFSYM (Qsetcar, "setcar"); | ||
| 4118 | DEFSYM (Qsetcdr, "setcdr"); | ||
| 4114 | 4119 | ||
| 4115 | error_tail = pure_cons (Qerror, Qnil); | 4120 | error_tail = pure_cons (Qerror, Qnil); |
| 4116 | 4121 | ||