On 5/24/12 May 24 -10:12 AM, Faré wrote:
On Thu, May 24, 2012 at 11:01 AM, Tobias C Rittweiler tcr@freebits.de wrote:
In article 4FBE3BC7.7090505@sift.info, Robert Goldman rpgoldman@sift.info wrote:
On 5/24/12 May 24 -4:13 AM, Tobias C Rittweiler wrote:
Hi there!
Thanks to the ASDF maintainers. I just visited ASDF's website on common-lisp.net since a long time, and it makes a nicely maintained impression! Well done.
I have the following issues:
The rather old ASDF version that I'm using ("2.010") does not seem to be able to cope with multiple :depends-on clauses. (Only one clause seems to be used.)
Is this intended behaviour? Might it be fixed in more recent versions?
Tobias, does ASDF just take the first and quietly throw later ones on the floor, or does it at least emit an error message? If it emits an error message, I think it's ok. But if it quietly discards the second clause, I think it's a bug, and we should make ASDF warn the programmer. I'd encourage you to post a launchpad bug in that case.
Sorry to bother asking you instead of just testing --- I'm traveling and not in a good position to test anything. Similarly not a great time for me to make launchpad bugs.
cheers, r
Yes ignoring the second clause was what happened on SBCL.
I will submit a ticket.
I don't know that it's a bug. As Stelian mentioned, we're using destructuring-bind and/or apply 'make-instance, and that's the normal behavior in these cases. I think we should just document this behavior, and NOT try to catch and raise an error in the case of repeated keys.
I believe I disagree: I don't think that the user of ASDF should have to know that this is done using DESTRUCTURING-BIND --- that's a species of data UN-abstraction. It's also something that is difficult to capture clearly in the defsystem grammar (because "there is only one copy of each keyword" is not a context free grammar). So I think if we can help the user, that would be a good thing, and better than quietly throwing something on the floor.
But I think that makes it up to me to propose a patch, rather than expect anyone else to do it! So I will see if I can make one.
Cheers, r