1.0.31.7: transform %FIND-POSITION for strings
[sbcl.git] / src / code / defmacro.lisp
index 5bc4f47..39ec97c 100644 (file)
                     ;; 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)