X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fmacros.lisp;h=835f5a3e80ee7f2e414566aaa8c917f5675149e3;hb=ff92598854bf7cae8d57fe49cef4d9a98e1ab345;hp=dbb41f928ed4e4d3470cf8ef1519780a754f1b71;hpb=287475f107626c6c8993b955daa9b19b292e69fd;p=sbcl.git diff --git a/src/compiler/macros.lisp b/src/compiler/macros.lisp index dbb41f9..835f5a3 100644 --- a/src/compiler/macros.lisp +++ b/src/compiler/macros.lisp @@ -58,11 +58,12 @@ `(progn (declaim (ftype (function (ctran ctran (or lvar null) t) (values)) ,fn-name)) - (defun ,fn-name (,start-var ,next-var ,result-var ,n-form) - (let ((,n-env *lexenv*)) - ,@decls - ,body - (values))) + (defun ,fn-name (,start-var ,next-var ,result-var ,n-form + &aux (,n-env *lexenv*)) + (declare (ignorable ,start-var ,next-var ,result-var)) + ,@decls + ,body + (values)) ,@(when doc `((setf (fdocumentation ',name 'function) ,doc))) ;; FIXME: Evidently "there can only be one!" -- we overwrite any @@ -513,6 +514,7 @@ (let ((n-args (gensym))) `(progn (defun ,name (,n-node ,@vars) + (declare (ignorable ,@vars)) (let ((,n-args (basic-combination-args ,n-node))) ,(parse-deftransform lambda-list body n-args `(return-from ,name nil))))