* Deprecated scm_vector_set_length_x.
[bpt/guile.git] / libguile / ChangeLog
index 98b57f4..6a1ce3a 100644 (file)
+2000-10-25  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * gc.c (scm_igc):  Remove references to scm_vector_set_length_x.
+
+       (scm_gc_sweep):  SCM_CONTREGS is never NULL.
+
+       * gc.c (scm_gc_sweep), vectors.c (scm_make_vector):  Don't
+       allocate/free memory for zero length vectors.
+
+       * vectors.[ch] (scm_vector_set_length_x):  Deprecated.
+
+2000-10-25  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * alist.c (scm_assq_ref):  Add a suggestion about how to deal with
+       this function when the API gets reviewed.
+
+       * async.c (SET_ASYNC_GOT_IT):  Use SCM_TYP16 instead of doing bit
+       operations directly.
+
+       * dynl.c (scm_coerce_rostring), filesys.c (scm_link,
+       scm_copy_file), fports (scm_open_file), hash.c (scm_hasher),
+       posix.c (scm_getpwuid), print.c (scm_iprin1), simpos.c
+       (scm_system), strings.c (scm_string_ref, scm_substring,
+       scm_string_append), strop.c (scm_string_copy), struct.c
+       (scm_make_struct_layout), symbols.c (scm_gensym, scm_gentemp),
+       symbols.h (SCM_COERCE_SUBSTR):  Use SCM_STRING_LENGTH instead of   
+       SCM_ROLENGTH if the object is known to be a string or substring.
+
+       * eval.c (scm_lookupcar):  Use SCM_ITAG7 instead of doing bit
+       operations directly.
+
+       * filesys.c (scm_dirname, scm_basename):  Don't create shared
+       substrings as these are going to disappear from guile.
+
+       * gc.c (scm_gc_sweep):  Use SCM_UVECTOR_LENGTH instead of
+       SCM_HUGE_LENGTH.  (The SCM_HUGE_LENGTH mechanism does not work
+       correctly anyway.)
+
+       * gc.h (SCM_FREEP, SCM_NFREEP):  Deprecated.
+
+       * read.c (scm_flush_ws):  Don't compare SCM values directly.
+
+       * root.c (scm_make_root), root.h (scm_root_state):  Removed
+       system_transformer and top_level_lookup_closure_var from struct.
+       (Since eval is now R5RS, binary compatibility is not granted
+       anyway.)
+
+       * simpos.c (scm_system):  Fix condition.
+
+       * strings.c (scm_string_length, scm_string_ref, scm_substring,
+       scm_string_append), strop.c (scm_string_copy), struct.c
+       (scm_make_struct_layout, scm_make_vtable_vtable), symbols.c
+       (scm_gensym, scm_gentemp):  Replace SCM_VALIDATE_STRINGORSUBSTR
+       with SCM_VALIDATE_STRING, since they do the same thing.
+
+       * strings.h (scm_make_shared_substring):  Deprecated.
+
+       * tags.h (SCM_ITAG7):  Added.
+
+       * validated.h (SCM_VALIDATE_STRINGORSUBSTR):  Deprecated.
+
+2000-10-20  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * init.c (scm_init_guile_1, invoke_main_func): Call
+       scm_load_startup_files in scm_init_guile_1, not in
+       invoke_main_func.
+
+2000-10-18  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * print.c (grow_ref_stack): Pass a INUM to scm_make_vector as the
+       size, not a naked int.  Thanks to Brad Knotwell!
+
+       * gc_os_dep.c (GC_noop1, GC_bool, TRUE, FALSE, VOLATILE):
+       Definitions copied from Boehm collector.
+
+2000-10-13  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * list.[ch] (scm_sloppy_memq, scm_sloppy_memv, scm_sloppy_member):
+       Deprecated.
+
+       (scm_memq, scm_memv, scm_member):  Inline the sloppy code.
+
+2000-10-11  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * alloca.c:  Fixed include file path.  Thanks to Bruce Korb for
+       the bug report.
+
+2000-10-11  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * gc_os_dep.c: Added real implementation based on code from Boehms
+       collector.  This is not well tested yet.
+
+       * gc.h (scm_get_stack_base): Added prototype.
+       * init.c (scm_get_stack_base): Removed prototype.
+
+2000-10-11  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * random.c (scm_seed_to_random_state):  Replace SCM_LENGTH with
+       the appropriate SCM_<type>_LENGTH macro.
+
+       (vector_scale, vector_sum_squares, scm_random_solid_sphere_x,
+       scm_random_normal_vector_x):  Use scm_uniform_vector_length to
+       determine the length of a vector object generically.
+
+2000-10-11  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * ramap.c (scm_array_fill_int, scm_array_index_map_x):  Replace
+       SCM_LENGTH with the appropriate SCM_<type>_LENGTH macro.
+
+       (scm_ra_matchp, scm_ramapc, ramap, rafe, scm_array_index_map_x,
+       raeql_1, raeql):  Use scm_uniform_vector_length to determine the
+       length of a vector object generically.
+
+2000-10-11  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * unif.c (scm_make_uve, scm_uniform_vector_length, scm_array_p,
+       scm_transpose_array, scm_array_contents, scm_ra2contig,
+       scm_uniform_array_read_x, scm_uniform_array_write, scm_bit_count,
+       scm_bit_position, scm_bit_set_star_x, scm_bit_count_star,
+       scm_bit_invert_x, scm_array_to_list, scm_raprin1):  Replace
+       SCM_LENGTH with the appropriate SCM_<type>_LENGTH macro.
+
+       (scm_array_dimensions, scm_make_shared_array, scm_enclose_array,
+       scm_array_in_bounds_p, scm_uniform_vector_ref, scm_array_set_x,
+       scm_array_contents, scm_uniform_array_read_x,
+       scm_uniform_array_write, scm_list_to_uniform_array, rapr1):  Use
+       scm_uniform_vector_length to determine the length of a vector
+       object generically.
+
+       (scm_bit_count, scm_bit_set_star_x, scm_bit_count_star,
+       scm_bit_invert_x): Eliminated dummy type dispatch. 
+
+       (scm_ra2contig):  Fixed array vector access.
+
+2000-10-10  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * unif.h (SCM_BITVECTOR_P, SCM_BITVECTOR_BASE):  Added.
+
+       * eval.c (iqq, SCM_CEVAL, SCM_APPLY, check_map_args, scm_map,
+       scm_for_each, scm_copy_tree), gc.c (scm_igc, scm_gc_mark,
+       scm_gc_sweep), gh_data.c (gh_scm2chars), sort.c
+       (scm_restricted_vector_sort_x, scm_sorted_p, scm_sort_x,
+       scm_sort, scm_stable_sort_x, scm_stable_sort), vectors.c
+       (scm_vector_length, scm_vector_ref, scm_vector_set_x,
+       scm_vector_to_list, scm_vector_fill_x, scm_vector_equal_p,
+       scm_vector_move_left_x, scm_vector_move_right_x, ):  Replace
+       SCM_LENGTH with the appropriate SCM_<type>_LENGTH macro.
+
+       * gc.c (scm_gc_sweep):  Use SCM_BITVECTOR_BASE for bitvectors.
+
+       * sort.c (scm_restricted_vector_sort_x, scm_sorted_p):  Eliminated
+       dummy type dispatch.
+
+       (scm_sort_x, scm_sort, scm_stable_sort_x, scm_stable_sort):
+       Eliminated redundant NIM test.
+
+2000-10-09  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * filesys.c (fill_select_type, retrieve_select_type, scm_select),
+       gh_data.c (gh_set_substr, gh_scm2chars, gh_scm2shorts,
+       gh_scm2longs, gh_scm2floats, gh_scm2doubles, gh_symbol2newstr),
+       stime.c (bdtime2c), symbols.c (scm_sym2vcell, scm_sym2ovcell_soft,
+       scm_intern_obarray_soft, scm_symbol_to_string, scm_intern_symbol,
+       scm_unintern_symbol, copy_and_prune_obarray, scm_builtin_bindings,
+       scm_builtin_weak_bindings), validate.h (SCM_VALIDATE_VECTOR_LEN):
+       Replace SCM_LENGTH with the appropriate SCM_<type>_LENGTH macro.
+
+       * filesys.c (scm_dirname, scm_basename), gh_data.c (gh_scm2newstr,
+       gh_get_substr), posix.c (scm_putenv), regex-posix.c
+       (scm_regexp_exec), stime.c (setzone), symbols.c
+       (scm_string_to_symbol):  Don't accept symbols as input parameters
+       any more.
+
+2000-10-09  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * continuations.c (scm_make_cont, copy_stack_and_call,
+       scm_dynthrow), environments.c (obarray_enter, obarray_replace,
+       obarray_retrieve, obarray_remove, obarray_remove_all,
+       leaf_environment_fold), fluids.c (grow_fluids, scm_copy_fluids,
+       scm_fluid_ref, scm_fluid_set_x), hash.c (scm_hasher), hashtab.c
+       (scm_hash_fn_get_handle, scm_hash_fn_create_handle_x,
+       scm_hash_fn_remove_x, scm_internal_hash_fold), ioext.c
+       (scm_read_delimited_x), objects.c (scm_mcache_lookup_cmethod,
+       scm_make_subclass_object), ports.c (scm_unread_string), socket.c
+       (scm_recv, scm_recvfrom), stacks.c (scm_make_stack, scm_stack_id,
+       scm_last_stack_frame), strings.c (scm_string_length,
+       scm_string_set_x), strop.c (scm_substring_move_x,
+       scm_substring_fill_x, scm_string_fill_x, scm_string_upcase_x,
+       scm_string_downcase_x, scm_string_capitalize_x), struct.c
+       (scm_struct_init, scm_struct_vtable_p, scm_make_struct,
+       scm_make_vtable_vtable, scm_struct_ref, scm_struct_set_x), weaks.c
+       (scm_mark_weak_vector_spines, scm_scan_weak_vectors):  Replace
+       SCM_LENGTH with the appropriate SCM_<type>_LENGTH macro.
+
+2000-10-09  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * print.c (make_print_state, scm_iprin1):  Replace SCM_LENGTH with
+       the appropriate SCM_<type>_LENGTH macro.
+
+       (grow_ref_stack):  Don't call scm_vector_set_length_x to resize
+       the print stack.
+
+2000-10-09  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * numbers.c (big2str):  Avoid redundant copying.
+
+       (scm_bigprint):  Use SCM_STRING_LENGTH instead of SCM_LENGTH.
+
+2000-10-06  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * numbers.c (big2str), read.c (scm_grow_tok_buf), strports.c
+       (st_resize_port):  Don't call scm_vector_set_length_x to resize
+       strings.
+
+       * read.c (scm_lreadr, scm_read_token):  Use SCM_STRING_LENGTH for
+       string arguments (instead of SCM_LENGTH).
+
+2000-10-06  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * continuations.h (SCM_CONTINUATION_LENGTH), strings.h
+       (SCM_STRING_LENGTH), symbols.h (SCM_SYMBOL_LENGTH), unif.h
+       (SCM_UVECTOR_LENGTH, SCM_BITVECTOR_LENGTH), vectors.h
+       (SCM_VECTOR_LENGTH):  Added as replacements for SCM_LENGTH.
+
+2000-10-02  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * coop-defs.h (coop_key_create): Don't use the C++ keyword
+       `destructor' in prototype.  Thanks to Martin Baulig!
+
+2000-10-02  Michael Livshin  <mlivshin@bigfoot.com>
+
+       * guile-func-name-check.in: now should not confuse SCO nawk
+       anymore.  thanks to Bruce Korb for the fix!
+
+2000-10-01  Gary Houston  <ghouston@arglist.com>
+
+       * net_db.c: declare inet_aton only if HAVE_INET_ATON is not
+       defined.  thanks to Han-Wen Nienhuys.
+
+2000-09-30  Gary Houston  <ghouston@arglist.com>
+
+       * filesys.c (scm_stat2scm), posix.c (s_scm_mknod): don't use
+       S_ISSOCK or S_IFSOCK if not defined.  thanks to Bruce Korb.
+
+2000-09-29  Neil Jerram  <neil@ossau.uklinux.net>
+
+       * Makefile.am (guile-procedures.txt): Insert a new rule such that
+       the output from guile-snarf.awk is processed by makeinfo to
+       produce guile-procedures.txt.
+
+       * guile-snarf.awk.in: Modify the way we snarf docstrings such that
+       the output is Texinfo-compliant and suitable for post-processing
+       with makeinfo.  (Trim leading "./" from C file name if
+       present; reformat procedure prototype line in @deffn format;
+       improve representation of args to show optional and rest args;
+       explicitly quote quotation marks where they are used inside an AWK
+       regexp.)
+
+       * net_db.c (scm_inet_ntoa): Docstring fix: missing newline
+       inserted.
+
+       * hashtab.c (scm_hashx_create_handle_x, scm_hashx_ref): Insert
+       spaces between C parameters so that the snarfer doesn't coalesce
+       them all into a single very long-named parameter.
+
+2000-09-27  Neil Jerram  <neil@ossau.uklinux.net>
+
+       * list.c (scm_append): Use @example texinfo markup in docstring.
+
+2000-09-26  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * strings.c (scm_string, scm_make_string, scm_string_set_x,
+       scm_string_append), strop.c (scm_string_upcase_x,
+       scm_string_downcase_x), strports.c (st_resize_port), symbols.c
+       (scm_sym2vcell, scm_sym2ovcell_soft, scm_intern_obarray_soft,
+       scm_intern_symbol, scm_unintern_symbol), unif.c (scm_cvref,
+       scm_uniform_vector_ref, scm_array_set_x, rapr1):  Replace calls to
+       SCM_UCHARS with SCM_STRING_UCHARS or SCM_SYMBOL_UCHARS.
+
+       * symbols.h (SCM_UCHARS):  Deprecated.
+
+2000-09-26  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * gc.c (scm_gc_sweep):  Replace SCM_CHARS by SCM_COMPLEX_MEM.
+
+       * numbers.h (SCM_COMPLEX_MEM):  Added as a replacement for
+       SCM_CHARS.
+
+       (SCM_COMPLEX_REAL, SCM_COMPLEX_IMAG):  Use it.
+
+       * ramap.c (scm_array_fill_int, racp, raeql_1):  Replace SCM_CHARS
+       with SCM_STRING_CHARS or SCM_UVECTOR_BASE.
+
+       (racp):  Fix: Make sure that src and dst types match.
+
+       * read.c (scm_grow_tok_buf, scm_lreadr, scm_read_token):  Replace
+       SCM_CHARS with SCM_STRING_CHARS.
+
+       * symbols.h (SCM_CHARS):  Deprecated.
+
+       * unif.c (scm_enclose_array, scm_uniform_vector_ref, scm_cvref,
+       scm_array_set_x, scm_uniform_array_read_x, rapr1, freera,
+       scm_uniform_array_write):  Replace SCM_CHARS with
+       SCM_STRING_CHARS, SCM_UVECTOR_BASE or SCM_ARRAY_MEM.
+
+       * unif.h (SCM_ARRAY_MEM):  Added as a replacement for SCM_CHARS.
+
+       (SCM_ARRAY_V, SCM_ARRAY_BASE, SCM_ARRAY_DIMS):  Use it.
+
+       * validate.h (SCM_COERCE_ROSTRING):  Removed.
+
+2000-09-26  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * gc.c (scm_igc):  :  Eliminate references to SCM_LENGTH and
+       SCM_CHARS from comment.
+
+       (scm_gc_mark, scm_gc_sweep):  Replace SCM_CHARS with
+       SCM_SYMBOL_CHARS or SCM_CCLO_BASE or SCM_UVECTOR_BASE or
+       SCM_BDIGITS, and replace SCM_VELTS with SCM_VECTOR_BASE or
+       SCM_CONTREGS, according to the corresponding types.
+
+       (scm_gc_sweep):  Simplify sweeping of uniform vectors.
+
+2000-09-26  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * procs.h (SCM_CCLO_LENGTH, SCM_SET_CCLO_LENGTH, SCM_CCLO_BASE,
+       SCM_SET_CCLO_BASE, SCM_CCLO_REF, SCM_CCLO_SET, SCM_CCLO_SUBR,
+       SCM_SET_CCLO_SUBR):  Added resp. changed such that none of the
+       macros SCM_CHARS, SCM_SETCHARS, SCM_VELTS and SCM_LENGTH have to
+       be used with compiled closures any more.
+
+       * procs.c (scm_makcclo), gsubr.h (SCM_GSUBR_TYPE, SCM_GSUBR_PROC):
+       Replace uses of SCM_CHARS, SCM_SETCHARS and SCM_VELTS with regards
+       to compiled closures.
+
+       * gsubr.h (SCM_SET_GSUBR_TYPE, SCM_SET_GSUBR_PROC):  Added.
+
+       * gsubr.c (scm_make_gsubr):  Use them.
+
+2000-09-26  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * numbers.c (scm_adjbig):  Use SCM_BDIGITS instead of SCM_CHARS.
+
+       (big2str, scm_bigprint):  Use SCM_STRING_CHARS instead of
+       SCM_CHARS.
+
+       * vectors.c (scm_vector_set_length_x):  Distinguish between
+       strings, scheme vectors and uniform vectors, thus getting rid of
+       references to SCM_CHARS.  (The code still needs improvement.)
+
+2000-09-26  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * eval.c (scm_m_letrec1, SCM_CEVAL, SCM_APPLY):  Use
+       SCM_STRING_U?CHARS or SCM_SYMBOL_U?CHARS instead of SCM_U?CHARS.
+
+       * unif.h (SCM_UVECTOR_BASE), vectors.h (SCM_VECTOR_BASE):  Added
+       as replacements for SCM_CHARS and SCM_VELTS.
+
+2000-09-26  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * continuations.c (scm_make_cont, scm_dynthrow), print.c
+       (scm_iprin1), stacks.c (scm_make_stack, scm_stack_id,
+       scm_last_stack_frame):  For continuations, use SCM_CONTREGS
+       instead of SCM_CHARS.
+
+       * coop-threads.c (scm_threads_mark_stacks):  Eliminate references
+       to SCM_LENGTH and SCM_CHARS from comments.
+
+       * dynl.c (scm_dynamic_link, scm_dynamic_func), symbols.h
+       (SCM_ROCHARS, SCM_ROUCHARS):  Cleanly distinguish between string
+       and symbol arguments.
+
+       * hash.c (scm_hasher), keywords.c (prin_keyword), objects.c
+       (scm_make_subclass_object), print.c (scm_iprin1), regex-posix.c
+       (scm_regexp_error_msg), stime.c (bdtime2c, scm_strftime), struct.c
+       (scm_struct_init, scm_struct_vtable_p, scm_struct_ref,
+       scm_struct_set_x):  Use SCM_STRING_U?CHARS or SCM_SYMBOL_U?CHARS
+       instead of SCM_U?CHARS.
+
+       * strings.h (SCM_STRING_UCHARS):  Added as a replacement for
+       SCM_UCHARS for string arguments.
+
+       * strorder.c:  Include strings.h and symbols.h.
+
+       * symbols.h:  Replaced SCM_CHARS in comment.
+
+       (SCM_SYMBOL_UCHARS):  Added as a replacement for SCM_UCHARS for
+       symbol arguments.
+
+       (SCM_SLOPPY_SUBSTRP):  Deprecated.
+
+       * tags.h:  Fixed comments not to reference SCM_LENGTH or
+       SCM_CHARS.
+
+2000-09-22  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * gc.c (scm_gc_mark, scm_gc_sweep), tags.h:  Removed the
+       scm_tc7_lvector type tag.
+
+2000-09-22  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * eval.c (scm_m_define), evalext.c (scm_m_undefine):  Removed dead
+       code.
+
+       * gc.c (scm_gc_sweep):  Use SCM_STRING_CHARS or SCM_SYMBOL_CHARS
+       instead of SCM_CHARS.
+
+2000-09-22  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * backtrace.c (display_frame_expr), environments.c
+       (print_observer, print_leaf_environment, print_eval_environment,
+       print_import_environment, print_export_environment), gh_data.c
+       (gh_set_substr, gh_symbol2newstr), keywords.c
+       (scm_make_keyword_from_dash_symbol), ports.c (scm_drain_input),
+       posix.c (scm_mknod), print.c (scm_iprin1), regexp-posix.c
+       (scm_regexp_error_msg), script.c (scm_compile_shell_switches),
+       simpos.c (scm_getenv), socket.c (scm_recv, scm_recvfrom),
+       strings.c (scm_makfromstr), strop.c (scm_substring_move_x,
+       scm_substring_fill_x, scm_string_capitalize_x), symbols.c
+       (scm_symbol_to_string), unif.c (scm_make_uve, scm_array_p),
+       validate.h (SCM_VALIDATE_STRING_COPY):  Use SCM_STRING_CHARS or
+       SCM_SYMBOL_CHARS instead of SCM_CHARS.
+
+2000-09-22  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * strings.h (SCM_STRING_CHARS):  Added, should be used instead of
+       SCM_CHARS whenever the argument is known to be a string.
+
+       (SCM_SLOPPY_STRINGP):  Deprecated.
+
+       * symbols.h (SCM_SYMBOL_CHARS):  Added, should be used instead of
+       SCM_CHARS whenever the argument is known to be a symbol.
+
+2000-09-22  Neil Jerram  <neil@ossau.uklinux.net>
+
+       * struct.c (scm_make_struct): Fix texinfo warning in docstring by
+       using @pxref rather than @xref.
+
+       * root.c (scm_call_with_dynamic_root): Fix texinfo warning in
+       docstring by using @code for (thunk) rather than @var.
+
+2000-09-20  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * numbers.c (scm_istr2flo): Throw an `out of range' error when
+       exponent is too large instead of returning `#f'.  The rationale is
+       that in this case the string represents a valid number but we
+       can't deal with it.
+
+2000-09-20  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * symbols.c (scm_intern_obarray_soft,
+       scm_sysintern0_no_module_lookup):  Make sure that symbol
+       properties initially form an empty list.  Thanks to Keisuke
+       Nishida for pointing this out.
+
+2000-09-19  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * throw.c (scm_handle_by_message):  Added a FIXME comment.
+
+       (scm_ithrow):  Removed some redundant tests.  When compiling on
+       gcc, always add the GCSE bug workaround.
+
+2000-09-14  Gary Houston  <ghouston@arglist.com>
+
+       * print.c (scm_iprin1): write the ascii delete character as #\del
+       instead of '#\', so it can be read back.  like in SCM.
+
+2000-09-12  Mikael Djurfeldt  <mdj@linnaeus.mit.edu>
+
+       * symbols.c (duplicate_string): Don't try to copy the byte after
+       the string.  This might not be `\0' and might even not be
+       allocated memory.
+
+2000-09-12  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * symbols.c (scm_symbol_p):  Eliminate redundant SCM_IMP test.
+
+2000-09-12  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       This patch unifies the formerly distinct ssymbol and msymbol types
+       to a common symbol type scm_tc7_symbol.  The representation of the
+       new symbol type uses a double cell with the following layout:
+       <type/length, chars, raw_hash, prop-pair>, where the car of
+       prop-pair holds the symbol's function property and the cdr of
+       prop-pair holds the symbol's other properties.  In the long run,
+       these properties will be removed.  Then, the generic property
+       functions will be uses.
+
+       * eval.c (SCM_CEVAL), objects.c (scm_class_of), print.c
+       (scm_iprin1), tag.c (scm_tag):  Use scm_tc7_symbol instead of
+       scm_tc7_ssymbol, scm_tc7_msymbol or scm_tcs_symbols.
+
+       * gc.c (scm_gc_mark):  Mark the symbols property pair.
+
+       (scm_gc_sweep):  There are no symbol slots any more.
+
+       * hash.c (scm_hasher):  Instead of re-calculating the hash value
+       of a symbol, use the raw_hash value stored in the symbol itself.
+
+       * properties.h:  Fix typo.
+
+       * strings.[ch] (scm_makstr, scm_makfromstr):  The slot parameter
+       is not used any more.
+
+       * symbols.[ch] (scm_strhash):  Deprecated, replaced by a macro.
+
+       (scm_intern_obarray_soft):  Made softness parameter unsigned.
+
+       (scm_string_hash):  New function with the same functionality as
+       scm_strhash had before, except that the hash value is not adjusted
+       to a hash table size.  Instead, the 'raw' hash value is returned.
+
+       * symbols.c (duplicate_string):  New static convenience function.
+
+       (scm_sym2vcell, scm_sym2ovcell_soft, scm_intern_obarray_soft):
+       Renamed local variable from scm_hash to hash.
+
+       (scm_intern_obarray_soft):  Don't check for a negative softness
+       any more.  When generating symbol cells, use the new layout and
+       store the raw hash value in the symbol's cell.
+
+       (scm_symbol_to_string):  Removed unnecessary cast.
+
+       (scm_intern_symbol, scm_unintern_symbol):  Use scm_string_hash to
+       determine the hash values.
+
+       (msymbolize):  Removed.
+
+       (scm_symbol_fref, scm_symbol_pref, scm_symbol_fset_x,
+       scm_symbol_pset_x, scm_symbol_hash):  No need to distinguish
+       between different symbol types any more.
+
+       (scm_symbol_hash):  Comment fixed.
+
+       * symbols.h:  Comment about the distinction between ssymbols and
+       msymbols removed.
+
+       (SCM_SYMBOLP, SCM_ROSTRINGP):  No need to distinguish between
+       different symbol types any more. 
+
+       (SCM_PROP_SLOTS, SCM_SET_PROP_SLOTS):  Added.
+
+       (SCM_SYMBOL_FUNC, SCM_SET_SYMBOL_FUNC, SCM_SYMBOL_PROPS,
+       SCM_SET_SYMBOL_PROPS, SCM_SYMBOL_HASH, SCM_SET_SYMBOL_HASH):  Use
+       the new symbol cell layout.
+
+       * tags.h (scm_tc7_ssymbol, scm_tc7_msymbol, scm_tcs_symbols):
+       Deprecated.
+
+2000-09-12  Mikael Djurfeldt  <mdj@linnaeus.mit.edu>
+
+       * symbols.h (scm_gentemp): Declared.
+
+       * symbols.c (scm_gensym): Reimplemented.  Now only takes one
+       optional argument which should be a *string*.
+       (scm_gentemp): Reimplemented and moved from boot-9.scm.
+
+2000-09-10  Keisuke Nishida  <kxn30@po.cwru.edu>
+
+       * modules.c: Use applicable smobs for eval closures instead of
+       compiled closures.  Include "libguile/smob.h".
+       (f_eval_closure): Removed.
+       (scm_eval_closure_tag): New variable.
+       (scm_eval_closure_lookup): Renamed from eval_closure.
+       This function now takes a smob instead of a compiled closure.
+       (scm_standard_eval_closure): Create a smob instead of a compiled
+       closure.
+       (scm_init_modules): Initialize the eval closure type as a smob.
+       * modules.h (SCM_EVAL_CLOSURE_P): New macro.
+       (scm_eval_closure_tag, scm_eval_closure_lookup): Declare.
+       * symbols.c: Include "libguile/smob.h".
+       (scm_sym2vcell): Call scm_eval_closure_lookup directly if THUNK
+       is an eval closure.
+
+2000-09-10  Mikael Djurfeldt  <mdj@linnaeus.mit.edu>
+
+       * Makefile.am (.x.doc): Bugfix: Added $(srcdir) to path in order
+       to allow for builds in separate tree.
+
+       * symbols.c (scm_gensym): Bugfixed my previous bugfix.  (Thanks to
+       Dale P. Smith.)
+
+2000-09-10  Keisuke Nishida  <kxn30@po.cwru.edu>
+
+       * eval.c (SCM_APPLY): Fixed bugs in the applicable-smob calls.
+
+2000-09-07  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * environments.c (obarray_enter, obarray_retrieve,
+       obarray_remove):  Make sure the hash value is a valid obarray
+       index.
+
+       (obarray_enter, obarray_remove):  Documentation improved.
+
+       (obarray_replace):  Added.
+
+       (leaf_environment_define, leaf_environment_undefine):  Cleaned up
+       and optimized.
+
+2000-09-05  Mikael Djurfeldt  <mdj@linnaeus.mit.edu>
+
+       * symbols.c (scm_gensym): Check that argument is a symbol, not a
+       string.  (Thanks to Ralf Mattes.)
+
+2000-09-05  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * init.c: Include "libguile/properties.h".
+
+       * gh_data.c (gh_scm2char): Validate that argument is a character.
+
+2000-08-25  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * environments.h (SCM_IMPORT_ENVIRONMENT_P,
+       SCM_EXPORT_ENVIRONMENT_P):  Before fetching the environment
+       functions, make sure that we really got an environment.
+
+2000-09-03  Mikael Djurfeldt  <mdj@linnaeus.mit.edu>
+
+       * validate.h (SCM_VALIDATE_NUMBER_DEF_COPY): New macro.
+
+2000-09-03  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * Makefile.am (.x.doc): Pretend to create .doc files from .x files
+       and give explicit dependencies for .x files that depend on
+       generated files.  This allows parallel builds.  Thanks to Matthias
+       Koeppe!
+
+2000-08-27  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * Makefile.am: Added gc_os_dep.c, properties.c, properties.x,
+       properties.h and properties.doc in the suitable places.
+
+       * init.h (scm_init_guile): New prototype. 
+       
+       * init.c (scm_init_guile, scm_init_guile_1): New interface for
+       initializing Guile that does return to the caller.
+       (scm_boot_guile_1): Use scm_init_guile_1 to initialize Guile.
+       Do not establish a catch-all, this is no longer needed.
+
+       * root.h (scm_properties_whash): New `sys_protect', used in
+       properties.c.
+
+       * throw.c (scm_ithrow): Perform catch-all handling here when no
+       suitable handler has been found.  That way, we don't have to rely
+       on the user establishing a catch-all, which might be difficult for
+       him if he is using scm_init_guile instead of scm_boot_guile.
+       
+2000-09-03  Neil Jerram  <neil@ossau.uklinux.net>
+
+       * vectors.c (scm_vector): Docstring: add @deffnx line for
+       list->vector.
+
+       * unif.c (scm_uniform_vector_ref): Docstring: add @deffnx line for
+       array-ref.
+       (scm_array_set_x): Docstring: add @deffnx line for
+       uniform-array-set!.
+
+       * symbols.c (scm_symbol_to_string): Docstring: complete an
+       incomplete Texinfo reference to a node in r4rs.texi.
+       (scm_symbol_to_string): Escape double quotes correctly within
+       docstring.
+
+       * struct.c (scm_make_struct, scm_make_vtable_vtable): Docstring
+       fixes: `@dots' changed to `@dots{}'.
+
+       * strop.c (scm_substring_move_x): Docstring: add @deffnx lines for
+       substring-move-left! and substring-move-right!.
+
+       * strings.c (scm_string): Docstring: add @deffnx line for
+       list->string.
+
+       * stime.c (scm_strptime): Fix spelling mistake in docstring.
+       (scm_current_time): Docstring fix: insert missing newline.
+       
+       * socket.c (scm_recvfrom): Docstring format fix: missing newline
+       inserted.
+
+       * ramap.c (scm_array_copy_x): Docstring: add @deffnx line for
+       array-copy-in-order!.
+       (scm_array_map_x): Docstring: add @deffnx line for
+       array-map-in-order!.
+
+       * posix.c (scm_mknod): Docstring format fix: missing newlines
+       inserted.
+       
+       * modules.c (scm_interaction_environment):  Docstring fix: add
+       newlines.
+
+       * eval.c (scm_cons_source): Added newly written docstring.
+
+2000-09-03  Michael Livshin  <mlivshin@bigfoot.com>
+
+       the following changes let Guile get rid of the `allocated' cell
+       state.
+
+       * smob.c (scm_smob_prehistory): don't init the "allocated" smob
+       type.
+
+       * tags.h (scm_tc16_allocated): removed.
+
+       * gc.h: removed now-obsolete comments about the `allocated' cell
+       state.
+       (SCM_NEWCELL): don't change cell type to `allocated'.
+       (SCM_NEWCELL2): ditto.
+
+       * gc.c (scm_mark_locations): mark freecells too, and don't worry
+       about any possible false positives.
+       (scm_debug_newcell): don't change cell type to `allocated'.
+       (scm_debug_newcell2): ditto.
+       (scm_gc_for_newcell): ditto.
+       (scm_gc_mark): remove the tc16_allocated case.
+
+2000-08-26  Mikael Djurfeldt  <mdj@linnaeus.mit.edu>
+
+       * gdbint.c (gdb_print): Removed superfluous macro definition.
+
+       * objects.c (scm_init_objects), print.c (scm_init_print), struct.c
+       (scm_init_struct): First arg to scm_make_vtable_vtable should be a
+       string, not a symbol.  (`make-vtable-vtable' needs to append this
+       string to another string and then pass it through
+       `make-struct-layout'.)
+
+       * stacks.c (scm_init_stacks): Pass a string, not a layout object,
+       to scm_make_vtable_vtable.  (Thanks to Dale P. Smith.)
+       
+       * struct.c (scm_make_struct_layout): Removed reference to
+       "read-only string" in comment; Check that argument is a string.
+       (scm_make_vtable_vtable): Check that argument is a string.
+
+       * environments.c (scm_init_environments): All internal includes in
+       libguile must use the prefix "libguile/" in path names since inly
+       the top-level source directory is on the include list.  (That, in
+       turn, is because we want to distinguish between system header
+       files and hedares files internal to libguile.)
+
+       * strings.c (scm_make_shared_substring, scm_read_only_string_p):
+       Deprecated.
+       (scm_string_length, scm_string_ref, scm_substring,
+       scm_string_append): Don't accept symbols as arguments (R5RS).
+
+2000-08-25  Neil Jerram  <neil@ossau.uklinux.net>
+
+       * ports.c (scm_set_port_column_x): Fix docstring so that it
+       mentions set-port-line! rather than set-port-column! twice.
+
+       * guardians.c (scm_make_guardian): Remove spurious . from doc string.
+
+2000-08-25  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * Makefile.am:  Added all necessary environments.* files.
+
+       * init.c:  Include environments.h.
+
+       (scm_boot_guile_1):  Initialize the environments.
+
+       * environments.[ch]:  Added.  Most of the credit for these files
+       goes to Jost Boekemeier.
+
+2000-08-25  Mikael Djurfeldt  <mdj@linnaeus.mit.edu>
+
+       * procprop.c: #include "libguile/smob.h"; handle applicable smobs.
+
+2000-08-24  Keisuke Nishida  <kxn30@po.cwru.edu>
+
+       * smob.h (scm_smob_descriptor): Added `apply' and `gsubr_type'.
+       * smob.c (scm_make_smob_type): Initialize `apply' and `gsubr_type'.
+       (scm_set_smob_apply): New function.
+       (scm_smob_apply_0, scm_smob_apply_1, scm_smob_apply_2,
+       scm_smob_apply_3): New functions.
+       * eval.c (SCM_CEVAL, SCM_APPLY): Added dispatch for applicable smobs.
+       * procs.c (scm_procedure_p): Check applicable smobs.
+
+2000-08-24  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * Makefile.am (BUILT_SOURCES): Experimentally added scmconfig.h
+       also here.  (This is supposed to make sure that scmconfig.h is
+       built before all sources in order to prevent that everything has
+       to be rebuilt again.  Hope it works---I'm just guessing. :)
+
+       * fluids.c (scm_fluid_set_x): Return SCM_UNSPECIFIED.
+
+2000-08-23  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * gc.c (scm_gc_mark): Don't use GUILE_DEBUG flag to compile in
+       extra tests.  (GUILE_DEBUG is only supposed to make extra
+       debugging functions available.)
+
+2000-08-21  Michael Livshin  <mlivshin@bigfoot.com>
+
+       * gc.h (SCM_GC_CARD_N_CELLS): change to be a nice non-confusing
+       constant.
+
+2000-08-19  Michael Livshin  <mlivshin@bigfoot.com>
+
+       * gc.c (scm_gc_sweep): added a `continue' statement that have
+       fallen through the cracks in the merge.  thanks to Shuji Narazaki!
+
+       * gc.h: removed some stuff that broke compilation for people and
+       wasn't actually needed anyway.
+
+2000-08-18  Neil Jerram  <neil@ossau.uklinux.net>
+
+       * filesys.c (scm_fcntl): Docstring fix - missing newlines inserted.
+
+       * net_db.c (scm_gethost, scm_getnet, scm_getproto, scm_sethost,
+       scm_setnet, setproto, setserv): Argument names changed to match
+       doc string.
+
+       * feature.c (scm_program_arguments): New docstring.
+
+       * simpos.c (scm_getenv): Reflow docstring.
+
+       * eq.c (scm_eq_p, scm_eqv_p, scm_equal_p): Add texinfo markup to
+       docstrings.
+
+       * chars.c (scm_char*): Docstring fixes - texinfo markup.
+
+2000-08-18  Neil Jerram  <neil@ossau.uklinux.net>
+
+       * boolean.c (scm_not, scm_boolean_p): Docstring fixes - add
+       texinfo markup and remove trailing newlines.
+
+2000-08-17  Michael Livshin  <mlivshin@bigfoot.com>
+
+       this changes the Guile GC to use cards (aka "chunklets").
+       (most of the ideas and some of the code are by Greg Harvey, though
+       the code is probably unrecognizable now.  the original chunklet
+       proposal, way back, is by Dale Jordan).
+
+       * tags.h: (SCM_GCTYPE16, SCM_GCCDR, SCM_GC[8]MARKP,
+       SCM_SETGC[8]MARK, SCM_CLRGC[8]MARK): moved from here into gc.h.
+       some (most) of these are probably going to be deprecated.
+
+       * gc.h (SCM_MARKEDP): simplified, there are no different mark bit
+       locations anymore.
+       (SCM_GC_CARD_*, SCM_C_BVEC_*): lots of new macros to deal with
+       cards and bvecs (bit-vectors).
+
+       * gc.c: (scm_default_init_heap_size_*): defined to take cards into
+       account, but keeping more or less the same values as previously.
+       added some simple helper macros.
+       (CLUSTER_SIZE_IN_BYTES, ALIGNMENT_SLACK): defined to take cards
+       into account.
+       (BVEC_*, scm_mark_space_t, current_mark_space, mark_space_ptr,
+       current_mark_space_offset, mark_space_head, get_bvec,
+       clear_mark_space): new functions and supporting variables, types
+       and macros that implement mark space management.
+       (scm_igc): clear the mark space (all of it) before beginning the
+       mark phase.
+       (scm_gc_mark): changed the tests for rogue cells, much simplified
+       throughout (no different mark bit locations to worry about now).
+       (scm_mark_locations): don't consider card header cells.
+       (scm_cellp): ditto.
+       (scm_gc_sweep): simplified.
+       (init_heap_seg): changed to take cards into account.
+
+2000-08-16  Michael Livshin  <mlivshin@bigfoot.com>
+
+       * stime.c (scm_c_get_internal_run_time): new function, same as
+       scm_get_internal_run_time but returns a long.  it's used by the GC
+       for timekeeping, since with scm_get_internal_run_time there is a
+       (extremely theoretical) possibility of consing.
+       (scm_get_internal_run_time): redefined in terms of
+       scm_c_get_internal_run_time.
+
+       * stime.h: added prototype for scm_c_get_internal_run_time.
+
+       * gc.c (scm_gc_stats): add more obscure stats, such as: mark time,
+       sweep time, total marked cells, total swept cells, and number of
+       times GC was invoked.
+       (gc_start_stats): renamed from scm_gc_start, made static, taught
+       to init the new stats.
+       (gc_end_stats): renamed from scm_gc_end, made static, taught to
+       calculate the new stats.
+       (scm_igc): don't call gc_start_stats unless we are sure that we
+       are indeed going to collect.  also, added some timekeeping between
+       the mark and sweep phases.
+       (scm_gc_sweep): count number of cells we sweep as we go.
+
+       * gc.h: removed prototypes for scm_gc_{start,end}.
+
+2000-08-13  Mikael Djurfeldt  <mdj@linnaeus.mit.edu>
+
+       * alist.c (scm_assq, scm_assv, scm_assoc): Report argument type
+       error for the alist rather than the sublist where the type
+       mismatch is discovered.
+
+2000-08-13  Neil Jerram  <neil@ossau.uklinux.net>
+
+       * root.c (s_scm_call_with_dynamic_root): Docstring fix - rogue
+       newline.
+
+2000-08-12  Neil Jerram  <neil@ossau.uklinux.net>
+
+       * numbers.c (scm_ash): Docstring fix - missing newlines.
+
+       * ports.c (scm_port_filename): Docstring fix - missing newline.
+
+       * strports.c (scm_eval_string): Docstring fix - missing newline.
+
+       * vports.c (s_scm_make_soft_port): Docstring updated so that
+       example is correct.
+
+       * strop.c: Docstring fixes - quotation marks and backslashes
+       needed quoting.
+
+       * numbers.c (s_scm_logand): Docstring fix - "@end lisp" inserted.
+
+2000-08-11  Neil Jerram  <neil@ossau.uklinux.net>
+
+       * macros.c: Remove surplus newlines from end of docstrings.
+
+       * list.c (scm_list_tail): Add @deffnx line to docstring for
+       list-cdr-ref.
+
+       * keywords.c: Docstring improvements in conjunction with new
+       reference manual doc on keywords.
+
+       * error.c (scm_error_scm): Fix texinfo syntax error in
+       docstring.  (@code(~S) should be @code{~S}.)
+
+       * dynl.c: Remove surplus newlines from end of docstrings.
+
+2000-08-11  Mikael Djurfeldt  <mdj@linnaeus.mit.edu>
+
+       * eval.c (scm_eval): Backward incompatible change: Now takes an
+       environment specifier as second arg.  `eval' hereby becomes R5RS
+       compatible.
+       (scm_i_eval_x, scm_i_eval): New functions (replace
+       scm_eval_3).
+       (scm_eval2, scm_eval_3): Deprecated.
+       (scm_top_level_lookup_closure_var): Deprecated.
+
+       * eval.h: #include "struct.h".
+
+       * evalext.c (scm_definedp): Have to work before module system is
+       booted.
+
+       * modules.h (SCM_MODULEP, SCM_VALIDATE_MODULE,
+       SCM_MODULE_OBARRAY, SCM_MODULE_USES, SCM_MODULE_BINDER,
+       SCM_MODULE_EVAL_CLOSURE): New macros.
+       (scm_module_index_obarray, scm_module_index_uses,
+       scm_module_index_binder, scm_module_index_eval_closure): New
+       constants; #include "validate.h".
+
+       * modules.c (scm_module_tag, scm_module_system_booted_p): New
+       globals.
+       (scm_post_boot_init_modules): Initialize scm_module_tag.
+       (scm_interaction_environment): New primitive.
+
+       * symbols.c (scm_can_use_top_level_lookup_closure_var): Removed.
+       #include "modules.h".
+
+       * strports.c (scm_eval_string): Evaluate in
+       scm_interaction_environment ().
+
+       * script.c (scm_shell): Pass scm_the_root_module () as second arg
+       to new scm_eval_x.
+
+       * load.c (load): Use `scm_selected_module' to compute second arg
+       to new scm_i_eval_x; Don't call it if module system hasn't booted.
+       (scm_read_and_eval_x): Deprecated.
+       #include "modules.h".
+
+       * debug.c (scm_local_eval): Use scm_i_eval and scm_i_eval_x.
+       (scm_start_stack): Use scm_i_eval.
+
+       * strports.c: #include "modules.h".
+
+       * print.c (scm_simple_format): Be case-insensitive for ~A and ~S
+       directives.
+
+2000-08-09  Mikael Djurfeldt  <mdj@linnaeus.mit.edu>
+
+       The following changes are intended to ensure that struct instances
+       are freed before their vtables.  It's optimized for the most
+       common case, which is freeing of struct instances.
+
+       * gc.c (scm_gc_mark, scm_gc_sweep): Remove vcell = 1 magic.
+       (scm_structs_to_free): New variable.
+       (scm_gc_sweep): Hook up structs to free on the scm_structs_to_free
+       chain.
+
+       * struct.h (SCM_STRUCT_GC_CHAIN, SCM_SET_STRUCT_GC_CHAIN): New
+       macros.
+       (scm_structs_to_free, scm_struct_prehistory): Declare.
+
+       * struct.c (scm_make_struct, scm_make_vtable_vtable): Structs
+       handles are now double cells; Initialize SCM_STRUCT_GC_CHAIN to
+       0.
+       (scm_struct_gc_init, scm_free_structs): New GC C hooks.
+       (scm_struct_prehistory): Install them.
+
+       * init.c (scm_boot_guile_1): Call scm_struct_prehistory.
+
+2000-08-06  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * read.c (scm_flush_ws): Include filename in error message when it
+       is not `#f'.
+
+2000-08-05  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * iselect.c: Include <unistd.h>.  Thanks to Bertrand Petit!
+
 2000-08-02  Mikael Djurfeldt  <mdj@linnaeus.mit.edu>
 
+       * struct.c (scm_make_struct_layout, scm_make_struct,
+       scm_make_vtable_vtable): Updated documentation.
+
        * print.c (scm_simple_format): Bugfix: Coerce port before using
        it.
 
        equal (respectively) to the argument key, not all cells that are
        eq, eqv, or equal to the first cell with the argument key.  Thanks
        to Neil Jerram!
-       
+
 2000-07-18  Dirk Herrmann  <D.Herrmann@tu-bs.de>
 
        * gc.h (SCM_FREE_CELL_CDR, SCM_SET_FREE_CELL_CDR), hooks.c
 2000-06-21  Michael Livshin  <mlivshin@bigfoot.com>
 
        * guile-doc-snarf.in: use cut instead of sed, that's much much
-       faster.  also, don't call basename more than needed.  and, to gain 
-       a couple of microseconds more, don't call cat needlessly.  (thanks 
+       faster.  also, don't call basename more than needed.  and, to gain
+       a couple of microseconds more, don't call cat needlessly.  (thanks
        to Brad Knotwell).
 
 2000-06-21  Dirk Herrmann  <D.Herrmann@tu-bs.de>
@@ -650,7 +1657,7 @@ Sun Jun 18 14:45:21 2000  Greg J. Badros  <gjb@cs.washington.edu>
        that a chain of Scheme level procedures has been evaluated for
        every top-level symbol lookup during the first pass through the
        code.
-       
+
        The following is a kludge which I suggested four years ago, and
        which I've repeatedly suggested since.  Personally, I've never
        been bothered by Guile's slow loading speed, so I thought I would
@@ -659,7 +1666,7 @@ Sun Jun 18 14:45:21 2000  Greg J. Badros  <gjb@cs.washington.edu>
        But since the new environments will be included first in
        Guile-1.5, I thought it would make people happy to get the kludge
        into 1.4.
-       
+
        * modules.c: Added #include "libguile/vectors.h";
        Added #include "libguile/hashtab.h";
        Added #include "libguile/struct.h";
@@ -767,7 +1774,7 @@ Sun Jun 18 14:45:21 2000  Greg J. Badros  <gjb@cs.washington.edu>
        * filesys.h (SCM_OPDIRP), fluids.h (SCM_FLUIDP, SCM_FLUID_NUM),
        fports.h (SCM_OPFPORTP, SCM_OPINFPORTP, SCM_OPOUTFPORTP), hooks.h
        (SCM_HOOK_ARITY), keywords.h (SCM_KEYWORDP, SCM_KEYWORDSYM),
-       numbers.h (SCM_NUMP, SCM_BIGSIGN, SCM_BDIGITS, SCM_NUMDIGS): 
+       numbers.h (SCM_NUMP, SCM_BIGSIGN, SCM_BDIGITS, SCM_NUMDIGS):
        Replace SCM_UNPACK_CAR appropriately.  Don't access cells via
        SCM_{SET}?C[AD]R unless they are known to be cons cells.
 
@@ -822,7 +1829,7 @@ Sun Jun 18 14:45:21 2000  Greg J. Badros  <gjb@cs.washington.edu>
        cookies anyway.  in the long term, it would be nice not to depend
        on AWK for anything.)
 
