From: Alexey Dejneka Date: Tue, 27 May 2003 18:13:39 +0000 (+0000) Subject: 0.8.0.10: X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=6f9c6122f1a48881f00758e532161756892a4d10;p=sbcl.git 0.8.0.10: Beautified (I hope) error reporting for "single-value" compile-time type errors. --- diff --git a/src/compiler/ctype.lisp b/src/compiler/ctype.lisp index c6bee54..2c9a094 100644 --- a/src/compiler/ctype.lisp +++ b/src/compiler/ctype.lisp @@ -782,7 +782,10 @@ (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) diff --git a/src/compiler/ir1opt.lisp b/src/compiler/ir1opt.lisp index 8b25671..d7afaee 100644 --- a/src/compiler/ir1opt.lisp +++ b/src/compiler/ir1opt.lisp @@ -1747,7 +1747,7 @@ 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 diff --git a/version.lisp-expr b/version.lisp-expr index c3f8ca6..4de3781 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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"