* Fix SCM <--> scm_t_bits related typing problems.
[bpt/guile.git] / libguile / ChangeLog
index 5b3182f..557b9b8 100644 (file)
@@ -1,3 +1,699 @@
+2001-06-08  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * goops.c (SCM_CLASS_REDEF):  Removed.
+
+       * vectors.h (VECTORSH, SCM_VECTORS_H): Renamed <foo>H to
+       SCM_<foo>_H.
+
+       Thanks to Matthias Koeppe for reporting the bugs that correspond
+       to the following set of patches.
+
+       * goops.c (scm_sys_prep_layout_x, scm_basic_basic_make_class,
+       create_basic_classes, scm_sys_fast_slot_set_x, set_slot_value,
+       scm_sys_allocate_instance, clear_method_cache,
+       scm_sys_invalidate_method_cache_x, scm_make,
+       create_standard_classes, scm_make_port_classes, scm_make_class,
+       scm_add_slot):  Use SCM_SET_SLOT to set slot values.
+
+       (prep_hashsets):  Use SCM_SET_HASHSET to set class hash values.
+
+       * goops.h (SCM_SET_SLOT, SCM_SET_HASHSET):  New macros.
+
+       * ramap.c (BINARY_ELTS_CODE, BINARY_PAIR_ELTS_CODE,
+       UNARY_ELTS_CODE):  Remove bogus break statement.
+
+       * vectors.h (SCM_BITVEC_REF, SCM_BITVEC_SET, SCM_BITVEC_CLR):
+       Don't access bit vectors elements as SCM objects.
+
+       * weaks.c (scm_make_weak_vector, scm_make_weak_key_hash_table,
+       scm_make_weak_value_hash_table, scm_make_doubly_weak_hash_table):
+       Don't assign to an unpacked value.
+
+2001-06-07  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * __scm.h (SCM_NORETURN):  Moved here from error.h.
+
+       (SCM_UNUSED):  New macro.
+
+       (SCM_DEBUG_PAIR_ACCESSES):  New macro.
+
+       * backtrace.c (display_error_handler), continuations.c
+       (continuation_print), debug.c (debugobj_print), dynwind.c
+       (guards_print), environments.c (observer_print,
+       core_environments_finalize, leaf_environment_cell,
+       leaf_environment_print, eval_environment_print,
+       eval_environment_observer, import_environment_define,
+       import_environment_undefine, import_environment_print,
+       import_environment_observer, export_environment_define,
+       export_environment_undefine, export_environment_print,
+       export_environment_observer), eval.c (scm_m_quote, scm_m_begin,
+       scm_m_if, scm_m_set_x, scm_m_and, scm_m_or, scm_m_case,
+       scm_m_cond, scm_m_lambda, scm_m_letstar, scm_m_do, scm_m_delay,
+       scm_m_letrec1, scm_m_apply, scm_m_cont, scm_m_nil_cond,
+       scm_m_nil_ify, scm_m_t_ify, scm_m_0_cond, scm_m_0_ify,
+       scm_m_1_ify, scm_m_atfop, scm_m_at_call_with_values), evalext.c
+       (scm_m_generalized_set_x), fluids.c (fluid_print), fports.c
+       (fport_print), gc.c (gc_start_stats, scm_remember_upto_here_1,
+       scm_remember_upto_here_2, scm_remember_upto_here, mark_gc_async),
+       gh_init.c (gh_standard_handler), goops.c (get_slot_value,
+       set_slot_value, test_slot_existence, scm_change_object_class,
+       scm_m_atslot_ref, scm_m_atslot_set_x, make_struct_class,
+       default_setter), guardians.c (guardian_print, guardian_gc_init,
+       guardian_zombify, whine_about_self_centered_zombies), guile.c
+       (inner_main), init.c (stream_handler), keywords.c (keyword_print),
+       mallocs.c (malloc_print), numbers.c (scm_print_real,
+       scm_print_complex, scm_bigprint), ports.c (flush_port_default,
+       end_input_default, scm_port_print, fill_input_void_port,
+       write_void_port), root.c (root_print), smob.c (scm_mark0,
+       scm_free0, scm_smob_print, scm_smob_apply_1_error,
+       scm_smob_apply_2_error, scm_smob_apply_3_error, free_print),
+       stime.c (restorezone), strings.c (scm_makfromstr), struct.c
+       (scm_struct_free_0, scm_struct_free_standard,
+       scm_struct_free_entity, scm_struct_gc_init, scm_free_structs),
+       throw.c (jmpbuffer_print, lazy_catch_print, ss_handler,
+       scm_handle_by_throw, scm_ithrow), weaks.c
+       (scm_weak_vector_gc_init, scm_mark_weak_vector_spines,
+       scm_scan_weak_vectors), ramap.c (scm_array_fill_int), filesys.c
+       (scm_dir_print): Mark unused parameters with SCM_UNUSED.
+
+       * error.h (SCM_NORETURN):  Moved to __scm.h.
+
+       * error.h (ERRORH, SCM_ERROR_H), pairs.h (PAIRSH, SCM_PAIRS_H):
+       Renamed <foo>H to SCM_<foo>_H.
+
+       * gc.c (debug_cells_gc_interval):  New static variable.
+
+       (scm_assert_cell_valid):  If selected by the user, perform
+       additional garbage collections.
+
+       (scm_set_debug_cell_accesses_x):  Extended to let the user specify
+       if additional garbage collections are desired.
+
+       (mark_gc_async):  If additional garbage collections are selected
+       by the user, don't call the after-gc-hook.  Instead require the
+       user to run the hook manually.
+
+       * pairs.c (scm_error_pair_access):  New function.  Only compiled
+       if SCM_DEBUG_PAIR_ACCESSES is set to 1.
+
+       * pairs.h (SCM_VALIDATE_PAIR):  New macro.
+
+       (SCM_CAR, SCM_CDR, SCM_SETCAR, SCM_SETCDR):  If
+       SCM_DEBUG_PAIR_ACCESSES is set to 1, make sure that the argument
+       is a real pair object.  (Glocs are also accepted, but that may
+       change.)  If not, abort with an error message.
+
+2001-06-05  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * eval.c (SCM_VALIDATE_NON_EMPTY_COMBINATION):  New macro.
+
+       (SCM_CEVAL, SCM_APPLY):  Replace calls to SCM_EVALIM2 with calls
+       to SCM_VALIDATE_NON_EMPTY_COMBINATION.
+
+2001-06-05  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * extensions.c (scm_c_register_extension): Allow NULL as library
+       name.
+       (load_extension): Ignore NULL library names when comparing.
+       
+       * hash.c (scm_hasher): Use SCM_UNPACK in the case labels so that
+       non-pointers are being compared.  Thanks to Alexander Klimov!
+
+2001-06-04  Gary Houston  <ghouston@arglist.com>
+
+       * rw.c (scm_write_string_partial): new procedure implementing
+       write-string/partial in (ice-9 rw).
+       * rw.h: declare scm_write_string_partial.
+       
+2001-06-04  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * keywords.c (keyword_print): Substract 1 from length of symbol
+       name, accounting for the silly dash.
+
+       * dynl.c (scm_registered_modules, scm_clear_registered_modules):
+       Do not emit deprecation warning.
+
+       Added exception notice to all files.
+
+       * dynl.c: Include "deprecation.h".
+
+2001-06-03  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * dynl.c (scm_register_module_xxx, scm_registered_modules,
+       scm_clear_registered_modules): Deprecated.
+
+2001-06-02  Rob Browning  <rlb@cs.utexas.edu>
+
+       * .cvsignore: add guile_filter_doc_snarfage guile-snarf-docs
+       guile-snarf-docs-texi.
+
+       * fports.c: HAVE_ST_BLKSIZE changed to
+       HAVE_STRUCT_STAT_ST_BLKSIZE.
+       (scm_fport_buffer_add): HAVE_ST_BLKSIZE changed to
+       HAVE_STRUCT_STAT_ST_BLKSIZE.
+
+       * filesys.c (scm_stat2scm): HAVE_ST_RDEV changed to
+       HAVE_STRUCT_STAT_ST_RDEV.
+       (scm_stat2scm): HAVE_ST_BLKSIZE changed to
+       HAVE_STRUCT_STAT_ST_BLKSIZE.
+       (scm_stat2scm): HAVE_ST_BLOCKS changed to
+       HAVE_STRUCT_STAT_ST_BLOCKS.
+
+2001-06-02  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * strports.c (scm_eval_string): Use scm_primitive_eval_x instead
+       of scm_eval_x to allow module changes between the forms in the
+       string.  Set/restore module using scm_c_call_with_current_module.
+
+       * mkstemp.c: New file, slightly modified from libiberties
+       mkstemps.c.
+
+2001-05-31  Michael Livshin  <mlivshin@bigfoot.com>
+
+       * guile-snarf-docs.in, guile-snarf-docs-texi.in,
+       filter-doc-snarfage.c: new files.
+
+       * Makefile.am: add stuff to [build,] use and distribute
+       guile-snarf-docs, guile-snarf-docs-texi, guile_filter_doc_snarfage.
+
+       * guile-snarf.in: grok the new snarf output.
+
+       * snarf.h: make the output both texttools- and `read'-friendly.
+
+       * guile-doc-snarf.in (bindir): reimplement in terms of guile-snarf
+       and guile-snarf-docs.  (should also deprecate, I guess.  maybe
+       not).
+
+2001-05-31  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * print.c (scm_simple_format): Support "~~" and "~%".  Signal
+       error for unsupported format controls and for superflous
+       arguments.  Thanks to David Skarda!
+
+       * print.h, print.c (scm_print_symbol_name): Factored out of
+       scm_iprin1.
+       (scm_iprin1): Call it.
+       
+       * keywords.c (keyword_print): Use scm_print_symbol_name so that
+       weird names are printed correctly.
+
+       * print.c (scm_print_symbol_name): Symbols whose name starts with
+       `#' or `:' or ends with `:' are considered weird.
+
+2001-05-30  Martin Grabmueller  <mgrabmue@cs.tu-berlin.de>
+
+       * numbers.c (scm_difference, scm_divide): Clarified comments for -
+       and /.
+
+2001-05-29  Martin Grabmueller  <mgrabmue@cs.tu-berlin.de>
+
+       * debug.h: Removed prototype for scm_eval_string.
+
+2001-05-28  Martin Grabmueller  <mgrabmue@cs.tu-berlin.de>
+
+       * symbols.c (scm_gensym): Fix buffer overrun (try `(gensym
+       (make-string 2000 #\!))' in an older version).  
+
+       Change strncpy to memcpy to allow embedded NUL characters in
+       symbol prefix.
+
+2001-05-28  Michael Livshin  <mlivshin@bigfoot.com>
+
+       * hooks.c (scm_create_hook): deprecated.
+       (make_hook): deleted.
+       (scm_make_hook): all the hook creation code is now here.
+
+       * gc.c (scm_init_gc): don't call `scm_create_hook'.  instead make
+       a hook, make it permanent, and do a `scm_c_define' on it.
+
+       * strop.c (s_scm_string_capitalize_x): fix docstring quoting.
+
+       * socket.c (s_scm_inet_pton): fix docstring quoting.
+       (s_scm_inet_ntop): ditto.
+
+       * num2integral.i.c (INTEGRAL2NUM): cast to fix a warning.
+
+       * hashtab.c (scm_internal_hash_fold): fix argument position in
+       SCM_ASSERT.
+
+       * environments.c (s_scm_import_environment_set_imports_x): fix
+       argument position in SCM_ASSERT.
+
+       * debug.c (s_scm_make_gloc): fix SCM packing/unpacking.
+       (s_scm_make_iloc): ditto.
+
+2001-05-26  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * __scm.h (SCM_DEBUG_TYPING_STRICTNESS):  Make 1 the default.
+
+       * eval.c (promise_print):  Read the promise's value as an object.
+
+       (SCM_CEVAL):  Don't perform side-effecting operations in macro
+       parameters.
+
+       * eval.h (SCM_EVALIM2):  Fix the typing strictness of the
+       conditional expression.
+
+       * gc.c (scm_master_freelist, scm_master_freelist2):  Added missing
+       initializer.
+
+       * gh_data.c (gh_set_substr):  Removed redundant unsigned >= 0
+       text, removed redundant computation of effective_length and fixed
+       the overflow check.
+
+       * goops.c (test_slot_existence):  Use SCM_EQ_P to compare SCM
+       values.
+
+       (wrap_init):  Don't use SCM_C[AD]R for non pairs.
+
+       (hell):  Make it a scm_bits_t pointer rather than a SCM pointer.
+
+       * goops.c (scm_sys_modify_class), strports.c (st_resize_port),
+       struct.h (SCM_SET_STRUCT_PRINTER):  Store unpacked values.
+
+       * goops.h (SCM_ACCESSORS_OF, SCM_SLOT):  Return a SCM value.
+
+       * goops.h (GOOPSH, SCM_GOOPS_H), modules.h (MODULESH,
+       SCM_MODULES_H), objects.h (OBJECTSH, SCM_OBJECTS_H), struct.h
+       (STRUCTH, SCM_STRUCT_H), symbols.h (SYMBOLSH, SCM_SYMBOLS_H),
+       __scm.h (__SCMH, SCM___SCM_H):  Change <foo>H to SCM_<foo>_H.
+
+       * modules.[ch] (scm_module_tag):  Make it a scm_bits_t value.
+
+       * objects.h (SCM_SET_CLASS_INSTANCE_SIZE):  Fixed typing.
+
+       * ramap.c (ramap_rp):  Removed bogus `;´.
+
+       * sort.c (scm_restricted_vector_sort_x):  Fixed signedness
+       problem.
+
+       * symbols.h (SCM_PROP_SLOTS, SCM_SET_PROP_SLOTS, SCM_SYMBOL_FUNC,
+       SCM_SET_SYMBOL_FUNC, SCM_SYMBOL_PROPS, SCM_SET_SYMBOL_PROPS):
+       Read SCM objects rather than scm_bits_t values.
+
+       * tags.h (SCM_VOIDP_TEST):  Removed.
+
+       (SCM_DEBUG_TYPING_STRICTNESS):  Now takes values 0, 1, 2.  The
+       value of 2 now corresponds to the former 1, the current 1
+       corresponds to the former situation that SCM_VOIDP_TEST was
+       defined.
+
+       (SCM):  Now defined as typedef struct scm_unused_struct * SCM; 
+       If this appears to be not ANSI compliant, we will change it to 
+       typedef struct scm_unused_struct { } * SCM;
+       Thanks to Han-Wen Nienhuys for the suggestion.
+
+       * unif.c (scm_array_set_x):  Fix typing problem, and use
+       SCM_UVECTOR_BASE instead of SCM_VELTS or SCM_CELL_WORD_1 when
+       dealing with uniform vectors.
+
+2001-05-27  Michael Livshin  <mlivshin@bigfoot.com>
+
+       * gc.c (scm_init_storage): init `scm_gc_registered_roots'.
+       (scm_igc): mark from them, too (precisely, not conservatively!).
+
+       * root.h (scm_gc_registered_roots): new object in
+       scm_sys_protects.
+
+       * hooks.c (scm_create_hook): call `scm_gc_protect_object' instead
+       `scm_protect_object'.  shouldn't call it at all, though, it seems.
+
+       * gc.c (scm_[un]protect_object): deprecated.
+       (scm_gc_[un]protect_object): new names for scm_[un]protect_object.
+       (scm_gc_[un]register_root[s]): new.
+
+       * gc.h: add prototypes for scm_gc_[un]protect_object,
+       scm_gc_[un]register_root[s].
+
+2001-05-26  Michael Livshin  <mlivshin@bigfoot.com>
+
+       revert the controversial part of the 2001-05-24 changes.
+
+2001-05-25  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * modules.c (scm_env_module): Exported to Scheme.
+
+       * eval.c (scm_debug_opts): New option `show-file-name'.
+
+       * debug.h (SCM_SHOW_FILE_NAME): New.
+
+       * backtrace.c: Include "libguile/filesys.h".
+       (sym_base, display_backtrace_get_file_line,
+       display_backtrace_file, display_backtrace_file_and_line): New.
+       (display_frame): Call display_backtrace_file_and_line if that is
+       requested.
+       (display_backtrace_body): Call scm_display_backtrace_file if
+       requested.
+
+       * debug.h (scm_lookup_cstr, scm_lookup_soft, scm_evstr):
+       Prototypes removed since there's no definition for these
+       functions.
+
+2001-05-24  Martin Grabmueller  <mgrabmue@cs.tu-berlin.de>
+
+       * unif.c (scm_make_ra, array_free), unif.h (SCM_ARRAY_DIMS):
+       Changed use of scm_array->scm_array_t and
+       scm_array_dim->scm_array_dim_t to enable build with
+       --disable-deprecated.
+
+2001-05-24  Michael Livshin  <mlivshin@bigfoot.com>
+
+       The purpose of this set of changes is to regularize Guile's usage
+       of ANSI C integral types, with the following ideas in mind:
+
+       - SCM does not nesessarily have to be long.
+       - long is not nesessarily enough to store pointers.
+       - long is not nesessarily the same size as int.
+
+       The changes are incomplete and possibly buggy.  Please test on
+       something exotic.
+
+       * validate.h
+       (SCM_NUM2{SIZE,PTRDIFF,SHORT,USHORT,BITS,UBITS,INT,UINT}[_DEF]):
+       new macros.
+
+       * unif.h: type renaming:
+       scm_array -> scm_array_t
+       scm_array_dim -> scm_array_dim_t
+       the old names are deprecated, all in-Guile uses changed.
+
+       * tags.h (scm_ubits_t): new typedef, representing unsigned
+       scm_bits_t.
+
+       * stacks.h: type renaming:
+       scm_info_frame -> scm_info_frame_t
+       scm_stack -> scm_stack_t
+       the old names are deprecated, all in-Guile uses changed.
+
+       * srcprop.h: type renaming:
+       scm_srcprops -> scm_srcprops_t
+       scm_srcprops_chunk -> scm_srcprops_chunk_t
+       the old names are deprecated, all in-Guile uses changed.
+
+       * gsubr.c, procs.c, print.c, ports.c, read.c, rdelim.c, ramap.c,
+       rw.c, smob.c, sort.c, srcprop.c, stacks.c, strings.c, strop.c,
+       strorder.c, strports.c, struct.c, symbols.c, unif.c, values.c,
+       vectors.c, vports.c, weaks.c:
+       various int/size_t -> size_t/scm_bits_t changes.
+
+       * random.h: type renaming:
+       scm_rstate -> scm_rstate_t
+       scm_rng -> scm_rng_t
+       scm_i_rstate -> scm_i_rstate_t
+       the old names are deprecated, all in-Guile uses changed.
+
+       * procs.h: type renaming:
+       scm_subr_entry -> scm_subr_entry_t
+       the old name is deprecated, all in-Guile uses changed.
+
+       * options.h (scm_option_t.val): unsigned long -> scm_bits_t.
+       type renaming:
+       scm_option -> scm_option_t
+       the old name is deprecated, all in-Guile uses changed.
+
+       * objects.c: various long -> scm_bits_t changes.
+       (scm_i_make_class_object): flags: unsigned long -> scm_ubits_t
+
+       * numbers.h (SCM_FIXNUM_BIT): deprecated, renamed to
+       SCM_I_FIXNUM_BIT.
+
+       * num2integral.i.c: new file, multiply included by numbers.c, used
+       to "templatize" the various integral <-> num conversion routines.
+
+       * numbers.c (scm_mkbig, scm_big2num, scm_adjbig, scm_normbig,
+       scm_copybig, scm_2ulong2big, scm_dbl2big, scm_big2dbl):
+       deprecated.
+       (scm_i_mkbig, scm_i_big2inum, scm_i_adjbig, scm_i_normbig,
+       scm_i_copybig, scm_i_short2big, scm_i_ushort2big, scm_i_int2big,
+       scm_i_uint2big, scm_i_long2big, scm_i_ulong2big, scm_i_bits2big,
+       scm_i_ubits2big, scm_i_size2big, scm_i_ptrdiff2big,
+       scm_i_long_long2big, scm_i_ulong_long2big, scm_i_dbl2big,
+       scm_i_big2dbl, scm_short2num, scm_ushort2num, scm_int2num,
+       scm_uint2num, scm_bits2num, scm_ubits2num, scm_size2num,
+       scm_ptrdiff2num, scm_num2short, scm_num2ushort, scm_num2int,
+       scm_num2uint, scm_num2bits, scm_num2ubits, scm_num2ptrdiff,
+       scm_num2size): new functions.
+
+       * modules.c (scm_module_reverse_lookup): i, n: int -> scm_bits_t.
+
+       * load.c: change int -> size_t in various places (where the
+       variable is used to store a string length).
+       (search-path): call scm_done_free, not scm_done_malloc.
+
+       * list.c (scm_ilength): return a scm_bits_t, not long.
+       some other {int,long} -> scm_bits_t changes.
+
+       * hashtab.c: various [u]int -> scm_bits_t changes.
+       scm_ihashx_closure -> scm_ihashx_closure_t (and made a typedef).
+       (scm_ihashx): n: uint -> scm_bits_t
+       use scm_bits2num instead of scm_ulong2num.
+
+       * gsubr.c: various int -> scm_bits_t changes.
+
+       * goops.[hc]: various {int,long} -> scm_bits_t changes.
+
+       * gh_data.c (gh_num2int): no loss of precision any more.
+
+       * gh.h (gh_str2scm): len: int -> size_t
+       (gh_{get,set}_substr): start: int -> scm_bits_t,
+       len: int -> size_t
+       (gh_<num>2scm): n: int -> scm_bits_t
+       (gh_*vector_length): return scm_[u]size_t, not unsigned long.
+       (gh_length): return scm_bits_t, not unsigned long.
+
+       * gc.[hc]: various small changes relating to many things stopping
+       being long and starting being scm_[u]bits_t instead.
+       scm_mallocated should no longer wrap around.
+
+       * fports.h: type renaming:
+       scm_fport -> scm_fport_t
+       the old name is deprecated, all in-Guile uses changed.
+
+       * fports.c (fport_fill_input): count: int -> scm_bits_t
+       (fport_flush): init_size, remaining, count: int -> scm_bits_t
+
+       * debug.h (scm_lookup_cstr, scm_lookup_soft, scm_evstr): removed
+       those prototypes, as the functions they prototype don't exist.
+
+       * fports.c (default_buffer_size): int -> size_t
+       (scm_fport_buffer_add): read_size, write_size: int -> scm_bits_t
+       default_size: int -> size_t
+       (scm_setvbuf): csize: int -> scm_bits_t
+
+       * fluids.c (n_fluids): int -> scm_bits_t
+       (grow_fluids): old_length, i: int -> scm_bits_t
+       (next_fluid_num, scm_fluid_ref, scm_fluid_set_x): n: int ->
+       scm_bits_t
+       (scm_c_with_fluids): flen, vlen: int -> scm_bits_t
+
+       * filesys.c (s_scm_open_fdes): changed calls to SCM_NUM2LONG to
+       the new and shiny SCM_NUM2INT.
+
+       * extensions.c: extension -> extension_t (and made a typedef).
+
+       * eval.h (SCM_IFRAME): cast to scm_bits_t, not int.  just so
+       there are no nasty surprises if/when the various deeply magic tag
+       bits move somewhere else.
+
+       * eval.c: changed the locals used to store results of SCM_IFRAME,
+       scm_ilength and such to be of type scm_bits_t (and not int/long).
+       (iqq): depth, edepth: int -> scm_bits_t
+       (scm_eval_stack): int -> scm_bits_t
+       (SCM_CEVAL): various vars are not scm_bits_t instead of int.
+       (check_map_args, scm_map, scm_for_each): len: long -> scm_bits_t
+       i: int -> scm_bits_t
+
+       * environments.c: changed the many calls to scm_ulong2num to
+       scm_ubits2num.
+       (import_environment_fold): proc_as_ul: ulong -> scm_ubits_t
+
+       * dynwind.c (scm_dowinds): delta: long -> scm_bits_t
+
+       * debug.h: type renaming:
+       scm_debug_info -> scm_debug_info_t
+       scm_debug_frame -> scm_debug_frame_t
+       the old names are deprecated, all in-Guile uses changed.
+       (scm_debug_eframe_size): int -> scm_bits_t
+
+       * debug.c (scm_init_debug): use scm_c_define instead of the
+       deprecated scm_define.
+
+       * continuations.h: type renaming:
+       scm_contregs -> scm_contregs_t
+       the old name is deprecated, all in-Guile uses changed.
+       (scm_contregs_t.num_stack_items): size_t -> scm_bits_t
+       (scm_contregs_t.num_stack_items): ulong -> scm_ubits_t
+
+       * continuations.c (scm_make_continuation): change the type of
+       stack_size from long to scm_bits_t.
+
+       * ports.h: type renaming:
+       scm_port_rw_active -> scm_port_rw_active_t (and made a typedef)
+       scm_port -> scm_port_t
+       scm_ptob_descriptor -> scm_ptob_descriptor_t
+       the old names are deprecated, all in-Guile uses changed.
+       (scm_port_t.entry): int -> scm_bits_t.
+       (scm_port_t.line_number): int -> long.
+       (scm_port_t.putback_buf_size): int -> size_t.
+
+       * __scm.h (long_long, ulong_long): deprecated (they pollute the
+       global namespace and have little value beside that).
+       (SCM_BITS_LENGTH): new, is the bit size of scm_bits_t (i.e. of an
+       SCM handle).
+       (ifdef spaghetti): include sys/types.h and sys/stdtypes.h, if they
+       exist (for size_t & ptrdiff_t).
+       (scm_sizet): deprecated.
+
+       * Makefile.am (noinst_HEADERS): add num2integral.i.c
+
+2001-05-23  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * snarf.h (SCM_CONST_LONG): Use SCM_VCELL_INIT instead of
+       SCM_VARIABLE_INIT since that it what it used to be.
+
+       * deprecation.c (scm_include_deprecated_features): Make docstring
+       ANSIsh.  Thanks to Matthias Köppe!
+
+2001-05-21  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * symbols.c (scm_mem2symbol): Re-introduce indirect cell.  It is
+       needed for weak-key hashtables.
+
+       * procs.c (scm_make_subr_with_generic): Add missing last argument
+       in call to scm_c_define_gsubr_with_generic.  Thanks to Ariel Rios.
+
+       * eval.c: Use SCM_EQ_P instead of `==' or `!=' in certain
+       places. (scm_c_improper_memq): Return 1 instead of SCM_BOOL_T.
+
+       * eval.h (SCM_EVALIM2): Use SCM_EQ_P instead of `=='.
+
+2001-05-20  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * symbols.c (scm_mem2symbol): Call `scm_must_strndup' instead of
+       `duplicate_string'.  Do not use an indirect cell, store symbol
+       directly in collision list of hash table.
+       (duplicate_string): Removed.
+       
+       * init.c (scm_init_guile_1): Call scm_init_extensions.
+
+       * Makefile.am: Add "extensions.c" and related files in all the
+       right places.
+
+       * extensions.h, extension.c: New files.
+
+       * gc.h, gc.c (scm_must_strdup, scm_must_strndup): New.
+
+       * modules.h (scm_system_module_env_p): Move out of deprecated
+       section.
+
+       * rw.h (scm_init_rw): Added prototype.
+
+       * gsubr.h, gsubr.c (scm_c_make_gsubr, scm_c_define_gsubr,
+       scm_c_make_gsubr_with_generic, scm_c_define_gsubr_with_generic):
+       New functions.  They replace scm_make_gsubr and
+       scm_make_gsubr_with_generic.  The `make' variants only create the
+       gsubr object, while the `define' variants also put it into the
+       current module.  Changed all callers.
+       (scm_make_gsubr, scm_make_gsubr_with_generic): Deprecated.
+
+       * procs.h, procs.c (scm_c_make_subr, scm_c_define_subr,
+       scm_c_make_subr_with_generic, scm_c_define_subr_with_generic): New
+       functions.  They replace scm_make_subr, scm_make_subr_opt and
+       scm_make_subr_with_generic.  The `make' variants only create the
+       subr object, while the `define' variants also put it into the
+       current module.  Changed all callers.
+       (scm_make_subr, scm_make_subr_opt, scm_make_subr_with_generic):
+       Deprecated.
+
+       * eval.c, gc.c, gh_funcs.c, goops.c, macros.c, pairs.c, ramap.c,
+       rdelim.c, rw.c, scmsigs.c, snarf.h, values.c: Changed according to
+       the comments above.
+       
+2001-05-19  Neil Jerram  <neil@ossau.uklinux.net>
+
+       * throw.c (scm_lazy_catch): Slight docstring clarification.
+
+2001-05-19  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * throw.c: Lazy-catch handlers are no longer allowed to return.
+       Fixed comments throughout.
+       (scm_ithrow): Signal an error when a lazy-catch handler returns.
+       Moved actual jump to jmpbuf into if-branch where the jmpbuf is
+       recognized as such.
+
+       * version.c (s_scm_micro_version): Fix typo in FUNC_NAME, it
+       refered to s_scm_minor_version previously.
+
+       * modules.h, modules.c: Moved around a lot of code so that
+       deprecated features appear at the bottom.
+       (root_module_lookup_closure, scm_sym_app, scm_sym_modules,
+       module_prefix, make_modules_in_var, beautify_user_module_x_var,
+       scm_the_root_module, scm_make_module, scm_ensure_user_module,
+       scm_load_scheme_module): Deprecated.
+       (scm_system_module_env_p): Return SCM_BOOL_T directly for
+       environments corresponding to the root module.
+       (convert_module_name, scm_c_resolve_module,
+       scm_c_call_with_current_module, scm_c_define_module,
+       scm_c_use_module, scm_c_export): New.
+       (the_root_module): New static variant of scm_the_root_module.  Use
+       it everywhere instead of scm_the_root_module.
+       
+       * fluids.h, fluids.c (scm_internal_with_fluids): Deprecated.
+       (scm_c_with_fluids): Renamed from scm_internal_with_fluids.
+       (scm_c_with_fluid): New.
+       (scm_with_fluids): Use scm_c_with_fluids instead of
+       scm_internal_with_fluids.
+       
+       * goops.h, goops.c (scm_init_goops_builtins): Renamed from
+       `scm_init_goops'.  Do not explicitly create/switch modules.
+       Return SCM_UNSPECIFIED.
+       (scm_init_goops): Only register `%init-goops-builtins' procedure.
+       (scm_load_goops): Use scm_c_resolve_module instead of
+       scm_resolve_module.
+       
+       * init.c (scm_init_guile_1): Call `scm_init_goops' instead of
+       `scm_init_oop_goops_goopscore_module'.  Call `scm_init_rdelim' and
+       `scm_init_rw' prior to loading the startup files.
+
+       * rdelim.h, rdelim.c: (scm_init_rdelim_builtins): Renamed from
+       scm_init_rdelim.  Do not explicitly create/switch modules.
+       Return SCM_UNSPECIFIED.
+       (scm_init_rdelim): Only register `%init-rdelim-builtins'
+       procedure.
+       
+       * rw.c (scm_init_rw_builtins): Renamed from scm_init_rw.  Do not
+       explicitly create/switch modules.  Return SCM_UNSPECIFIED.
+       (scm_init_rw): Only register `%init-rw-builtins' procedure.
+
+       * script.c (scm_shell): Evaluate the compiled switches in the
+       current module, not in the root module.
+
+2001-05-18  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * fluids.c (scm_c_with_fluids): Rename from
+       scm_internal_with_fluids.
+       (scm_internal_with_fluids): Deprecated.
+       (scm_c_with_fluid): New.
+
+2001-05-17  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * print.h (PRINTH, SCM_PRINT_H):  Renamed PRINTH to SCM_PRINT_H.
+
+       (SCM_PORT_WITH_PS_PORT, SCM_PORT_WITH_PS_PS):  Only pairs may be
+       accessed with SCM_C[AD]R.
+
+       (SCM_COERCE_OUTPORT):  Removed redundant SCM_NIMP test.
+
+2001-05-16  Rob Browning  <rlb@cs.utexas.edu>
+
+       * version.c (s_scm_major_version): doc fixes.
+       (s_scm_minor_version): doc fixes.
+       (s_scm_minor_version): new function.
+
+       * version.h (scm_init_version): new function.
+
+       * versiondat.h.in: add GUILE_MICRO_VERSION.
+
 2001-05-16  Dirk Herrmann  <D.Herrmann@tu-bs.de>
 
        * deprecation.c (scm_init_deprecation):  Renamed