Please send Guile bug reports to bug-guile@gnu.org.
\f
+Changes since the stable branch:
+
+** Variables have no longer a special behavior for `equal?'.
+
+Previously, comparing two variables with `equal?' would recursivly
+compare their values. This is no longer done. Variables are now only
+`equal?' if they are `eq?'.
+
Changes since Guile 1.4:
* Changes to the distribution
+** A top-level TODO file is included.
+
** Guile now uses a versioning scheme similar to that of the Linux kernel.
Guile now always uses three numbers to represent the version,
environment variable GUILE_WARN_DEPRECATED control this mechanism.
See INSTALL and README for more information.
+** New functions: setitimer and getitimer.
+
+These implement a fairly direct interface to the libc functions of the
+same name.
+
+** The #. reader extension is now disabled by default.
+
+For safety reasons, #. evaluation is disabled by default. To
+re-enable it, set the fluid read-eval? to #t. For example:
+
+ (fluid-set! read-eval? #t)
+
+but make sure you realize the potential security risks involved. With
+read-eval? enabled, reading a data file from an untrusted source can
+be dangerous.
+
** New SRFI modules have been added:
SRFI-0 `cond-expand' is now supported in Guile, without requiring
(srfi srfi-2) exports and-let*.
+(srfi srfi-4) implements homogeneous numeric vector datatypes.
+
(srfi srfi-6) is a dummy module for now, since guile already provides
all of the srfi-6 procedures by default: open-input-string,
open-output-string, get-output-string.
** New module (ice-9 rw)
This is a subset of the (scsh rw) module from guile-scsh. Currently
-it defines two single procedures:
+it defines two procedures:
*** New function: read-string!/partial str [port_or_fdes [start [end]]]
* Changes to Scheme functions and syntax
+** Character classifiers work for non-ASCII characters.
+
+The predicates `char-alphabetic?', `char-numeric?',
+`char-whitespace?', `char-lower?', `char-upper?' and `char-is-both?'
+no longer check whether their arguments are ASCII characters.
+Previously, a character would only be considered alphabetic when it
+was also ASCII, for example.
+
** Previously deprecated Scheme functions have been removed:
tag - no replacement.
That is, a call to `throw', `error', etc is now guaranteed to not
return.
+** Bugfix for (ice-9 getopt-long)
+
+Parsing for options that are specified to have `optional' args now checks if
+the next element is an option instead of unconditionally taking it as the
+option arg.
+
+Also, this module is now tested using test-suite/tests/getopt-long.test.
+
* Changes to the C interface
** Types have been renamed from scm_*_t to scm_t_*.
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 functions: scm_list_1, scm_list_2, scm_list_3, scm_list_4, scm_list_5
+
+Create a list of the given number of elements.
+
+** Renamed function: scm_listify has been replaced by scm_list_n.
+
+** Deprecated macros: SCM_LIST0, SCM_LIST1, SCM_LIST2, SCM_LIST3, SCM_LIST4,
+SCM_LIST5, SCM_LIST6, SCM_LIST7, SCM_LIST8, SCM_LIST9.
+
+Use functions scm_list_N instead.
+
** 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.
** Deprecated functions: scm_mkbig, scm_big2num, scm_adjbig,
scm_normbig, scm_copybig, scm_2ulong2big, scm_dbl2big, scm_big2dbl
-With the exception of the misterious scm_2ulong2big, they are still
+With the exception of the mysterious scm_2ulong2big, they are still
available under new names (scm_i_mkbig etc). These functions are not
intended to be used in user code. You should avoid dealing with
bignums directly, and should deal with numbers in general (which can