On 23 April 2011 18:03, Zach Beane xach@xach.com wrote:
The ASDF code didn't actually mandate a string type for the slot until a couple minor versions ago, and that's what's causing the compile-time failure on SBCL (and only then at safety 3).
Following your failure report, I promptly commented out the :type string.
It is an error according to age-old spec that anything be used as version but a string that satisfies parse-version (a function I just added, but that only robustly implements the spec from a28bd5a2 and earlier in 2002).
Now, considering how many systems in the wild are in such error, they should be, if not grandfathered, at least given a reasonable chance to get fixed. And so I removed the enforcement and replaced it with a warning while parsing the defsystem form.
Hopefully, by next year (haha), we can either replace that with stricter enforcement (after getting those packages fixed) or agree on dropping the requirement entirely.
Code that actually cared about the version would have failed at runtime. Clearly, at the moment, nobody cares - it would be nice to defer the problem until someone starts caring.
Indeed. Sorry for breaking stuff, and thanks again for testing!
Please test again with 2.014.11.
PS: +1 on comments by rpgoldman
PPS: I just made asdf more verbose in verbose mode. However, verbose mode is the default, so this may or may not be annoying. Please tell me.
[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] Fraud is the homage that force pays to reason. — Charles Curtis