- (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)
- `(progn
- (setf (sb!xc:macro-function ',name)
- (lambda (,whole ,environment)
- ,@local-decs
- (block ,name
- ,new-body)))
- (setf (fdocumentation ',name 'macro)
- ,doc)
- ',name))))
+
+ ;; old way:
+ ;;(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)
+ ;; `(progn
+ ;; (setf (sb!xc:macro-function ',name)
+ ;; (lambda (,whole ,environment)
+ ;; ,@local-decs
+ ;; (block ,name
+ ;; ,new-body)))
+ ;; (setf (fdocumentation ',name 'macro)
+ ;; ,doc)
+ ;; ',name)))
+
+ `(let ()
+ (sb!xc:defmacro ,name ,lambda-list ,@body)))