X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fdlisp3.lisp;h=c935ec2cfc32b1e6fe3da4ac439df487de13ae1a;hb=d01d509257052e694365b76be5ab597fa06764ec;hp=c3209ac6669b2322129de52070721f61f83cab22;hpb=ed7ba4dad8a79726fdfeba5aa12e276ea852c540;p=sbcl.git diff --git a/src/pcl/dlisp3.lisp b/src/pcl/dlisp3.lisp index c3209ac..c935ec2 100644 --- a/src/pcl/dlisp3.lisp +++ b/src/pcl/dlisp3.lisp @@ -59,22 +59,17 @@ (nil nil (class class) t))) ) ; EVAL-WHEN -(defmacro make-checking-or-caching-function-list () - `(list ,@(mapcar (lambda (key) - `(cons ',key (emit-checking-or-caching-macro ,@key))) - *checking-or-caching-list*))) - ;;; Rather than compiling the constructors here, just tickle the range ;;; of shapes defined above, leaving the generation of the ;;; constructors to precompile-dfun-constructors. (dolist (key *checking-or-caching-list*) (destructuring-bind (cached-emf-p return-value-p metatypes applyp) key (multiple-value-bind (args generator) - (if cached-emf-p - (if return-value-p - (values (list metatypes) 'emit-constant-value) - (values (list metatypes applyp) 'emit-caching)) - (if return-value-p - (values (list metatypes) 'emit-in-checking-p) - (values (list metatypes applyp) 'emit-checking))) + (if cached-emf-p + (if return-value-p + (values (list metatypes) 'emit-constant-value) + (values (list metatypes applyp) 'emit-caching)) + (if return-value-p + (values (list metatypes) 'emit-in-checking-p) + (values (list metatypes applyp) 'emit-checking))) (apply #'get-dfun-constructor generator args))))