diff --git a/compiler/ir1tran.lisp b/compiler/ir1tran.lisp index 4713d93f3f0cb86eee88dcce4cae81e61bce7e08..b01aff4cb471a221d04905b11d60bb9e7a03166a 100644 --- a/compiler/ir1tran.lisp +++ b/compiler/ir1tran.lisp @@ -2163,11 +2163,10 @@ (let ((name (first def)) (arglist (second def)) (body (cddr def))) - (multiple-value-bind (body local-decs) - (lisp::parse-defmacro - arglist whole body name - :environment environment - :error-string 'lisp::defmacro-error-string) + (multiple-value-bind + (body local-decs) + (lisp::parse-defmacro arglist whole body name 'macrolet + :environment environment) (unless (symbolp name) (compiler-error "Macro name ~S is not a symbol." name)) (when (< (length def) 3) diff --git a/compiler/macros.lisp b/compiler/macros.lisp index 5444679a6bde266655749b1960a71965c10f5eff..35bf8deca03dffafe9f18fd9d4aecb12b3bf4e49 100644 --- a/compiler/macros.lisp +++ b/compiler/macros.lisp @@ -147,12 +147,11 @@ (let ((fn-name (symbolicate "IR1-CONVERT-" name)) (n-form (gensym)) (n-env (gensym))) - (multiple-value-bind (body decls doc) - (lisp::parse-defmacro - lambda-list n-form body name - :error-string "Wrong number of arguments to special form ~S: ~D." - :doc-string-allowed t - :environment n-env) + (multiple-value-bind + (body decls doc) + (lisp::parse-defmacro lambda-list n-form body name 'special-form + :doc-string-allowed t + :environment n-env) `(progn (proclaim '(function ,fn-name (continuation continuation t) void)) (defun ,fn-name (,start-var ,cont-var ,n-form) @@ -193,10 +192,11 @@ (let ((fn-name (symbolicate "SOURCE-TRANSFORM-" name)) (n-form (gensym)) (n-env (gensym))) - (multiple-value-bind (body decls) - (lisp::parse-defmacro lambda-list n-form body name - :error-string "Foo!" - :environment n-env) + (multiple-value-bind + (body decls) + (lisp::parse-defmacro lambda-list n-form body name + 'def-source-transform + :environment n-env) `(progn (defun ,fn-name (,n-form) (let ((,n-env *lexical-environment*)) @@ -215,11 +215,11 @@ (let ((fn-name (symbolicate "PRIMITIVE-TRANSLATE-" name)) (n-form (gensym)) (n-env (gensym))) - (multiple-value-bind (body decls) - (lisp::parse-defmacro - lambda-list n-form body name - :error-string "Wrong number of arguments to primitive ~S: ~D." - :environment n-env) + (multiple-value-bind + (body decls) + (lisp::parse-defmacro lambda-list n-form body name + 'def-primitive-translator + :environment n-env) `(progn (defun ,fn-name (,n-form) (let ((,n-env *lexical-environment*))