diff --git a/ice-9/ChangeLog b/ice-9/ChangeLog index f9f476e11..e2c7b3232 100644 --- a/ice-9/ChangeLog +++ b/ice-9/ChangeLog @@ -1,3 +1,9 @@ +1998-01-01 Tim Pierce + + A better fix to the SLIB identity problem -- thanks to Marius Vollmer. + * slib.scm (identity): Unmake public. + (slib:eval): Evaluate inside `slib-module'. + 1997-12-24 Tim Pierce * boot-9.scm: Doc fix. diff --git a/ice-9/slib.scm b/ice-9/slib.scm index 774f5473b..dcfbe7f52 100644 --- a/ice-9/slib.scm +++ b/ice-9/slib.scm @@ -20,7 +20,7 @@ (define slib:exit quit) (define slib:error error) (define slib:warn warn) -(define slib:eval eval) +(define slib:eval (lambda (x) (eval-in-module x slib-module))) (define defmacro:eval eval) (define logical:logand logand) (define logical:logior logior) @@ -156,11 +156,7 @@ (define (output-port-width . arg) 80) (define (output-port-height . arg) 24) - -;; `require' will not work unless identity is exported. It's not clear -;; why this is so, but doesn't seem worth deep investigation until -;; the module system settles down. -(define-public (identity x) x) +(define (identity x) x) ;;; {Time} ;;;