1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-06 12:10:28 +02:00

* 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).
This commit is contained in:
Mikael Djurfeldt 2003-01-15 17:29:09 +00:00
parent fb83145154
commit 7906d57d02
2 changed files with 15 additions and 15 deletions

View file

@ -1,3 +1,13 @@
2003-01-15 Mikael Djurfeldt <djurfeldt@nada.kth.se>
* 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 <djurfeldt@nada.kth.se>
* occam-channel.scm (make-channel): Renamed from channel.

View file

@ -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))