[asdf-devel] Re: Mistake (?) in grammar of defsystem
Robert P. Goldman
rpgoldman at sift.net
Sat Feb 22 22:53:03 UTC 2014
Thanks, Faré. Quick follow up: is there any construct that has semantics like "If this feature is not in features, fail"?
On February 22, 2014 4:22:17 PM CST, "Faré" <fare at tunes.org> wrote:
>On Sat, Feb 22, 2014 at 2:56 PM, Robert P. Goldman
><rpgoldman at sift.info> wrote:
>> I see that the grammar of dependencies in the manual specifies that
>> :version appears as a keyword symbol, but feature appears as *not* a
>> keyword symbol.
>> Is this a documentation bug? I think so, but you know the actual
>> execution semantics better.
>> If it is a doc bug, I'll fix it right away.
>Beware that there are two "feature" features
>1- In a depends-on specification, as defined in find-component.lisp,
>you can write (:feature <feature-expression> <dependency-spec>), where
>the dependency link is valid if <feature-expression> is true as per
>featurep. This feature was hidden in the ASDF 1 code, but I'm not
>convinced this feature worked before ASDF 3, when I fixed it for good.
>Therefore, I'm pretty sure noone uses this feature.
>2- In a component-depends-on method or in-order-to specification,
>(feature foo) instead of (operation components...) then a missing
>dependency error is raised. This was used in conjunction with the
>ill-designed :if-component-dep-fails feature to provide conditional
>dependency. This later feature was removed (minus a thin partial
>compatibility layer for old SBCLs), because it was not compatible with
>the fixed ASDF3 dependency model.
>I suggest both features should probably be deprecated and removed, and
>the :if-feature feature introduced in ASDF3, that actually works. If
>any system anywhere uses these features, they should be fixed ASAP.
>We should probably run a cl-test-grid test with these features
>disabled. See patch attached.
>NB: I obviously cannot commit this patch unless the maintainer wants
>me to. Robert, this baby is yours. The diff above also doesn't remove
>the misfeatures from the tests and documentation.
>—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics•
>The program isn't debugged until the last user is dead.
Sent from my Android device with K-9 Mail. Please excuse my brevity.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the asdf-devel