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
Yes, my bad. I'll be gone in an upcoming 2.014.10 :-/
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?
The option is only evaluated when someone tries to enforce version with a dependency like (:version "cl-jpeg" "3.4.5"). Sigh.
That's an interesting problem. What's the correct solution?
Accept bad values and throw a style-warning? a warning? a cerror?
I've just committed 2.014.10 where I issue a warning when I detect it.
[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] Arbitrary limits to programs are evil, particularly when they go either enforced or unenforced.