diff --git a/ice-9/ChangeLog b/ice-9/ChangeLog index 4771f3976..f5c55ab2a 100644 --- a/ice-9/ChangeLog +++ b/ice-9/ChangeLog @@ -1,13 +1,17 @@ 2003-01-15 Mikael Djurfeldt + * boot-9.scm (use-syntax): Return *unspecified*. + * syncase.scm: Set expansion-eval-closure to the-syncase-eval-closure during booting so that variables are - created in the correct module; + created in the correct module. + (syncase): Set expansion-eval-closure. (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/boot-9.scm b/ice-9/boot-9.scm index dd18a8a04..033ab71cd 100644 --- a/ice-9/boot-9.scm +++ b/ice-9/boot-9.scm @@ -1,6 +1,6 @@ ;;; installed-scm-file -;;;; Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 Free Software Foundation, Inc. +;;;; Copyright (C) 1995,1996,1997,1998,1999,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 @@ -2593,7 +2593,8 @@ (list ,@(compile-interface-spec spec)))) (set-module-transformer! (current-module) ,(car (last-pair spec)))) - `((set-module-transformer! (current-module) ,spec)))) + `((set-module-transformer! (current-module) ,spec))) + *unspecified*) (else (error "use-syntax can only be used at the top level")))) diff --git a/ice-9/syncase.scm b/ice-9/syncase.scm index ea9a7ceac..db09bed6b 100644 --- a/ice-9/syncase.scm +++ b/ice-9/syncase.scm @@ -226,7 +226,10 @@ '*sc-expander* '(define)))) -(define syncase sc-expand) +(define (syncase exp) + (with-fluids ((expansion-eval-closure + (module-eval-closure (current-module)))) + (sc-expand exp))) (set-module-transformer! the-syncase-module syncase)