diff options
| author | Pip Cet | 2025-01-18 20:55:18 +0000 |
|---|---|---|
| committer | Pip Cet | 2025-02-01 17:02:50 +0000 |
| commit | 4eabfd68c91185909be307435e5db8b8f0fb4102 (patch) | |
| tree | 2bea05f1d7796c887f54220b363f324b3462437e /java | |
| parent | 20e3959dc37685334579394b320ab93f751243fb (diff) | |
| download | emacs-4eabfd68c91185909be307435e5db8b8f0fb4102.tar.gz emacs-4eabfd68c91185909be307435e5db8b8f0fb4102.zip | |
Use #$ for lambda fixups in native compilation data vectors
The "#$" syntax is recognized by Fread, which substitutes
Vload_file_name in its place. If Vload_file_name is bound
appropriately, no other value can produce an object EQ to the one
produced by "#$".
We use this to check the data vector for entries that we know should
have been initialized: if the value is still equal to what we bound
Vload_file_name to when it was read, it wasn't initialized, and we
abort.
* lisp/emacs-lisp/comp.el (comp--#$): New defvar.
(comp--finalize-container): Use it.
* src/comp.c (ABI_VERSION): Bump.
(emit_static_object): Ensure 'comp--#$' prints as "#$".
(load_static_obj): Ensure '#$' reads as Vcomp__hashdollar.
(check_comp_unit_relocs): Adjust assertion.
(syms_of_comp): Define 'comp--#$'.
* src/pdumper.c (dump_do_dump_relocation): Adjust assertion.
Diffstat (limited to 'java')
0 files changed, 0 insertions, 0 deletions