0.pre7.98:
[sbcl.git] / src / pcl / dfun.lisp
index 7e0b1be..efded14 100644 (file)
@@ -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)))))
 \f
 ;;; 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*)