diff --git a/NEWS b/NEWS index 461d6cc49..2cff4f86f 100644 --- a/NEWS +++ b/NEWS @@ -129,8 +129,41 @@ evaluator turned off, even for interactive sessions. Previously, the normal evaluator would have been used. Using the debugging evaluator gives better error messages. +** The '-e' option now 'read's its argument. + +This is to allow the new '(@ MODULE-NAME VARIABLE-NAME)' construct to +be used with '-e'. For example, you can now write a script like + + #! /bin/sh + exec guile -e '(@ (demo) main)' -s "$0" "$@" + !# + + (define-module (demo) + :export (main)) + + (define (main args) + (format #t "Demo: ~a~%" args)) + + * Changes to Scheme functions and syntax +** New syntax '@' and '@@': + +You can now directly refer to variables exported from a module by +writing + + (@ MODULE-NAME VARIABLE-NAME) + +For example (@ (ice-9 pretty-print) pretty-print) will directly access +the pretty-print variable exported from the (ice-9 pretty-print) +module. You don't need to 'use' that module first. You can also use +'@' with 'set!'. + +The related syntax (@@ MODULE-NAME VARIABLE-NAME) works just like '@', +but it can also access variables that have not been exported. It is +intended only for kluges and temporary fixes and for debugging, not +for ordinary code. + ** 'while' now provides 'break' and 'continue' break and continue were previously bound in a while loop, but not diff --git a/doc/ref/ChangeLog b/doc/ref/ChangeLog index 428726101..e0a758c65 100644 --- a/doc/ref/ChangeLog +++ b/doc/ref/ChangeLog @@ -1,3 +1,9 @@ +2003-11-17 Marius Vollmer + + * scheme-modules.texi: Document '@' and '@@'. + + * scripts.texi: Mention that "-e (@ ...)" also works. + 2003-11-15 Kevin Ryde * scheme-data.texi (Random): Add *random-state* variable, put note at diff --git a/ice-9/ChangeLog b/ice-9/ChangeLog index ed7666e40..2cad1c17c 100644 --- a/ice-9/ChangeLog +++ b/ice-9/ChangeLog @@ -1,3 +1,7 @@ +2003-11-17 Marius Vollmer + + * boot-9.scm (@, @@): New macros. + 2003-11-16 Dirk Herrmann * boot-9.scm: Started comment about module system workings.