Rob Browning <[EMAIL PROTECTED]> writes: > My current intention is to sit down when I have time and see if I can > figure out what changes, if any, we would have to make to the current > guile.init in order to be able to rely on it, rather than the code in > slib.scm.
So here's round one. Quite a few items in slib.scm are already in guile.init, and so we can just drop those. There are some other bits that I wanted to present for discussion and double-checking. As background, at the point when any of this code executes, the current module is (ice-9 slib). A minor difference regards output-port-width. The version in slib.scm returns 80 where the version in guile.init returns 79. A more significant question regards evaluation. In slib.scm we have: (define-public slib:eval (lambda (x) (eval x slib-module))) (define defmacro:eval (lambda (x) (eval x (interaction-environment)))) where guile.init has: ;;; SLIB:EVAL is single argument eval using the top-level (user) environment. (define slib:eval (if (string<? (scheme-implementation-version) "1.5") eval (let ((ie (interaction-environment))) (lambda (expression) (eval expression ie))))) (define defmacro:eval slib:eval) The major difference here is that SLIB's slib:eval evaluates in interaction-environment rather than the slib module. It looks like the current defmacro:eval behaviors are the same. -- Rob Browning rlb @defaultvalue.org and @debian.org; previously @cs.utexas.edu GPG starting 2002-11-03 = 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4 _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel