Some non-compatible changes have been made:
- characters can no longer be stored into byte arrays.
- strings and bit vectors are no longer considered to be uniform vectors.
+ - array-rank throws an error for non-arrays instead of returning zero.
+ - array-ref does no longer accept non-arrays when no indices are given.
There is the new notion of 'generalized vectors' and corresponding
procedures like 'generalized-vector-ref'. Generalized vectors include
the latter returns the true name of the keyword, not the 'dash name',
as SCM_KEYWORDSYM used to do.
-** The old uniform vector implementation has been unceremoniously
- removed.
+** The old uniform vector and bitvector implementations have been
+ unceremoniously removed.
This implementation exposed the detailes of the tagging system of
Guile. Use the new C API explained in the manual in node "Uniform
-Vectors".
+Numeric Vectors" and "Bit Vector", respectively.
The following macros are gone: SCM_UVECTOR_BASE, SCM_SET_UVECTOR_BASE,
SCM_UVECTOR_MAXLENGTH, SCM_UVECTOR_LENGTH, SCM_MAKE_UVECTOR_TAG,
-SCM_SET_UVECTOR_LENGTH.
+SCM_SET_UVECTOR_LENGTH, SCM_BITVECTOR_P, SCM_BITVECTOR_BASE,
+SCM_SET_BITVECTOR_BASE, SCM_BITVECTOR_MAX_LENGTH,
+SCM_BITVECTOR_LENGTH, SCM_MAKE_BITVECTOR_TAG,
+SCM_SET_BITVECTOR_LENGTH.
** SCM_CELL_WORD_LOC has been deprecated.
+2004-12-22 Marius Vollmer <marius.vollmer@uni-dortmund.de>
+
+ * boot-9.scm (module-make-local-var!): When creating a new
+ variable, initialize it to the value of any imported variable with
+ the given name. This allows code like (define round round) to
+ work as expected.
+
+ From Antoine Mathys <tonigonenstein@users.sourceforge.net>:
+
+ * popen.scm: Support bidirectional communication by making
+ open-pipe support OPEN_BOTH as second argument and in that case
+ return a soft input-output port which uses two pipes internally.
+ Provide open-pipe* to execute programs without using the shell
+ (and actually base open-pipe on it) and the obvious
+ open-input-output-pipe.
+
2004-12-14 Kevin Ryde <user42@zip.com.au>
* boot-9.scm: (string-any, string-every): Use a scheme wrapper around