]> git.eshelyaron.com Git - emacs.git/commit
Add optional GC marking function to specpdl unwind_ptr record
authorMattias EngdegÄrd <mattiase@acm.org>
Sat, 5 Mar 2022 10:12:54 +0000 (11:12 +0100)
committerAndrew G Cohen <cohen@andy.bu.edu>
Sun, 3 Apr 2022 23:42:12 +0000 (07:42 +0800)
commite091bee8db9926716a3e7778275901696896cbdf
treedd1d1867f6fd7c24b24af6ce5af9de278b1638d9
parent9fab134ee8b4ed439a8944e0d7058b1898c9bc0b
Add optional GC marking function to specpdl unwind_ptr record

Add a new `record_unwind_protect_ptr_mark` function for use with C data
structures that use the specpdl for clean-up but also contain possibly
unique references to Lisp objects.

* src/eval.c (record_unwind_protect_ptr_mark): New.
(record_unwind_protect_module, set_unwind_protect_ptr):
Set the mark function to NULL.
(mark_specpdl): Call the mark function if present.
* src/lisp.h (unwind_ptr): Add a mark function pointer to the
SPECPDL_UNWIND_PTR case.
src/eval.c
src/lisp.h