X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fpcl%2Fdefs.lisp;h=f057b9f5a9a27ab9e204043e4570f1948602248d;hb=dad60222de85068322fbd0214b9c715053510f4d;hp=777338a6a965ef05141e94a8ad5e72528680449c;hpb=1ca4f69009204caee2484161e6eb89fa6c5fd3f6;p=sbcl.git diff --git a/src/pcl/defs.lisp b/src/pcl/defs.lisp index 777338a..f057b9f 100644 --- a/src/pcl/defs.lisp +++ b/src/pcl/defs.lisp @@ -155,16 +155,14 @@ ;;; ;;; FIXME: SB-KERNEL has fast-and-not-quite-precise type code for use ;;; in the compiler. Could we share some of it here? +(defvar *in-*subtypep* nil) + (defun *subtypep (type1 type2) (if (equal type1 type2) (values t t) (if (eq **boot-state** 'early) (values (eq type1 type2) t) - (let ((*in-precompute-effective-methods-p* t)) - (declare (special *in-precompute-effective-methods-p*)) - ;; FIXME: *IN-PRECOMPUTE-EFFECTIVE-METHODS-P* is not a - ;; good name. It changes the way - ;; CLASS-APPLICABLE-USING-CLASS-P works. + (let ((*in-*subtypep* t)) (setq type1 (*normalize-type type1)) (setq type2 (*normalize-type type2)) (case (car type2)