SRFI-0 `cond-expand' is now supported in Guile, without requiring
using a module.
+(srfi srfi-1) is a library containing many useful pair- and list-processing
+ procedures.
+
(srfi srfi-2) exports and-let*.
(srfi srfi-6) is a dummy module for now, since guile already provides
** New module (ice-9 rw)
This is a subset of the (scsh rw) module from guile-scsh. Currently
-it defines a single procedure:
+it defines two single procedures:
*** New function: read-string!/partial str [port_or_fdes [start [end]]]
- Read characters from an fport or file descriptor into a string
- STR. This procedure is scsh-compatible and can efficiently read
+ Read characters from a port or file descriptor into a string STR.
+ A port must have an underlying file descriptor -- a so-called
+ fport. This procedure is scsh-compatible and can efficiently read
large strings.
+*** New function: write-string/partial str [port_or_fdes [start [end]]]
+
+ Write characters from a string STR to a port or file descriptor.
+ A port must have an underlying file descriptor -- a so-called
+ fport. This procedure is mostly compatible and can efficiently
+ write large strings.
+
** New module (ice-9 match)
This module includes Andrew K. Wright's pattern matcher. See
for complete documentation.
-This module requires SLIB to be installed and available from Guile.
-
** New module (ice-9 buffered-input)
This module provides procedures to construct an input port from an
** Guile now always starts up in the `(guile-user)' module.
-Previously, script executed via the `-s' option would run in the
+Previously, scripts executed via the `-s' option would run in the
`(guile)' module and the repl would run in the `(guile-user)' module.
Now every user action takes place in the `(guile-user)' module by
default.
behave just like `define' and `defmacro', respectively, when they are
used in a lexical environment.
+Also, `export' will no longer silently re-export bindings imported
+from a used module. It will emit a `deprecation' warning and will
+cease to perform any re-export in the next version. If you actually
+want to re-export bindings, use the new `re-export' in place of
+`export'. The new `re-export' will not make copies of variables when
+rexporting them, as `export' did wrongly.
+
** The semantics of guardians have changed.
The changes are for the most part compatible. An important criterion
* Changes to the C interface
-** Deprecated feature have been removed.
+** Types have been renamed from scm_*_t to scm_t_*.
+
+This has been done for POSIX sake. It reserves identifiers ending
+with "_t". What a concept.
+
+The old names are still available with status `deprecated'.
+
+** scm_t_bits (former scm_bits_t) is now a unsigned type.
+
+** Deprecated features have been removed.
*** Macros removed
scm_tc_dblc - replaced by scm_tc16_complex.
scm_list_star - replaced by scm_cons_star.
+** Deprecated: scm_makfromstr
+
+Use scm_mem2string instead.
+
** Deprecated: scm_make_shared_substring
Explicit shared substrings will disappear from Guile.
Instead, use scm_c_memq or scm_memq, scm_memv, scm_member.
+** New functions: scm_call_0, scm_call_1, scm_call_2, scm_call_3
+
+Call a procedure with the indicated number of arguments.
+
+Example:
+
+ scm_call_1 (proc, arg1);
+
+** New functions: scm_apply_0, scm_apply_1, scm_apply_2, scm_apply_3
+
+Call a procedure with the indicated number of arguments and a list
+of arguments.
+
+Example:
+
+ scm_apply_1 (proc, arg1, args);
+
** New function: scm_c_read (SCM port, void *buffer, scm_sizet size)
Used by an application to read arbitrary number of bytes from a port.