made debugger handle errors in printing *DEBUG-CONDITION*
[sbcl.git] / src / compiler / checkgen.lisp
index bef3289..e727624 100644 (file)
@@ -13,9 +13,6 @@
 ;;;; files for more information.
 
 (in-package "SB!C")
-
-(file-comment
-  "$Header$")
 \f
 ;;;; cost estimation
 
 ;;; We can always use Multiple-Value-Bind, since the macro is clever about
 ;;; binding a single variable.
 (defun make-type-check-form (types)
-  (collect ((temps))
-    (dotimes (i (length types))
-      (temps (gensym)))
-
-    `(multiple-value-bind ,(temps)
-                         'dummy
+  (let ((temps (make-gensym-list (length types))))
+    `(multiple-value-bind ,temps 'dummy
        ,@(mapcar #'(lambda (temp type)
                     (let* ((spec
                             (let ((*unparse-function-type-simplify* t))
                          (%type-check-error
                           ,temp
                           ',(type-specifier (third type))))))
-                (temps) types)
-       (values ,@(temps)))))
+                temps
+                types)
+       (values ,@temps))))
 
 ;;; Splice in explicit type check code immediately before the node which is
 ;;; Cont's Dest. This code receives the value(s) that were being passed to