diff options
author | Mattias EngdegÄrd <mattiase@acm.org> | 2024-01-25 18:56:03 +0100 |
---|---|---|
committer | Mattias EngdegÄrd <mattiase@acm.org> | 2024-01-27 12:37:53 +0100 |
commit | da726c6de201cdb9123bd99e22206dbed5fdc50f (patch) | |
tree | 7211aebebf8b41c6aa2206882ae2ed271eba479b /lisp/emacs-lisp/cl-indent.el | |
parent | 9b3f43fa08b2672a5ef33b872b2c6d1b0e881b88 (diff) | |
download | emacs-da726c6de201cdb9123bd99e22206dbed5fdc50f.tar.gz emacs-da726c6de201cdb9123bd99e22206dbed5fdc50f.tar.bz2 emacs-da726c6de201cdb9123bd99e22206dbed5fdc50f.zip |
Add DOHASH_SAFE, make DOHASH faster (bug#68690)
Revert DOHASH to the fast (field-caching) implementation but with
an assertion to detect misuses. Add DOHASH_SAFE for use in
code that must tolerate arbitrary mutation of the table being
iterated through.
* src/lisp.h (DOHASH): Go back to fast design that only allows
restricted mutation, but with a checking assertion.
(DOHASH_SAFE): New macro that tolerates arbitrary mutation while being
much simpler (and acceptably fast).
* src/fns.c (Fmaphash):
* src/comp.c (compile_function, Fcomp__compile_ctxt_to_file):
Use DOHASH_SAFE.
Diffstat (limited to 'lisp/emacs-lisp/cl-indent.el')
0 files changed, 0 insertions, 0 deletions