b. The body of (EVAL-WHEN (:COMPILE-TOPLEVEL) ...) is evaluated in
the null lexical environment.
+206: ":SB-FLUID feature broken"
+ (reported by Antonio Martinez-Shotton sbcl-devel 2002-10-07)
+ Enabling :SB-FLUID in the target-features list in sbcl-0.7.8 breaks
+ the build.
+
DEFUNCT CATEGORIES OF BUGS
IR1-#:
These labels were used for bugs related to the old IR1 interpreter.
;;; 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)
- `(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)))