[cl-store-devel] Sort of a bug
Gustavo
gugamilare at gmail.com
Sun Sep 2 04:10:16 UTC 2007
I hope this project is still running because I really liked it. If it is not
active anymore, I could (maybe in a month) enhance and try to do at least
what is in the file "todo" and create a way to serialize functions...
I use SBCL under Gentoo Linux. Well, I use the gentoo specific version of
SBCL, so, when you call (lisp-implementation-version), it returns "
1.0.9-gentoo". Inside the file cl-store/sbcl/custom.lisp, there is this
piece of code:
;; From 0.9.6.25 sb-kernel::%defstruct
;; takes a source location as a third argument.
(eval-when (:compile-toplevel)
(labels ((make-version (string)
(map-into (make-list 4 :initial-element 0)
#'parse-integer
(asdf::split string nil '(#\.))))
(version>= (v1 v2)
(loop for x in (make-version v1)
for y in (make-version v2)
when (> x y) :do (return t)
when (> y x) :do (return nil)
finally (return t))))
(when (version>= (lisp-implementation-version)
"0.9.6.25")
(pushnew :defstruct-has-source-location *features*))))
So, the parse-integer signals an error (because of the "-gentoo" text inside
the version). Well, I don't know if you like it but this solves the problem:
;; From 0.9.6.25 sb-kernel::%defstruct
;; takes a source location as a third argument.
(eval-when (:compile-toplevel)
(labels ((make-version (string)
(map-into (make-list 4 :initial-element 0)
#'(lambda (str)
(parse-integer str :junk-allowed t))
(asdf::split string nil '(#\.))))
(version>= (v1 v2)
(loop for x in (make-version v1)
for y in (make-version v2)
when (> x y) :do (return t)
when (> y x) :do (return nil)
finally (return t))))
(when (version>= (lisp-implementation-version)
"0.9.6.25")
(pushnew :defstruct-has-source-location *features*))))
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cl-store-devel/attachments/20070902/f53b917f/attachment.html>
More information about the cl-store-devel
mailing list