diff --git a/ice-9/ChangeLog b/ice-9/ChangeLog index b68f9bea0..8c273792b 100644 --- a/ice-9/ChangeLog +++ b/ice-9/ChangeLog @@ -1,3 +1,10 @@ +2002-11-16 Dirk Herrmann + + * syncase.scm (define-syntax, eval-when, fluid-let-syntax, + identifier-syntax, let-syntax, letrec-syntax, syntax, syntax-case, + syntax-rules, with-syntax, include): Changed definitions to form + 'real' macro definitions. + 2002-11-16 Dirk Herrmann * boot-9.scm (define-private, export-syntax, export-syntax): diff --git a/ice-9/syncase.scm b/ice-9/syncase.scm index dea7d615c..92bb0d370 100644 --- a/ice-9/syncase.scm +++ b/ice-9/syncase.scm @@ -83,21 +83,22 @@ (define bound-identifier=? #f) (define datum->syntax-object #f) -(define define-syntax sc-macro) -(define eval-when sc-macro) -(define fluid-let-syntax sc-macro) (define free-identifier=? #f) (define generate-temporaries #f) (define identifier? #f) -(define identifier-syntax sc-macro) -(define let-syntax sc-macro) -(define letrec-syntax sc-macro) -(define syntax sc-macro) -(define syntax-case sc-macro) (define syntax-object->datum #f) -(define syntax-rules sc-macro) -(define with-syntax sc-macro) -(define include sc-macro) + +(defmacro define-syntax args `(sc-macro ,@args)) +(defmacro eval-when args `(sc-macro ,@args)) +(defmacro fluid-let-syntax args `(sc-macro ,@args)) +(defmacro identifier-syntax args `(sc-macro ,@args)) +(defmacro let-syntax args `(sc-macro ,@args)) +(defmacro letrec-syntax args `(sc-macro ,@args)) +(defmacro syntax args `(sc-macro ,@args)) +(defmacro syntax-case args `(sc-macro ,@args)) +(defmacro syntax-rules args `(sc-macro ,@args)) +(defmacro with-syntax args `(sc-macro ,@args)) +(defmacro include args `(sc-macro ,@args)) (define primitive-syntax '(quote lambda letrec if set! begin define or and let let* cond do quasiquote unquote