1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-15 10:10:21 +02:00

remove define-syntax-macro from boot-9.scm

* ice-9/boot-9.scm (defmacro:syntax-transformer, define-syntax-macro):
  Removed these, as I could not see anywhere they were being used, and
  they use the unnecessary procedure->syntax procedure.
This commit is contained in:
Andy Wingo 2008-09-02 09:32:31 -07:00
parent 29a321aef0
commit 275e003295

View file

@ -167,12 +167,6 @@
(error "defmacro can only be used at the top level"))))))) (error "defmacro can only be used at the top level")))))))
(defmacro:transformer defmacro-transformer))) (defmacro:transformer defmacro-transformer)))
(define defmacro:syntax-transformer
(lambda (f)
(procedure->syntax
(lambda (exp env)
(copy-tree (apply f (cdr exp)))))))
;; XXX - should the definition of the car really be looked up in the ;; XXX - should the definition of the car really be looked up in the
;; current module? ;; current module?
@ -2712,18 +2706,6 @@ module '(ice-9 q) '(make-q q-length))}."
(error "define-macro can only be used at the top level"))))) (error "define-macro can only be used at the top level")))))
(defmacro define-syntax-macro (first . rest)
(let ((name (if (symbol? first) first (car first)))
(transformer
(if (symbol? first)
(car rest)
`(lambda ,(cdr first) ,@rest))))
`(eval-case
((load-toplevel compile-toplevel)
(define ,name (defmacro:syntax-transformer ,transformer)))
(else
(error "define-syntax-macro can only be used at the top level")))))
;;; {While} ;;; {While}