1.0.45.2: A slightly better error message for malformed reader conditional
authorJuho Snellman <jsnell@iki.fi>
Mon, 6 Dec 2010 02:28:02 +0000 (02:28 +0000)
committerJuho Snellman <jsnell@iki.fi>
Mon, 6 Dec 2010 02:28:02 +0000 (02:28 +0000)
     * Modified from lp#680173 by Roman Marynchak

src/code/early-extensions.lisp
version.lisp-expr

index d6bdf7b..c589ab9 100644 (file)
 ;;; If X is a symbol, see whether it is present in *FEATURES*. Also
 ;;; handle arbitrary combinations of atoms using NOT, AND, OR.
 (defun featurep (x)
-  (etypecase x
+  (typecase x
     (cons
      (case (car x)
        ((:not not)
        ((:or or) (some #'featurep (cdr x)))
        (t
         (error "unknown operator in feature expression: ~S." x))))
-    (symbol (not (null (memq x *features*))))))
+    (symbol (not (null (memq x *features*))))
+    (t
+      (error "invalid feature expression: ~S" x))))
+
 \f
 ;;;; utilities for two-VALUES predicates
 
index 34534e1..4043b97 100644 (file)
@@ -20,4 +20,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.45.1"
+"1.0.45.2"