prettier backtraces
[sbcl.git] / src / code / typedefs.lisp
index d9403c2..e8480f1 100644 (file)
         (parse-body body :doc-string-allowed nil)
       `(progn
          (!cold-init-forms
-          (setf (info :type :translator ',name)
-                (lambda (,whole)
-                  (block ,name
-                    (destructuring-bind ,wholeless-arglist
-                        (rest ,whole) ; discarding NAME
-                      ,@decls
-                      ,@forms)))))
+          (let ((fun (lambda (,whole)
+                       (block ,name
+                         (destructuring-bind ,wholeless-arglist
+                             (rest ,whole)  ; discarding NAME
+                           ,@decls
+                       ,@forms)))))
+            #-sb-xc-host
+            (setf (%simple-fun-arglist (the simple-fun fun)) ',wholeless-arglist)
+            (setf (info :type :translator ',name) fun)))
          ',name))))
 
 ;;; DEFVARs for these come later, after we have enough stuff defined.