-       * gc.h (SCM_[SET_]CELL_{WORD,OBJECT}, SCM_VALIDATE_CELL): reverted 
+       * gc.h (SCM_[SET_]CELL_{WORD,OBJECT}, SCM_VALIDATE_CELL): reverted
        the previous change to this macros, after deciding to torture the
        snarfer instead.
 
@@ -849,7 +1856,7 @@ Sun Jun 18 14:45:21 2000  Greg J. Badros  <gjb@cs.washington.edu>
        * hashtab.c (scm_hash_fn_create_handle_x): add missing
        SCM_REALLOW_INTS before return.  I really wonder about the
        possible interactions between hashtables, threads & GC.  it
-       doesn't look healthy at all. 
+       doesn't look healthy at all.
 
 2000-05-20  Dirk Herrmann  <D.Herrmann@tu-bs.de>
 
@@ -931,7 +1938,7 @@ Sun Jun 18 14:45:21 2000  Greg J. Badros  <gjb@cs.washington.edu>
 
        * stacks.c (scm_make_stack), stacks.h (scm_make_stack), throw.c
        (ss_handler, handler_message):  Make first mandatory rest argument
-       of scm_make_stack into a standard mandatory argument.  
+       of scm_make_stack into a standard mandatory argument.
 
        * unif.c (scm_transpose_array, scm_enclose_array,
        scm_array_in_bounds_p), unif.h (scm_transpose_array,
@@ -1259,7 +2266,7 @@ Sun Jun 18 14:45:21 2000  Greg J. Badros  <gjb@cs.washington.edu>
        comparisons of SCM values with integer constants.
 
        * number.c (scm_logtest):  Removed some redundant SCM_{N}?IMP
-       tests. 
+       tests.
 
 2000-04-28  Dirk Herrmann  <D.Herrmann@tu-bs.de>
 
@@ -1297,7 +2304,7 @@ Sun Jun 18 14:45:21 2000  Greg J. Badros  <gjb@cs.washington.edu>
 
        Better modularization of GC extensions through new C level GC
        hooks:
-       
+
        * weaks.c (scm_weaks_prehistory): New function: Add
        scm_weak_vector_gc_init to scm_before_mark_c_hook; Add
        scm_mark_weak_vector_spines to scm_before_sweep_c_hook.
@@ -1361,7 +2368,7 @@ Sun Jun 18 14:45:21 2000  Greg J. Badros  <gjb@cs.washington.edu>
        the new code is not less clear.)
 
        * gc.c (scm_must_malloc, scm_must_realloc, scm_must_free): Added
