* srfi-4.h, srfi-4.c (scm_uniform_vector_p,
scm_uniform_vector_ref, scm_uniform_vector_set_x,
scm_uniform_vector_to_list, scm_is_uniform_vector,
scm_c_uniform_vector_lengths, scm_c_uniform_vector_size,
scm_uniform_vector_elements, scm_uniform_vector_element_size,
scm_uniform_vector_release): New.
(scm_i_uniform_vector_prototype, scm_i_uniform_vector_tag): New.
(scm_uniform_element_size, scm_uniform_vector_length): Moved here
from unif.h, unif.c and extended to handle both the old and new
uniform vectors.
* unif.h, unif.c (scm_uniform_vector_ref, scm_array_ref): Renamed
the former to the latter.
(scm_uniform_vector_length, scm_uniform_element_size): Moved to
srfi-4.h, srfi-4.c.
(scm_make_uve): Call scm_make_s8vector for #\nul prototype.
(scm_array_p, scm_array_rank, scm_array_dimensions,
scm_transpose_array, scm_enclose_array, scm_array_ref, scm_cvref,
scm_array_set_x, scm_array_contents, scm_uniform_array_read_x,
scm_array_to_list, scm_array_prototype): Handle srfi-4 uniform
vectors. Removed code for scm_tc7_byvect.
(scm_dimensions_to_uniform_array): Fill array with 0 when
prototype is #\nul.
(scm_i_print_array_dimension, scm_i_legacy_tag,
scm_i_print_array): New.
(scm_raprin1): Call scm_i_print_array for arrays. Removed code
for scm_tc7_byvect.
print.c, ports.c, mallocs.c, hooks.c, hashtab.c, fports.c,
guardians.c, filesys.c, coop-pthreads.c, continuations.c: Use
scm_uintprint to print unsigned integers, raw heap words, and
adresses, using a cast to scm_t_bits to turn pointers into
integers.
for signed elemets and scm_uintprint for unsigned ones. Do not use
print_int64 and print_uint64 since scm_intprint and scm_Uintprint can
handle 64 bits now.
scm_t_intmax values.
(scm_uint2str): New, for scm_t_uintmax.
(scm_iint2str): Argument type changed to scm_t_intmax,
reimplemented in terms of scm_uint2str.
"-I$(top_srcdir)/libguile-ltdl".
(libguile_la_LIBADD): Use @LIBLTDL@ instead of
"../libguile-ltdl/libguile-ltdl.a".
* guile.c, dynl.c: Switched to using libltdl directly. Replaced
all references to scm_lt_* with just lt_*. Include <ltdl.h>
instead of <libguile-ltdl.h>.
AC_LIB_LTDL.
(AC_CONFIG_SUBDIRS): Added libltdl.
(DLPREOPEN, LTDLINC, LIBLTDL): Moved AC_SUBST near other libtool
stuff. Also subst LTDLINC instead of INCLTDL.
(AC_CONFIG_FILES): Removed libguile-ltdl/Makefile and
libguile-ltdl/upstream/Makefile.
* Makefile.am (SUBDIRS): Replaced libguile-ltdl with libltdl.
partitions; it could get overwritten otherwise. Because of the
ultimate insertion sort, this bug did not cause quicksort to fail, it
just put all the burdon on the insertion sort and was thus very slow.
Thanks to Rolan Orre for reporting the slowness!
object->string or display instead of implementing our own printer.
Handle format:read-proof here. Unreadable objects are recognized
by their "#<" prefix instead of by being unknown to the custom
printer (which would treat keywords as unprintable, for example).
(format:iobj->str): Removed.