~mdw
/
clg
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Patch needed for Gentoo
[clg]
/
tools
/
config.lisp
diff --git
a/tools/config.lisp
b/tools/config.lisp
index
04276fe
..
d7f161e
100644
(file)
--- a/
tools/config.lisp
+++ b/
tools/config.lisp
@@
-122,9
+122,9
@@
(defun |#?-reader| (stream subchar arg)
(declare (ignore subchar arg))
(defun |#?-reader| (stream subchar arg)
(declare (ignore subchar arg))
- (let ((not-p (when (char= (peek-char nil stream) #\-)
- (read-char stream)))
- (conditional (read stream t nil t)))
+ (let
*
((not-p (when (char= (peek-char nil stream) #\-)
+
(read-char stream)))
+
(conditional (read stream t nil t)))
(cond
(*read-suppress* (read stream t nil t))
((not *read-eval*)
(cond
(*read-suppress* (read stream t nil t))
((not *read-eval*)
@@
-147,7
+147,11
@@
(values-list
(loop
repeat 4
(values-list
(loop
repeat 4
- for part in (split-string (lisp-implementation-version) :delimiter #\.)
+ ;; We use . and - as delimiters because some Linux
+ ;; distributions tend to patch SBCL and add a distro-specific
+ ;; version tag (like 1.0.19-gentoo).
+ for part in (split-string (lisp-implementation-version) :delimiter '(#\.\
+ #\-))
while (every #'digit-char-p part)
collect (parse-integer part))))
(defun sbcl>= (major minor micro &optional patch)
while (every #'digit-char-p part)
collect (parse-integer part))))
(defun sbcl>= (major minor micro &optional patch)
@@
-155,8
+159,7
@@
(or
(> %major major)
(and (= %major major) (> %minor minor))
(or
(> %major major)
(and (= %major major) (> %minor minor))
- (and (= %major major) (= %minor minor) (>= %micro micro))
- (and (= %major major) (= %minor minor) (>= %micro micro))
+ (and (= %major major) (= %minor minor) (> %micro micro))
(and
(= %major major) (= %minor minor) (= %micro micro)
(>= (or %patch 0) (or patch 0))))))
(and
(= %major major) (= %minor minor) (= %micro micro)
(>= (or %patch 0) (or patch 0))))))