On 4/22/11 Apr 22 -3:05 PM, Zach Beane wrote:
Faré fahree@gmail.com writes:
On 22 April 2011 13:59, Faré fahree@gmail.com wrote:
After building the Quicklisp universe again with 2.014.8, it's clear that many projects (over 30) are affected by the ASDF:SYSTEM-DEFINITION-PATHNAME changes. It seems like anything that uses cffi-grovel is broken, e.g. osicat, gsll, shuffletron, hemlock, and many more.
Oops. I'll remove that cerror for now, and just have a docstring.
Thanks for the testing...
Please retry with 2.014.9.
I've retried with 2.014.9, and the cffi-grovel-related problems are gone, but there's an interesting new problem.
2.014.9 includes this line:
(declaim (optimize (speed 2) (debug 3) (safety 3))) ; XXXXX debug only
At (safety 3), SBCL is more aggressive about type-checking CLOS slots. As a result of the new declaration of the VERSION slot of a component to be of type STRING, several projects have systems that fail to load due to type errors:
cl-jpeg uses ":version 1.025"
nekthuth uses ":version (format nil "~A" +nekthuth-version+)", apparently expecting it to be evaluated
js-parser and jwacs use ":version *version*"
meta-sexp uses ":version +meta-sexp-version+"
rutils uses ":version '(0 3 1)"
Was the :version option evaluated in the past?
I believe not. I am looking at the definition of the now pretty old SHOP2 system and I see:
:version #.cl-user::+shop-version+
I suppose that would have worked even if the version /was/ evaluated, though, since strings would evaluate to themselves....
I find it relatively easy to believe that no one was looking seriously at these versions, since many of the versions in the wild, even the ones that are correctly string-valued, are semantically defective.
r