[Bug-openmcl] cacheable-ctype-p
bryan o'connor
bryan-openmcl at lunch.org
Sat Feb 28 13:51:12 MST 2004
first of all, thank you for coding this. it would have taken me
10x as long. just one minor fix and one addition for it:
negation-ctype: call cacheable-ctype-p on the negated ctype.
member-ctype: if i can read your mind, i think an intended return
is missing in the dolist. otherwise, it always evals to t.
this nails those 5 subtypep problems.
...bryan
Index: level-1/l1-typesys.lisp
===================================================================
RCS file: /usr/local/tmpcvs/ccl-0.14-dev/ccl/level-1/l1-typesys.lisp,v
retrieving revision 1.12
diff -u -r1.12 l1-typesys.lisp
--- level-1/l1-typesys.lisp 28 Feb 2004 09:22:22 -0000 1.12
+++ level-1/l1-typesys.lisp 28 Feb 2004 20:47:51 -0000
@@ -1368,11 +1368,13 @@
;;; be stack-allocated or might be EQUAL without being EQL.
(defun cacheable-ctype-p (ctype)
(case (%svref ctype 0)
+ (negation-ctype
+ (cacheable-ctype-p (negation-ctype-type ctype)))
(member-ctype
(dolist (m (member-ctype-members ctype) t)
(when (or (typep m 'cons)
(typep m 'array))
- nil)))
+ (return nil))))
(union-ctype
(every #'cacheable-ctype-p (union-ctype-types ctype)))
(intersection-ctype
More information about the Bug-openmcl
mailing list