Fix undefine init_smoke* C function & cleanup finalizers when a image is saved.
src/utils/image/impl/ccl.lisp
Thu Jul 2 21:08:40 CEST 2009 Tobias Rautenkranz <tobias@rautenkranz.ch>
* Fix undefine init_smoke* C function & cleanup finalizers when a image is saved.
--- old-smoke/src/utils/image/impl/ccl.lisp 2014-10-30 08:13:51.000000000 +0100
+++ new-smoke/src/utils/image/impl/ccl.lisp 2014-10-30 08:13:51.000000000 +0100
@@ -2,3 +2,10 @@
(defun add-startup-function (function)
(push function ccl:*lisp-startup-functions*))
+
+(defmacro eval-on-save (() &body body)
+ `(eval-when (:load-toplevel)
+ (push #'(lambda ()
+ (let ((*package* ,*package*))
+ ,@body))
+ ccl:*save-exit-functions*)))