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

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


Hi, Zach

Amazing, it works. Just do a clear-system before load-system, it solves my need.

Thank you!

--binghe

在 2011-6-16,01:48, Zach Beane 写道:

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