chiark / gitweb /
src/parser/package.lisp: Do better at finding Gray streams on CMUCL.
authorMark Wooding <mdw@distorted.org.uk>
Thu, 26 May 2016 08:26:09 +0000 (09:26 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sun, 29 May 2016 13:27:39 +0000 (14:27 +0100)
Take the opportunity to reorganize the conditional machinery.  Avoid the
trap waiting because CMUCL's Gray streams are in its `extensions'
package, along with things whose names which conflict with our
utilities.

src/parser/package.lisp

index 811440c1f20659704f10b20e797b90f3a85f04db..623c297b8c3050445e76ad02aca5a9460d5082e4 100644 (file)
@@ -29,10 +29,13 @@ (cl:defpackage #:sod-parser
 
        ;; Try to find Gray streams support from somewhere.  ECL tucks them
        ;; somewhere unhelpful.
-       #+sbcl #:sb-gray
-       #+cmu #:extensions
-       #+ecl #.(if (find-package '#:gray) '#:gray '#:si)
-       #+clisp #:gray
-       #-(or sbcl cmu ecl clisp) ...))
+       #.(or (car '(#+sbcl #:sb-gray
+                    #+cmu #:extensions
+                    #+ecl #.(if (find-package '#:gray) '#:gray '#:si)
+                    #+clisp #:gray))
+             (error "Unsupported Lisp (can't find Gray streams).")))
+
+  ;; CMUCL's `extensions' package has lots of cruft.  Use our cruft instead.
+  #+cmu (:shadowing-import-from #:sod-utilities #:symbolicate #:once-only))
 
 ;;;----- That's all, folks --------------------------------------------------