Does version satisfy the version-spec. A generic function. ASDF provides built-in methods for version being a
componentorstring. version-spec should be a string. If it's a component, its version is extracted as a string before further processing.A version string satisfies the version-spec if after parsing, the former is no older than the latter. Therefore
"1.9.1","1.9.2"and"1.10"all satisfy"1.9.1", but"1.8.4"or"1.9"do not. For more information about howversion-satisfiesparses and interprets version strings and specifications, see The defsystem grammar (version specifiers) and Common attributes of components.Note that in versions of ASDF prior to 3.0.1, including the entire ASDF 1 and ASDF 2 series,
version-satisfieswould also require that the version and the version-spec have the same major version number (the first integer in the list); if the major version differed, the version would be considered as not matching the spec. But that feature was not documented, therefore presumably not relied upon, whereas it was a nuisance to several users. Starting with ASDF 3.0.1,version-satisfiesdoes not treat the major version number specially, and returns T simply if the first argument designates a version that isn't older than the one specified as a second argument. If needs be, the(:version ...)syntax for specifying dependencies could be in the future extended to specify an exclusive upper bound for compatible versions as well as an inclusive lower bound.