+2004-11-03 Marius Vollmer <mvo@zagadka.de>
+
+ * unif.h (SCM_UVECTOR_BASE, SCM_SET_UVECTOR_BASE,
+ SCM_UVECTOR_MAXLENGTH, SCM_UVECTOR_LENGTH, SCM_MAKE_UVECTOR_TAG,
+ SCM_SET_UVECTOR_LENGTH): Removed.
+
+2004-11-02 Marius Vollmer <mvo@zagadka.de>
+
+ Mac OS X and OpenBSD compatibility patches from Andreas Vögele.
+ Thanks!
+
+ * backtrace.c (scm_display_backtrace_with_highlights): Join the
+ first and the second line of the SCM_DEFINE macro call, since old
+ preprocessors cannot handle definitions that are split into two
+ lines.
+
+ * inline.h (scm_cell, scm_double_cell): Don't use C99 variable
+ declarations.
+
+ * pairs.c (scm_i_chase_pairs): Replace scm_t_bits with
+ scm_t_uint32 to fix the mismatch between the function declaration
+ and definition.
+
+ * sort.c (quicksort): Don't use C99 variable declarations.
+
+ * srfi-4.c (uvec_fast_ref): Avoid a compiler warning by returning
+ SCM_BOOL_F if no type matches.
+
+ * threads.c (thread_print): Cast a pointer to size_t when printing
+ with scm_uintprint.
+
+ * unif.c (scm_i_tag_to_prototype): Make sure that "instead" gets
+ defined.
+ (scm_array_prototype): Deprecated.
+
+2004-11-02 Marius Vollmer <marius.vollmer@uni-dortmund.de>
+
+ * srfi-4.h, srfi-4.c (scm_frame_uniform_vector_release): New.
+ * unif.c (scm_bit_set_star_x, scm_bit_count_star_x): Use it to get
+ more efficient access to the u32vector.
+
+ * tags.h (scm_tc7_llvect, scm_tc7_uvect, scm_tc7_fvect,
+ scm_tc7_dvect, scm_tc7_cvect, scm_tc7_svect, scm_tc7_byvect,
+ scm_tc7_ivect): Renamed to scm_tc7_unused_1 to scm_tc7_unused_8.
+
+ * validate.h (SCM_VALIDATE_VECTOR_OR_DVECTOR): Accept f64vectors
+ instead of the old-style dvectors.
+
+ * gh_data.c: Use new-style uniform arrays in place of old-style
+ ones.
+
+ * eq.c, evalext.c, gc-card.c, gc-mark.c, objects.c, print.c,
+ ramap.c, unif.c: Do no longer handle old-style uniform vectors.
+
+ * unif.c (scm_bit_set_star_x, scm_bit_count_star_x): Use u32vectors
+ instead of old-sytle uvectors.
+
+ * convert.c, convert.i.c: Rewritten completely, using
+ scm_any_to_u8vector, etc and other new-style uniform vector
+ functions.
+
+ * random.c (scm_random_solid_sphere_x,
+ scm_random_hollow_sphere_x): Do not validate vector argument, this
+ is already done elsewhere.
+
+ * srfi-4.h, srfi-4.i.c, srfi-4.c (coerce_to_uvec,
+ scm_any_to_u8vector, etc): New.
+ (scm_uniform_element_size, scm_uniform_vector_length): Do no
+ longer handle old-style uniform vectors.
+
+ * read.c (scm_lreadr): Bugfix: include the last bit in the
+ bit vector.
+
+2004-10-29 Marius Vollmer <marius.vollmer@uni-dortmund.de>
+
+ * unif.h, unif.c (scm_array_creator): New.
+ (scm_i_get_old_prototype): New.
+ (scm_array_prototype): use it to return old-style prototype, never
+ return creators.
+ (scm_make_uve): Use scm_call_1 instead of scm_call_2 with a second
+ arg of SCM_UNDEFINED. The latter is wrong.
+
+ * unif.h, unif.c (scm_make_u1vector): New, but only temporary.
+ (make_uve): Removed.
+ (scm_i_proc_make_vector, scm_i_proc_make_string,
+ scm_i_proc_make_u1vector): New.
+ (scm_init_unif): Initialize them.
+ (scm_i_convert_old_prototype): New.
+ (scm_make_uve): Use it to get the creator procedure. Removed all
+ old code that created old-style uniform vectors.
+ (scm_array_p): Handle generic vectors.
+ (scm_dimensions_to_uniform_array): Do not fill new array with
+ prototype when that is a procedure.
+ (scm_list_to_uniform_array): Also accept a list of lower bounds as
+ the NDIM argument.
+ (scm_i_print_array): Print rank for shared or non-zero-origin
+ vectors.
+ (tag_proto_table, scm_i_tag_to_prototype, scm_i_read_array): New.
+ (scm_raprin1): Do not call scm_i_array_print for enclosed arrays,
+ which I do not understand yet.
+ (scm_array_prototype): Explicitely handle generic vectors.
+
+ * numbers.c, number.h (scm_i_print_complex, icmplx2str): New.
+ (iflo2str): Use icmplx2str for complex numbers.
+
+ * srfi-4.c, srfi-4.h (scm_i_read_homogenous_vector,
+ scm_i_uniform_vector_prototype): Removed.
+ (scm_i_uniform_vector_creator): New.
+ (SCM_UVEC_C32, scm_c32vector, scm_make_c32vector, etc,
+ SCM_UVEC_C64, scm_c64vector, scm_make_c64vector, etc): New.
+ Updated all tables and generic functions to support them.
+ (scm_i_proc_make_u8vector, scm_i_proc_make_s8vector, etc): New.
+ (scm_init_srfi_4): Initialize them.
+
+ * srfi-4.i.c (scm_take_u8vector, etc): use uvec_sizes instead of
+ sizeof(CTYPE) as explained in the comment.
+
+ * read.c (scm_lreadr): Call scm_i_read_array for all characters
+ followinf '#' that can start an array. Explicitely disambiguate
+ 'i' and 'e' between introducing numbers and uniform vectors. Do
+ not call scm_i_read_homogenous_vector, since that is also handled
+ by scm_i_read_array now.
+
2004-10-27 Marius Vollmer <marius.vollmer@uni-dortmund.de>
First cut at integrating uniform vectors from srfi-4 with the rest