On Fri, Feb 28, 2014 at 9:18 AM, Robert P. Goldman <rpgold...@sift.info> wrote: > I have pushed another quick set of modifications; all grammar and > punctuation, with some chopping up by adding new subsections. > Uh, I don't see anything new on branch master. If you didn't push, can you rebase to master and push? I did a few minor modifications.
> In doing > so, I stumbled on the following passage under Upgrading ASDF: > > Starting with ASDF 3 (2.27 or later), > this self-upgrade will be automatically attempted as the first step > to any system operation, to avoid any possibility of > a catastrophic attempt to self-upgrade in midflight. > > It's not clear to me from the context what "this self-upgrade" refers > to, nor how it's triggered. > > Is this because all systems have an implicit requirement of :depends-on > ASDF? So that when ASDF scans its registry it finds any new version and > automagically updates it? > Yes, any system that extends ASDF in any way implicitly depends on ASDF, yet most fail to declare a dependency on ASDF. What is worse, any system with an explicit dependency on ASDF, or worse, defsystem-depends-on on something that depends on ASDF, may cause ASDF to be reloaded *in the middle of the build* if ASDF hasn't been upgraded yet. Detecting in advance whether or not ASDF will be loaded is Halting-complete, and so we have two safe options: detect such midbuild upgrade and fail, and be a huge nuisance to users for no gain, or uprade preemptively and have things just work. Therefore, ASDF3 assumes that a user means an upgrade if and only if he has configured a recent ASDF in his registries. I believe this actually minimizes user cognitive load while maximizing functionality. PS: as an example of enjoying scripting with Lisp, see the new release.lisp script in cl-launch. I suppose the asdf/bin/asdf-builder script could similarly be slightly simplified and improved by using the latest cl-launch 4 and inferior-shell 2. —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org "When buying and selling are controlled by legislation, the first things to be bought and sold are legislators." — P.J. O'Rourke