0.8.0.10:
authorAlexey Dejneka <adejneka@comail.ru>
Tue, 27 May 2003 18:13:39 +0000 (18:13 +0000)
committerAlexey Dejneka <adejneka@comail.ru>
Tue, 27 May 2003 18:13:39 +0000 (18:13 +0000)
        Beautified (I hope) error reporting for "single-value"
        compile-time type errors.

src/compiler/ctype.lisp
src/compiler/ir1opt.lisp
version.lisp-expr

index c6bee54..2c9a094 100644 (file)
 
 (defun %compile-time-type-error (values atype dtype)
   (declare (ignore dtype))
-  (error 'values-type-error :datum values :expected-type atype))
+  (if (and (consp atype)
+           (eq (car atype) 'values))
+      (error 'values-type-error :datum values :expected-type atype)
+      (error 'type-error :datum (car values) :expected-type atype)))
 
 (defoptimizer (%compile-time-type-error ir2-convert)
     ((objects atype dtype) node block)
index 8b25671..d7afaee 100644 (file)
          value
          ;; FIXME: Derived type.
          `(%compile-time-type-error 'dummy
-                                    ',(type-specifier (coerce-to-values atype))
+                                    ',(type-specifier atype)
                                     ',(type-specifier value-type)))
         ;; KLUDGE: FILTER-CONTINUATION does not work for
         ;; non-returning functions, so we declare the return type of
index c3f8ca6..4de3781 100644 (file)
@@ -17,4 +17,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".)
-"0.8.0.9"
+"0.8.0.10"