Get ordering and dependencies right: reverse forms.
authorFrancois-Rene Rideau <tunes@google.com>
Sat, 30 Jun 2012 15:50:58 +0000 (11:50 -0400)
committerFrancois-Rene Rideau <tunes@google.com>
Sat, 30 Jun 2012 15:54:10 +0000 (11:54 -0400)
Document manual test.

asdf-finalizers-test.lisp
finalizers.lisp

index afc6983..d802130 100644 (file)
@@ -31,3 +31,7 @@
   (typep '(1 2 3) '(list-of symbol)))
 
 (final-forms)
+
+#| Manual test: in a fresh Lisp,
+(require "asdf")(asdf:load-system :asdf-finalizers :force t)(trace asdf-finalizers:eval-at-toplevel asdf-finalizers:register-final-form)(setf asdf-finalizers::*debug-finalizers* t)(asdf:load-system :asdf-finalizers-test :force '(:asdf-finalizers-test))
+|#
index 8f6a4c3..9d828de 100644 (file)
@@ -31,7 +31,9 @@ off when your application is done compiled and you're at runtime.")
 
 (defmacro final-forms ()
   "Evaluate registered finalization thunks."
-  (let ((forms (loop :while *finalizers* :collect (funcall (pop *finalizers*)))))
+  (let ((forms (reverse
+               (loop :while *finalizers*
+                     :collect (funcall (pop *finalizers*))))))
     (when *debug-finalizers*
       (with-standard-io-syntax
        (let ((*package* (find-package :cl))