summaryrefslogtreecommitdiff
path: root/test/lisp/emacs-lisp/syntax-tests.el
diff options
context:
space:
mode:
authorMattias EngdegÄrd <mattiase@acm.org>2022-02-02 16:51:43 +0100
committerMattias EngdegÄrd <mattiase@acm.org>2022-02-12 18:18:58 +0100
commit297520852f4f0e11a34a8a867c13fdf03d83eafd (patch)
tree590f2992b2000c3c4945d8b908a3974848fce636 /test/lisp/emacs-lisp/syntax-tests.el
parenta8245e122075175df2f124b20e9e5b1b583eff89 (diff)
downloademacs-297520852f4f0e11a34a8a867c13fdf03d83eafd.tar.gz
emacs-297520852f4f0e11a34a8a867c13fdf03d83eafd.tar.bz2
emacs-297520852f4f0e11a34a8a867c13fdf03d83eafd.zip
Turn specpdl_ref into a type of its own
Wrap the specpdl_ref contents in a struct, which gives us some very useful type checking to make sure that all code that assumed integral specpdl refs has been converted. We only do this on 64-bit platforms, since those tend to have modern ABIs where small structs are optimised as scalars. In other words, this change should not affect the compiled code. * src/lisp.h (specpdl_ref): Now a struct on 64-bit platforms. (wrap_specpdl_ref, unwrap_specpdl_ref): New. (specpdl_count_to_ref, specpdl_ref_to_count) (specpdl_ref_eq, specpdl_ref_lt) (specpdl_ref_valid_p, make_invalid_specpdl_ref): Use new wrappers.
Diffstat (limited to 'test/lisp/emacs-lisp/syntax-tests.el')
0 files changed, 0 insertions, 0 deletions