diff --git a/README b/README index add7455af7572246735a202da988a31931f641b3..710fa66ab8dff492d63d523a9203c6d92d97883b 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -$Id: README,v 1.33 2003/05/28 20:00:42 kevinrosenberg Exp $ -*- Text -*- +$Id: README,v 1.34 2003/06/03 22:16:28 dan_b Exp $ -*- Text -*- asdf: another system definition facility @@ -716,9 +716,32 @@ propagate only something like ":force :recursively". '' Ideally what we actually want is some kind of criterion that says to which systems (and which operations) a :force switch will propagate. -(defgeneric operation-propagates-force-p (operation component)) +The problem is perhaps that 'force' is a pretty meaningless concept. +How obvious is it that "load :force t" should force _compilation_? +But we don't really have the right dependency setup for the user to +compile :force t and expect it to work (files will not be loaded after +compilation, so the compile environment for subsequent files will be +emptier than it needs to be) -make-sub-operation would call this +What does the user actually want to do when he forces? Usually, for +me, update for use with a new version of the lisp compiler. Perhaps +for recovery when he suspects that something has gone wrong. Or else +when he's changed compilation options or configuration in some way +that's not reflected in the dependency graph. +Other possible interface: have a 'revert' function akin to 'make clean' + (asdf:revert 'asdf:compile-op 'araneida) +would delete any files produced by 'compile-op 'araneida. Of course, it +wouldn't be able to do much about stuff in the image itself. + +How would this work? + +traverse + +There's a difference between a module's dependencies (peers) and its +components (children). Perhaps there's a similar difference in +operations? For example, (load "use") depends-on (load "macros") is a +peer, whereas (load "use") depends-on (compile "use") is more of a +`subservient' relationship. \ No newline at end of file diff --git a/asdf.lisp b/asdf.lisp index 17b0a1c087be1ac55cb0d44aaa4949b038409a17..e204c377aa1d0fb1c403f8839cc1af3d72dd2ac0 100644 --- a/asdf.lisp +++ b/asdf.lisp @@ -1,4 +1,4 @@ -;;; This is asdf: Another System Definition Facility. $Revision: 1.74 $ +;;; This is asdf: Another System Definition Facility. $Revision: 1.75 $ ;;; ;;; Feedback, bug reports, and patches are all welcome: please mail to ;;; <cclan-list@lists.sf.net>. But note first that the canonical @@ -94,7 +94,7 @@ (in-package #:asdf) -(defvar *asdf-revision* (let* ((v "$Revision: 1.74 $") +(defvar *asdf-revision* (let* ((v "$Revision: 1.75 $") (colon (or (position #\: v) -1)) (dot (position #\. v))) (and v colon dot @@ -1046,10 +1046,12 @@ output to *verbose-out*. Returns the shell's exit code." #+(and sbcl sbcl-hooks-require) (progn (defun module-provide-asdf (name) - (let ((system (asdf:find-system name nil))) - (when system - (asdf:operate 'asdf:load-op name) - t))) + (handler-bind ((style-warning #'muffle-warning)) + (let* ((*verbose-out* (make-broadcast-stream)) + (system (asdf:find-system name nil))) + (when system + (asdf:operate 'asdf:load-op name) + t)))) (pushnew '(merge-pathnames "systems/"