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