1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 19:50:24 +02:00

Thanks to Mikael Djurfeldt for a bugreport which led to the

following changes:

* slib.scm (%system-define): Removed.

(define): Changed to use define-private instead of
%system-define.

* boot-9.scm (define-private): Undid my changes from 2002-11-16
until Guile supports hygienic macros.
This commit is contained in:
Dirk Herrmann 2002-11-24 08:18:19 +00:00
parent dc6cf54848
commit 9123414ee0
4 changed files with 18 additions and 5 deletions

1
THANKS
View file

@ -20,6 +20,7 @@ For fixes or providing information which led to a fix:
Stephen Compall Stephen Compall
Brian Crowder Brian Crowder
Christopher Cramer Christopher Cramer
Mikael Djurfeldt
Alexandre Duret-Lutz Alexandre Duret-Lutz
John W Eaton John W Eaton
Clinton Ebadi Clinton Ebadi

View file

@ -1,3 +1,16 @@
2002-11-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
Thanks to Mikael Djurfeldt for a bugreport which led to the
following changes:
* slib.scm (%system-define): Removed.
(define): Changed to use define-private instead of
%system-define.
* boot-9.scm (define-private): Undid my changes from 2002-11-16
until Guile supports hygienic macros.
2002-11-17 Neil Jerram <neil@ossau.uklinux.net> 2002-11-17 Neil Jerram <neil@ossau.uklinux.net>
* emacs.scm (emacs-load): Locally define `read-and-eval!', as it * emacs.scm (emacs-load): Locally define `read-and-eval!', as it

View file

@ -2591,8 +2591,9 @@
(else (else
(error "use-syntax can only be used at the top level")))) (error "use-syntax can only be used at the top level"))))
(defmacro define-private args ;; Dirk:FIXME:: This incorrect (according to R5RS) syntax needs to be changed
`(define ,@args)) ;; as soon as guile supports hygienic macros.
(define define-private define)
(defmacro define-public args (defmacro define-public args
(define (syntax) (define (syntax)

View file

@ -269,14 +269,12 @@
(define offset-time +) (define offset-time +)
(define %system-define define)
(define define (define define
(procedure->memoizing-macro (procedure->memoizing-macro
(lambda (exp env) (lambda (exp env)
(if (= (length env) 1) (if (= (length env) 1)
`(define-public ,@(cdr exp)) `(define-public ,@(cdr exp))
`(%system-define ,@(cdr exp)))))) `(define-private ,@(cdr exp))))))
;;; Hack to make syncase macros work in the slib module ;;; Hack to make syncase macros work in the slib module
(if (nested-ref the-root-module '(app modules ice-9 syncase)) (if (nested-ref the-root-module '(app modules ice-9 syncase))