I believe that load-system is described incorrectly in the manual

Robert Goldman rpgoldman at sift.net
Fri Jan 8 18:17:03 UTC 2016


On 1/8/16 Jan 8 -11:59 AM, 73budden . wrote:
> Quote from the manual:
> "But for code that you are actively developing, debugging, or
> otherwise modifying, you should use load-system, so ASDF will pick on
> your modifications and transitively re-build the modified files and
> everything that depends on them. "
> 
> What does "everything that depends on them" mean?
> 
> I have
> sys1.asd:
> (asdf:defsystem :sys1 :serial t :components ((:file "sys1-file1")))
> ; EOF
> 
> and
> sys2.asd
> (asdf:defsystem :sys2 :serial t :depends-on (:sys1) :components
> ((:file "sys2-file2")))
> ; EOF
> 
> I do (asdf:load-system :sys2), then I touch sys1-file1.lisp, then I do
> (asdf:load-system :sys1)
> 
> :sys2 does not get recompiled.
> 
> This is what I always knew and expected to see, but, according to
> manual, it should have been recompiled, as :sys2 depends on :sys1,
> and, hence, from the modified sys1-file1.lisp.
> 
> Now I don't know is this a "misbug" in asdf or a defeciency in the
> manual. If this is a misbug, another question arises: is there a
> "canonical" way to reload all systems that are currently loaded into
> the image and sources of which have changed since last load?
> 

This is a lack of clarity in the manual.  What was intended was
something more like: "...and transitively re-build the modified files
and other system files that rely upon them."  "Everything" is wrong.

I'm open to suggestions for re-wording this, or I can have a whack at it
myself.

Best,
r




More information about the asdf-devel mailing list