X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fdefs.lisp;h=f057b9f5a9a27ab9e204043e4570f1948602248d;hb=6e9a41e3ec4205f3a6e02ba50ff36f4159a3dfd9;hp=777338a6a965ef05141e94a8ad5e72528680449c;hpb=5295ccac8b45e11dfdbabc0a0beb8a4fffc27e6d;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)