X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fdefmacro.lisp;h=39ec97cfaf9e3a84abbdb12cd523f4f0cef98807;hb=d442c23da9851beac541b8bddfc2c0837cb87309;hp=d45a27c0603bfc80e4e99eb73919240013d93978;hpb=cb83aa22932bf4b9bc74ac6f0fcd91db1702ad33;p=sbcl.git diff --git a/src/code/defmacro.lisp b/src/code/defmacro.lisp index d45a27c..39ec97c 100644 --- a/src/code/defmacro.lisp +++ b/src/code/defmacro.lisp @@ -43,7 +43,7 @@ ;; function, and report spurious warnings about ;; redefinition a macro as a function, and then ;; vice versa. - #-sb-xc-host #-sb-xc-host named-lambda (defmacro ,name) + #-sb-xc-host named-lambda #-sb-xc-host (defmacro ,name) (,whole ,environment) ,@local-decs ,new-body)) @@ -90,18 +90,11 @@ ;; will involve finding the old macro lambda-list ;; and comparing it with the new one. (style-warn "redefining ~S in DEFMACRO" name)) - (setf (sb!xc:macro-function name) definition - (fdocumentation name 'function) doc) + (setf (sb!xc:macro-function name) definition) ,(when set-p - `(case (widetag-of definition) - (#.sb!vm:closure-header-widetag - (setf (%simple-fun-arglist (%closure-fun definition)) - lambda-list - (%simple-fun-name (%closure-fun definition)) - debug-name)) - (#.sb!vm:simple-fun-header-widetag - (setf (%simple-fun-arglist definition) lambda-list - (%simple-fun-name definition) debug-name)))) + `(setf (%fun-doc definition) doc + (%fun-lambda-list definition) lambda-list + (%fun-name definition) debug-name)) name)))) (progn (def (:load-toplevel :execute) #-sb-xc-host t #+sb-xc-host nil)