summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/cl-print.el
diff options
context:
space:
mode:
authorMattias EngdegÄrd <mattiase@acm.org>2024-01-25 18:56:03 +0100
committerMattias EngdegÄrd <mattiase@acm.org>2024-01-27 12:37:53 +0100
commitda726c6de201cdb9123bd99e22206dbed5fdc50f (patch)
tree7211aebebf8b41c6aa2206882ae2ed271eba479b /lisp/emacs-lisp/cl-print.el
parent9b3f43fa08b2672a5ef33b872b2c6d1b0e881b88 (diff)
downloademacs-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-print.el')
0 files changed, 0 insertions, 0 deletions