Change HASH_UNUSED_ENTRY_KEY from Qunbound to NULL float
authorMattias Engdegård <mattiase@acm.org>
Fri, 19 Jan 2024 17:31:06 +0000 (18:31 +0100)
committerMattias Engdegård <mattiase@acm.org>
Sun, 21 Jan 2024 10:21:51 +0000 (11:21 +0100)
commit1d754c79603f1b6e4574c7e64c1bf5fb8c6c190d
tree47ce24109309a12e309cba1717907525fc6fa7ef
parent50201e03b9c4133296dbd10e6c7ebd5dc2a62d50
Change HASH_UNUSED_ENTRY_KEY from Qunbound to NULL float

This removes hacks from code that had to be careful not to use
Qunbound as a hash table key, at the cost of a minor hack in
the GC marker.

* src/lisp.h (INVALID_LISP_VALUE, HASH_UNUSED_ENTRY_KEY):
Define as a null-pointer float.
* src/alloc.c (process_mark_stack): Add hack to ignore that value.
* src/pdumper.c (dump_object_needs_dumping_p)
(pdumper_init_symbol_unbound, pdumper_load):
* src/print.c (PRINT_CIRCLE_CANDIDATE_P): Remove hacks for Qunbound.
src/alloc.c
src/lisp.h
src/pdumper.c
src/print.c