On 4/18/10 Apr 18 -9:00 AM, Juan Jose Garcia-Ripoll wrote:
I know there are bug reports in launchpad, and that this has been expelled from 2.0 as of not urgent fix, but seems the latest changes have broken it beyond fix.
I was playing with the following system (yes, I know the syntax is wrong), to make :feature at some point more useful but a simple experiment reveals that the structure dependency is being pushed into the list returned by COMPONENT-DEPENDS-ON and that this list causes an error in COMPONENT-SELF-DEPENDENCIES.
(defsystem :foo :components ((:file "foo1" :depends-on ((:feature :foo-method1))) (:file "foo2" :depends-on ((:feature (not :foo-method1))))))
- (asdf:load-system :foo)
[...] ; file: /Users/jjgarcia/devel/asdf-decl/examples/feature/../../asdf.lisp (CERROR "Continue nonetheless." "Congratulations, you're the first ever user of FEATURE dependencies! Please contact the asdf-devel mailing-list.") 0] (continue)
debugger invoked on a TYPE-ERROR: The value (:FEATURE :FOO-METHOD1) is not of type (OR (VECTOR CHARACTER) (VECTOR NIL) BASE-STRING SYMBOL CHARACTER).
Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name): 0: [ABORT] Exit debugger, returning to top level.
(STRING= "foo1" (:FEATURE :FOO-METHOD1))[:EXTERNAL] 0]
I suspect this is largely my fault. I was reporting that ASDF Classic had /two/ ways of processing a :FEATURE dependency, and that this was undesirable. However, the error message above suggests that I may have tricked Faré into removing the wrong one. See https://bugs.launchpad.net/asdf/+bug/518467
Let's move this discussion to a launchpad ticket. If we decide that this example here is valid, then let us also turn Juanjo's example into a new test case.
Best, r