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

Zach Beane xach at xach.com
Wed Jun 15 17:48:41 UTC 2011


"Chun Tian (binghe)" <binghe.lisp at gmail.com> writes:

> 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?

Does (asdf:clear-system :snmp) do what you need?

Zach




More information about the asdf-devel mailing list