[asdf-devel] Force reloading a .asd file without "touch" it

Chun Tian (binghe) binghe.lisp at gmail.com
Wed Jun 15 17:46:56 UTC 2011


Hi, ASDF users

Any one know how to reload a .asd file without "touch" it to let it have a newer timestamp?

I have a snmp.asd file which contain the content of another file:

(defparameter *mib.lisp-expr*
  (with-open-file
      (s (merge-pathnames (make-pathname :name "mib"
                                         :type "lisp-expr")
                          *load-truename*)
         :direction :input)
    (read s)))

(defsystem snmp
  ...
  :components (
               ...
               (:module "compiled-mibs"          :depends-on ("runtime")
                :components #.*mib.lisp-expr*)))

See, the DEFSYSTEM form is actually determined by another file. And I have a function which can update this another file, and after its content change, I want to re-load this snmp.asd to make the new DEFSYSTEM form take effect. Just call (asdf:load-system :snmp) obviously won't help.

How can I achieve this goal?

Thanks,

Chun Tian (binghe)





More information about the asdf-devel mailing list