X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/clg/blobdiff_plain/f2b5b118faa5b7c18a3dbb9a93a65947e84fbde4..5fe4b66c0862337fab0c61a29a81c28bd4370e39:/tools/config.lisp diff --git a/tools/config.lisp b/tools/config.lisp index 432c906..472d02a 100644 --- a/tools/config.lisp +++ b/tools/config.lisp @@ -122,9 +122,9 @@ (defun pkg-libdir (package) (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*) @@ -147,7 +147,10 @@ (defun sbcl-version () (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)