-       calls to malloc debugging functions. 
+       calls to malloc debugging functions.
 
        * init.c (scm_boot_guile_1): Added calls to debug-malloc init
        functions.
@@ -1432,8 +2439,8 @@ Sun Jun 18 14:45:21 2000  Greg J. Badros  <gjb@cs.washington.edu>
 
 Tue Apr 18 08:22:41 2000  Greg J. Badros  <gjb@cs.washington.edu>
 
-       * validate.h: Do not cast to (unsigned) in SCM_VALIDATE_INUM_RANGE 
-       when testing high-end of the range.  Mikael Djurfeldt noticed this 
+       * validate.h: Do not cast to (unsigned) in SCM_VALIDATE_INUM_RANGE
+       when testing high-end of the range.  Mikael Djurfeldt noticed this
        anomaly -- thanks Mikael!
 
 2000-04-18  Dirk Herrmann  <D.Herrmann@tu-bs.de>
@@ -1571,7 +2578,7 @@ Tue Apr 18 08:22:41 2000  Greg J. Badros  <gjb@cs.washington.edu>
        symbols.c (scm_intern_obarray_soft, msymbolize, scm_symbol_fset_x,
        scm_symbol_pset_x):  Use them.
 
-       * symbols.c (scm_symbol_hash):  Unpack to access SCM raw data. 
+       * symbols.c (scm_symbol_hash):  Unpack to access SCM raw data.
 
 2000-04-12  Dirk Herrmann  <D.Herrmann@tu-bs.de>
 
@@ -1622,7 +2629,7 @@ Tue Apr 18 08:22:41 2000  Greg J. Badros  <gjb@cs.washington.edu>
        * numbers.c (scm_quotient, scm_modulo):  Reordered to handle the
        case of immediate numbers parameters first.  Also, only use
        decoded numbers for numerical comparison.
-       
+
 2000-04-10  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
 
        * objects.h: Don't redeclare scm_call_generic_0 and