unloading/reloading an asdf system

Craig McDaniel <[email protected]>
Newsgroups gmane.lisp.cclan.general
Message-ID <[email protected]>
Hello ASDF experts,

Is there a way to reload an ASDF system without the recompilation?

For example, load a system:

CL-USER> (asdf:oos 'asdf:load-op 'parenscript)
; loading system definition from /home/kreg/.sbcl/systems/parenscript.asd
; into #<PACKAGE "ASDF1224">
; registering #<SYSTEM :PARENSCRIPT {AA7B7A1}> as PARENSCRIPT
; registering #<SYSTEM :PARENSCRIPT.TEST {AD20FD9}> as PARENSCRIPT.TEST
NIL

This one contains package js amoung others:

CL-USER> (find-package 'js)
#<PACKAGE "JS">

After messing around with the package in the REPL, delete it so I can
reload the original package:

CL-USER> (delete-package 'js)
T
CL-USER> (find-package 'js)
NIL

Try to reload the original package the easy way, by just reloading the
ASDF system, but that doesn't work:

CL-USER> (asdf:oos 'asdf:load-op :parenscript)
NIL
CL-USER> (find-package 'js)
NIL

Using the force option does work, but recompiles the whole system:

CL-USER> (asdf:oos 'asdf:load-op :parenscript :force t)
; compiling file "/home/kreg/lisp/parenscript/src/package.lisp" ....
; compiling (IN-PACKAGE :CL-USER)
; compiling (DEFPACKAGE :JS ...)
.
....lots of compilation

CL-USER> (find-package 'js)
#<PACKAGE "JS">

Thanks for any info.

-Craig McDaniel







-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.