diff options
| author | Paul Eggert | 2020-02-22 08:04:16 -0800 |
|---|---|---|
| committer | Paul Eggert | 2020-02-22 08:05:59 -0800 |
| commit | 202c3319a28c029d6971dccea92f92425c5e8067 (patch) | |
| tree | 2b3b4bf92b03a96029a4c74a2935a33f5d14a13b /src/data.c | |
| parent | 929c9d33021a61be4c1a45d343689c303a15e986 (diff) | |
| download | emacs-202c3319a28c029d6971dccea92f92425c5e8067.tar.gz emacs-202c3319a28c029d6971dccea92f92425c5e8067.zip | |
Restore runtime check for invalid tag
* src/data.c (wrong_type_argument): Restore check that the
object’s tag is valid, since invalid tags exist again.
* src/lisp.h (Lisp_Type_Unused0): New constant.
Diffstat (limited to 'src/data.c')
| -rw-r--r-- | src/data.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/src/data.c b/src/data.c index fae9cee7db1..460cb9330c0 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -143,15 +143,9 @@ wrong_length_argument (Lisp_Object a1, Lisp_Object a2, Lisp_Object a3) | |||
| 143 | } | 143 | } |
| 144 | 144 | ||
| 145 | AVOID | 145 | AVOID |
| 146 | wrong_type_argument (register Lisp_Object predicate, register Lisp_Object value) | 146 | wrong_type_argument (Lisp_Object predicate, Lisp_Object value) |
| 147 | { | 147 | { |
| 148 | /* If VALUE is not even a valid Lisp object, we'd want to abort here | 148 | eassert (!TAGGEDP (value, Lisp_Type_Unused0)); |
| 149 | where we can get a backtrace showing where it came from. We used | ||
| 150 | to try and do that by checking the tagbits, but nowadays all | ||
| 151 | tagbits are potentially valid. */ | ||
| 152 | /* if ((unsigned int) XTYPE (value) >= Lisp_Type_Limit) | ||
| 153 | * emacs_abort (); */ | ||
| 154 | |||
| 155 | xsignal2 (Qwrong_type_argument, predicate, value); | 149 | xsignal2 (Qwrong_type_argument, predicate, value); |
| 156 | } | 150 | } |
| 157 | 151 | ||