Support for translating the documentation into HTML is now always
provided. Use 'make html'.
+** The configure option '--disable-arrays' has been removed.
+
+Support for arrays and uniform numeric arrays is now always included
+in Guile.
+
* Changes to the stand-alone interpreter
** New command line option `-L'.
* Changes to Scheme functions and syntax
+** The default load path no longer includes "." at the end.
+
+Automatically loading modules from the current directory should not
+happen by default. If you want to allow it in a more controlled
+manner, set the environment variable GUILE_LOAD_PATH or the Scheme
+variable %load-path.
+
** The uniform vector and array support has been overhauled.
It now complies with SRFI-4 and the weird prototype based uniform
array creation has been deprecated. See the manual for more details.
-One non-compatible change is that characters can no longer be stored
-into byte arrays.
+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
+strings, bitvectors, ordinary vectors, and uniform numeric vectors.
+
+Arrays use generalized vectors their storage, so that you still have
+arrays of characters, bits, etc. However, uniform-array-read! and
+uniform-array-write can no longer read/write strings and bitvectors.
** There is now support for copy-on-write substrings, mutation-sharing
substrings and read-only strings.
C value. For example, you can use scm_to_int to safely convert from
a SCM to an int.
- - SCM scm_from_<type>) (<type> val, ...)
+ - SCM scm_from_<type> (<type> val, ...)
These functions convert from a C type to a SCM value; for example,
scm_from_int for ints.
the latter returns the true name of the keyword, not the 'dash name',
as SCM_KEYWORDSYM used to do.
+** 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
+Numeric Vectors" and "Bit Vectors", 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_BITVECTOR_P, SCM_BITVECTOR_BASE,
+SCM_SET_BITVECTOR_BASE, SCM_BITVECTOR_MAX_LENGTH,
+SCM_BITVECTOR_LENGTH, SCM_MAKE_BITVECTOR_TAG,
+SCM_SET_BITVECTOR_LENGTH.
+
+** The macros dealing with vectors have been deprecated.
+
+Use the new functions scm_is_vector, scm_vector_elements,
+scm_vector_writable_elements, etc instead. See the manual for more
+details.
+
+Deprecated are SCM_VECTORP, SCM_VELTS, SCM_VECTOR_MAX_LENGTH,
+SCM_VECTOR_LENGTH, SCM_VECTOR_REF, SCM_VECTOR_SET, SCM_WRITABLE_VELTS.
+
+The following macros have been removed: SCM_VECTOR_BASE,
+SCM_SET_VECTOR_BASE, SCM_MAKE_VECTOR_TAG, SCM_SET_VECTOR_LENGTH,
+SCM_VELTS_AS_STACKITEMS, SCM_SETVELTS, SCM_GC_WRITABLE_VELTS.
+
** SCM_CELL_WORD_LOC has been deprecated.
Use the new macro SCM_CELL_OBJECT_LOC instead, which returns a pointer