(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))
+|#
(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))