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)
"Chun Tian (binghe)" binghe.lisp@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
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@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