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é" <f...@tunes.org> wrote: >On Sat, Feb 22, 2014 at 2:56 PM, Robert P. Goldman ><rpgold...@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• >http://fare.tunes.org >The program isn't debugged until the last user is dead. -- Sent from my Android device with K-9 Mail. Please excuse my brevity.