From 14d8510d30b5ee723ad9c2d89ff907ec38923e51 Mon Sep 17 00:00:00 2001 From: Christophe Rhodes Date: Sat, 2 Aug 2003 15:58:06 +0000 Subject: [PATCH] 0.8.2.13: Fix an error in the recent array-type refactoring; type checks on vectors were incorrectly reported (as "unbound variable SAETP" rather than a type error). --- src/code/interr.lisp | 2 +- tests/seq.impure.lisp | 6 ++++++ version.lisp-expr | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/code/interr.lisp b/src/code/interr.lisp index 41247c1..2ca9050 100644 --- a/src/code/interr.lisp +++ b/src/code/interr.lisp @@ -283,7 +283,7 @@ (object) (error 'type-error :datum object - :expected-type `(simple-array + :expected-type '(simple-array ,(sb!vm:saetp-specifier saetp) (*))))) sb!vm:*specialized-array-element-type-properties*)))) diff --git a/tests/seq.impure.lisp b/tests/seq.impure.lisp index b298f78..3470c35 100644 --- a/tests/seq.impure.lisp +++ b/tests/seq.impure.lisp @@ -339,6 +339,12 @@ (declare (optimize (safety 3))) (assert (raises-error? (elt (list 1 2 3) 3) type-error))) +;;; confusion in the refactoring led to this signalling an unbound +;;; variable, not a type error. +(defun svrefalike (x) + (svref x 0)) +(assert (raises-error? (svrefalike #*0) type-error)) + ;;; checks for uniform bounding index handling under SAFETY 3 code. ;;; ;;; KLUDGE: not all in one big form because that causes SBCL to spend diff --git a/version.lisp-expr b/version.lisp-expr index 38b4159..99c8197 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.2.12" +"0.8.2.13" -- 1.7.10.4