X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Ftypedefs.lisp;h=e8480f1cc0b5cf3b27019b5abd43f31b219358dd;hb=65b5ab7e713d04e0d76bc0ee196374f6e57b922f;hp=d9403c205fce4a09f94e1e58ac2f957df1118758;hpb=08d05510b51708853ca998154d8096b21d85edab;p=sbcl.git diff --git a/src/code/typedefs.lisp b/src/code/typedefs.lisp index d9403c2..e8480f1 100644 --- a/src/code/typedefs.lisp +++ b/src/code/typedefs.lisp @@ -47,13 +47,15 @@ (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.