When saved as in the appropiate initialization file for your lisp
implementation (i.e. under SBCL as ~/.sbclrc
), the
following code will automatically recompile stale FASLs for packages
defined with ASDF.
;;; -*- Mode: LISP; Syntax: COMMON-LISP -*- ;;; Originally from http://bc.tech.coop/blog/041106.html (require :asdf) (defmethod asdf:perform :around ((o asdf:load-op) (c asdf:cl-source-file)) (handler-case (call-next-method o c) (#+sbcl sb-ext:invalid-fasl #+allegro excl::file-incompatible-fasl-error #+ccl simple-error #-(or ccl sbcl allegro) error () (asdf:perform (make-instance 'asdf:compile-op) c) (call-next-method))))