From 672ded2dc6fe5821a3ad9e06312a0d80689a375e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kochma=C5=84ski?= Date: Wed, 25 May 2016 08:47:55 +0200 Subject: [PATCH] typep: handle * type This is the same as T according to '2.4.3 Type Specifiers' in the spec. Fixes #240. "If a type specifier is a list, the car of the list is a symbol, and the rest of the list is subsidiary type information. Such a type specifier is called a compound type specifier. Except as explicitly stated otherwise, the subsidiary items can be unspecified. The unspecified subsidiary items are indicated by writing *. For example, to completely specify a vector, the type of the elements and the length of the vector must be present." --- src/lsp/predlib.lsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lsp/predlib.lsp b/src/lsp/predlib.lsp index 845e95f8c..13e3b9218 100644 --- a/src/lsp/predlib.lsp +++ b/src/lsp/predlib.lsp @@ -539,7 +539,7 @@ Returns T if X belongs to TYPE; NIL otherwise." (AND (dolist (e i t) (unless (typep object e) (return nil)))) (SATISFIES (funcall (car i) object)) - ((T) t) + ((T *) t) ((NIL) nil) (BIGNUM (and (integerp object) (not (si::fixnump object)))) (STANDARD-CHAR