From 9d8d0658147dfe5a90e2fb07ff666f35b1162d6e Mon Sep 17 00:00:00 2001 From: Daniel Colascione Date: Mon, 2 Mar 2015 02:23:09 -0800 Subject: Add support for finalizers +2015-03-02 Daniel Colascione + + * NEWS: Mention finalizers. + 2015-02-09 Gareth Rees (tiny change) * NEWS.24: Fix typo (bug#19820) diff --git a/src/ChangeLog b/src/ChangeLog index 4aa64c1..2f04d0b 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,21 @@ +2015-03-02 Daniel Colascione + + * print.c (print_object): Print finalizers. + + * alloc.c: + (finalizers, doomed_finalizers): New variables. + (init_finalizer_list, finalizer_insert, unchain_finalizer) + (mark_finalizer_list, queue_doomed_finalizers) + (run_finalizer_handler, run_finalizer_function, run_finalizers): + New functions. + (garbage_collect_1, mark_object, sweep_misc) + (init_alloc_once, syms_of_alloc): Support finalizers. + (gc-precise-p): New Lisp variable. + + * lisp.h (Lisp_Misc_Type): New value Lisp_Misc_Finalizer. + (FINALIZERP, XFINALIZER): New functions. + (Lisp_Finalizer): New structure. + 2015-02-28 Paul Eggert * character.c (alphabeticp, decimalnump): Avoid undefined behavior diff --git a/test/ChangeLog b/test/ChangeLog index cf1b2c1..684e98f 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,9 @@ +2015-03-02 Daniel Colascione + + * automated/finalizer-tests.el (finalizer-basic) + (finalizer-circular-reference, finalizer-cross-reference) + (finalizer-error): New tests. + 2015-03-01 Michael Albinus * automated/vc-tests.el (vc-test--create-repo): Add check for --- etc/ChangeLog | 4 ++++ etc/NEWS | 3 +++ 2 files changed, 7 insertions(+) (limited to 'etc') diff --git a/etc/ChangeLog b/etc/ChangeLog index 24cb6f24d22..99a74f942f2 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog @@ -1,3 +1,7 @@ +2015-03-02 Daniel Colascione + + * NEWS: Mention finalizers. + 2015-02-09 Gareth Rees (tiny change) * NEWS.24: Fix typo (bug#19820) diff --git a/etc/NEWS b/etc/NEWS index 3be820e0d5f..6c94a587ad5 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -621,6 +621,9 @@ word syntax, use `\sw' instead. * Lisp Changes in Emacs 25.1 +** New finalizer facility for running code when objects + become unreachable. + ** lexical closures can use (:documentation
) to build their docstring. It should be placed right where the docstring would be, and is then evaluated (and should return a string) when the closure is built. -- cgit v1.2.1