X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fdefmacro.lisp;h=adb9d35df179c82bbf6e2d51c81b60b422f5329a;hb=073501ed49414d9638cb41c05fb80627529f796d;hp=74e2ea9666e4d154ba71f17ad8c9bdf174bd1ec9;hpb=a40c4adfd7837230109cdb1f054b44fe0b15371a;p=sbcl.git diff --git a/src/code/defmacro.lisp b/src/code/defmacro.lisp index 74e2ea9..adb9d35 100644 --- a/src/code/defmacro.lisp +++ b/src/code/defmacro.lisp @@ -35,6 +35,7 @@ ;;; still useful in the target interpreter, and in the ;;; cross-compilation host. (defun sb!c::%defmacro (name definition lambda-list doc) + (declare (ignore lambda-list)) (sb!c::%%defmacro name definition doc)) ;;; (called by SB!C::%DEFMACRO) @@ -77,12 +78,15 @@ ;;; DEFMACRO-MUNDANELY is like SB!XC:DEFMACRO, except that it doesn't ;;; have any EVAL-WHEN or IR1 magic associated with it, so it only ;;; takes effect in :LOAD-TOPLEVEL or :EXECUTE situations. +;;; +;;; FIXME: It'd probably be good (especially for DEFMACRO) +;;; to make this share more code with DEFMACRO. (def!macro defmacro-mundanely (name lambda-list &body body) (let ((whole (gensym "WHOLE-")) - (environment (gensym "ENVIRONMENT-"))) - (multiple-value-bind (new-body local-decs doc) - (parse-defmacro lambda-list whole body name 'defmacro - :environment environment) + (environment (gensym "ENVIRONMENT-"))) + (multiple-value-bind (new-body local-decs doc) + (parse-defmacro lambda-list whole body name 'defmacro + :environment environment) `(progn (setf (sb!xc:macro-function ',name) (lambda (,whole ,environment)