From 7906d57d02ef79f92449001302aa0c1ae2acf6de Mon Sep 17 00:00:00 2001 From: Mikael Djurfeldt Date: Wed, 15 Jan 2003 17:29:09 +0000 Subject: [PATCH] * syncase.scm: Set expansion-eval-closure to the-syncase-eval-closure during booting so that variables are created in the correct module; (define-syntax define-syntax-public eval-when fluid-let-syntax identifier-syntax let-syntax letrec-syntax syntax syntax-case syntax-rules with-syntax include): Removed definitions (these are created from within psyntax.pp). --- ice-9/ChangeLog | 10 ++++++++++ ice-9/syncase.scm | 20 +++++--------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/ice-9/ChangeLog b/ice-9/ChangeLog index 3b02d7921..4771f3976 100644 --- a/ice-9/ChangeLog +++ b/ice-9/ChangeLog @@ -1,3 +1,13 @@ +2003-01-15 Mikael Djurfeldt + + * syncase.scm: Set expansion-eval-closure to + the-syncase-eval-closure during booting so that variables are + created in the correct module; + (define-syntax define-syntax-public eval-when fluid-let-syntax + identifier-syntax let-syntax letrec-syntax syntax syntax-case + syntax-rules with-syntax include): Removed definitions (these are + created from within psyntax.pp). + 2003-01-10 Mikael Djurfeldt * occam-channel.scm (make-channel): Renamed from channel. diff --git a/ice-9/syncase.scm b/ice-9/syncase.scm index 92bb0d370..ea9a7ceac 100644 --- a/ice-9/syncase.scm +++ b/ice-9/syncase.scm @@ -1,4 +1,4 @@ -;;;; Copyright (C) 1997, 2000, 2001, 2002 Free Software Foundation, Inc. +;;;; Copyright (C) 1997, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. ;;;; ;;;; This program is free software; you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by @@ -71,8 +71,6 @@ (with-fluids ((expansion-eval-closure (env->eval-closure env))) (sc-expand exp))))) -(fluid-set! expansion-eval-closure (env->eval-closure #f)) - ;;; Exported variables (define sc-expand #f) @@ -88,18 +86,6 @@ (define identifier? #f) (define syntax-object->datum #f) -(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 unquote-splicing case)) @@ -141,6 +127,8 @@ (define the-syncase-module (current-module)) (define the-syncase-eval-closure (module-eval-closure the-syncase-module)) +(fluid-set! expansion-eval-closure the-syncase-eval-closure) + (define (putprop symbol key binding) (let* ((v ((fluid-ref expansion-eval-closure) symbol #t))) (if (symbol-property symbol 'primitive-syntax) @@ -248,3 +236,5 @@ (begin ;(eval-case ((load-toplevel) (export-syntax name))) (define-syntax name rules ...))))) + +(fluid-set! expansion-eval-closure (env->eval-closure #f))