X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fdfun.lisp;h=efded14f1ee7ea157fed639ab37a4db6fe546e5d;hb=683874b497a99cd2c11b6c5d9b47e2785b1ede5f;hp=7e0b1be484013d6c99654bb41e8fde55a074a8bc;hpb=0a82f2db352cc348d2107a882e50af222ff97ed3;p=sbcl.git diff --git a/src/pcl/dfun.lisp b/src/pcl/dfun.lisp index 7e0b1be..efded14 100644 --- a/src/pcl/dfun.lisp +++ b/src/pcl/dfun.lisp @@ -156,19 +156,20 @@ And so, we are saved. (defmacro precompile-dfun-constructors (&optional system) (let ((*precompiling-lap* t)) `(progn - ,@(gathering1 (collecting) + ,@(let (collect) (dolist (generator-entry *dfun-constructors*) (dolist (args-entry (cdr generator-entry)) (when (or (null (caddr args-entry)) (eq (caddr args-entry) system)) (when system (setf (caddr args-entry) system)) - (gather1 - `(load-precompiled-dfun-constructor - ',(car generator-entry) - ',(car args-entry) - ',system - ,(apply (fdefinition (car generator-entry)) - (car args-entry))))))))))) + (push `(load-precompiled-dfun-constructor + ',(car generator-entry) + ',(car args-entry) + ',system + ,(apply (fdefinition (car generator-entry)) + (car args-entry))) + collect)))) + (nreverse collect))))) ;;; When all the methods of a generic function are automatically ;;; generated reader or writer methods a number of special @@ -438,9 +439,11 @@ And so, we are saved. (defun make-caching-dfun (generic-function &optional cache) (unless cache (when (use-constant-value-dfun-p generic-function) - (return-from make-caching-dfun (make-constant-value-dfun generic-function))) + (return-from make-caching-dfun + (make-constant-value-dfun generic-function))) (when (use-dispatch-dfun-p generic-function) - (return-from make-caching-dfun (make-dispatch-dfun generic-function)))) + (return-from make-caching-dfun + (make-dispatch-dfun generic-function)))) (multiple-value-bind (nreq applyp metatypes nkeys) (get-generic-function-info generic-function) (declare (ignore nreq)) @@ -1576,7 +1579,7 @@ And so, we are saved. (sort (third type+count+sizes) #'< :key #'car))) *dfun-count*) (mapc #'(lambda (type+count+sizes) - (format t "~&There are ~D dfuns of type ~S." + (format t "~&There are ~W dfuns of type ~S." (cadr type+count+sizes) (car type+count+sizes)) (format t "~% ~S~%" (caddr type+count+sizes))) *dfun-count*)