+2000-12-08 Keisuke Nishida <kxn30@po.cwru.edu>
+
+ * tags.h (SCM_TYP16_PREDICATE): New macro.
+ * arbiters.c (scm_tc16_arbiter): Typed as scm_bits_t.
+ (arbiter_print): Renamed from prinarb.
+ (scm_init_arbiters): Don't use scm_make_smob_type_mfpe.
+ * async.c (tc16_async): Typed as scm_bits_t.
+ (SCM_ASYNCP): Use SCM_TYP16_PREDICATE.
+ (async_mark): Renamed from mark_async.
+ (scm_init_async): Updated.
+ * continuations.h (SCM_CONTINUATIONP): Use SCM_TYP16_PREDICATE.
+ * debug.c (scm_tc16_memoized, scm_tc16_debugobj): Typed as scm_bits_t.
+ (memoized_print): Renamed from prinmemoized.
+ (debugobj_print): Renamed from prindebugobj.
+ (scm_init_debug): Don't use scm_make_smob_type_mfpe.
+ * debug.h (scm_tc16_memoized, scm_tc16_debugobj): Typed as scm_bits_t.
+ (SCM_DEBUGOBJP, SCM_MEMOIZEDP): Use SCM_TYP16_PREDICATE.
+ * dynl.c (scm_tc16_dynamic_obj): Typed as scm_bits_t.
+ (dynl_obj_mark): Renamed from mark_dynl_obj.
+ (dynl_obj_print): Renamed from print_dynl_obj.
+ (scm_dynamic_object_p): Use SCM_TYP16_PREDICATE.
+ (scm_init_dynamic_linking): Updated.
+ * dynwind.c (SCM_GUARDSP): Use SCM_TYP16_PREDICATE.
+ (tc16_guards): Typed as scm_bits_t.
+ (guards_print): Renamed from printguards.
+ (scm_init_dynwind): Don't use scm_make_smob_type_mfpe.
+ * environments.c (scm_tc16_environment, scm_tc16_observer):
+ Typed as scm_bits_t.
+ (environment_mark, environment_free, environment_print,
+ observer_mark, observer_print, leaf_environment_mark,
+ leaf_environment_free, leaf_environment_print,
+ eval_environment_mark, eval_environment_free,
+ eval_environment_print, import_environment_mark,
+ import_environment_free, import_environment_print,
+ export_environment_mark, export_environment_free,
+ export_environment_print): Renamed from mark_environment,
+ free_environment, print_environment, mark_observer,
+ print_observer, mark_leaf_environment, free_leaf_environment,
+ print_leaf_environment, mark_eval_environment,
+ free_eval_environment, print_eval_environment,
+ mark_import_environment, free_import_environment,
+ print_import_environment, mark_export_environment,
+ free_export_environment, and print_export_environment, respectively.
+ (free_observer): Removed.
+ (leaf_environment_funcs, eval_environment_funcs,
+ import_environment_funcs, export_environment_funcs,
+ scm_environments_prehistory): Updated.
+ * environments.h (scm_tc16_environment, scm_tc16_observer):
+ Typed as scm_bits_t.
+ * eval.c (scm_tc16_promise): Typed as scm_bits_t.
+ (promise_print): Renamed from prinprom.
+ (scm_promise_p): Use SCM_TYP16_PREDICATE.
+ (scm_init_eval): Updated.
+ * eval.h (scm_tc16_promise): Typed as scm_bits_t.
+ * filesys.c (scm_tc16_dir): Typed as scm_bits_t.
+ (scm_init_filesys): Don't use scm_make_smob_type_mfpe.
+ * filesys.h (scm_tc16_dir): Typed as scm_bits_t.
+ * fluids.c (scm_tc16_fluid): Typed as scm_bits_t.
+ (fluid_print): Renamed from print_fluid.
+ (scm_init_fluids): Don't use scm_make_smob_type_mfpe.
+ * fluids.h (scm_tc16_fluid): Typed as scm_bits_t.
+ * fports.c (fport_print): Renamed from prinfport.
+ (scm_make_fptob): Updated.
+ * guardians.c (tc16_guardian): Typed as scm_bits_t.
+ * hooks.c (scm_tc16_hook): Typed as scm_bits_t.
+ (hook_print): Renamed from print_hook.
+ (scm_init_hooks): Updated.
+ * hooks.h (scm_tc16_hook): Typed as scm_bits_t.
+ (SCM_HOOKP): Use SCM_TYP16_PREDICATE.
+ * keywords.c (scm_tc16_keyword): Typed as scm_bits_t.
+ (keyword_print): Renamed from prin_keyword.
+ (scm_init_keywords): Don't use scm_make_smob_type_mfpe.
+ * keywords.h (scm_tc16_keyword): Typed as scm_bits_t.
+ * macros.c (scm_tc16_macro): Typed as scm_bits_t.
+ (scm_macro_p, scm_macro_type): Use SCM_TYP16_PREDICATE.
+ (scm_init_macros): Don't use scm_make_smob_type_mfpe.
+ * macros.h (scm_tc16_macro): Typed as scm_bits_t.
+ * mallocs.c (scm_tc16_malloc): Typed as scm_bits_t.
+ (malloc_free): Renamed from fmalloc.
+ (malloc_print): Renamed from prinmalloc.
+ (scm_init_mallocs): Don't use scm_make_smob_type_mfpe.
+ * mallocs.h (scm_tc16_malloc): Typed as scm_bits_t.
+ * modules.h (SCM_EVAL_CLOSURE_P): Use SCM_TYP16_PREDICATE.
+ (scm_tc16_eval_closure): Renamed from scm_eval_closure_tag.
+ (scm_standard_eval_closure, scm_init_modules): Updated.
+ * ports.c (scm_tc16_void_port): Typed as scm_bits_t.
+ * print.c (scm_tc16_port_with_ps): Typed as scm_bits_t.
+ (port_with_ps_print): Renamed from print_port_with_ps.
+ (scm_init_print): Updated.
+ * print.h (scm_tc16_port_with_ps): Typed as scm_bits_t.
+ (SCM_PORT_WITH_PS_P): Use SCM_TYP16_PREDICATE.
+ * random.c (scm_tc16_rstate): Typed as scm_bits_t.
+ (rstate_free): Renamed from free_rstate.
+ (scm_init_random): Don't use scm_make_smob_type_mfpe.
+ * random.h (scm_tc16_rstate): Typed as scm_bits_t.
+ (SCM_RSTATEP): Use SCM_TYP16_PREDICATE.
+ * regex-posix.c (scm_tc16_regex): Typed as scm_bits_t.
+ (regex_free): Renamed from free_regex.
+ (scm_init_regex_posix): Don't use scm_make_smob_type_mfpe.
+ * regex-posix.h (scm_tc16_regex): Typed as scm_bits_t.
+ * root.c (scm_tc16_root): Typed as scm_bits_t.
+ (root_mark): Renamed from mark_root.
+ (root_print): Renamed from print_root.
+ (scm_init_root): Updated.
+ * root.h (scm_tc16_root): Typed as scm_bits_t.
+ (SCM_ROOTP): Use SCM_TYP16_PREDICATE.
+ * smob.c (free_print): Renamed from freeprint.
+ (scm_smob_prehistory): Don't use scm_make_smob_type_mfpe.
+ * smob.h (SCM_SMOB_PREDICATE): Use SCM_TYP16_PREDICATE.
+ * srcprop.c (scm_tc16_srcprops): Typed as scm_bits_t.
+ (srcprops_mark): Renamed from marksrcprops.
+ (srcprops_free): Renamed from freesrcprops.
+ (srcprops_print): Renamed from prinsrcprops.
+ (scm_init_srcprop): Don't use scm_make_smob_type_mfpe.
+ * srcprop.h (scm_tc16_srcprops): Typed as scm_bits_t.
+ (SRCPROPSP): Use SCM_TYP16_PREDICATE.
+ * threads.c (scm_tc16_thread, scm_tc16_mutex, scm_tc16_condvar):
+ Typed as scm_bits_t.
+ * threads.h (scm_tc16_thread, scm_tc16_mutex, scm_tc16_condvar):
+ Typed as scm_bits_t.
+ (SCM_THREADP, SCM_MUTEXP, SCM_CONDVARP): Use SCM_TYP16_PREDICATE.
+ * throw.c (tc16_jmpbuffer): Renamed from scm_tc16_jmpbuffer.
+ (make_jmpbuf): Updated.
+ (tc16_lazy_catch): Typed as scm_bits_t.
+ (SCM_JMPBUFP, SCM_LAZY_CATCH_P): Use SCM_TYP16_PREDICATE.
+ (jmpbuffer_print): Renamed from printjb.
+ (lazy_catch_print): Renamed from print_lazy_catch.
+ (scm_init_throw): Don't use scm_make_smob_type_mfpe.
+ * unif.c (scm_tc16_array): Typed as scm_bits_t.
+ (array_mark): Renamed from markra.
+ (array_free): Renamed from freera.
+ (scm_init_unif): Don't use scm_make_smob_type_mfpe.
+ * unif.h (scm_tc16_array): Typed as scm_bits_t.
+ (SCM_ARRAYP): Use SCM_TYP16_PREDICATE.
+ * validate.h (SCM_VALIDATE_SMOB): Use SCM_TYP16_PREDICATE.
+ * variable.c (scm_tc16_variable): Typed as scm_bits_t.
+ (variable_print): Renamed from prin_var.
+ (variable_equalp): Renamed from var_equal.
+ (scm_markvar): Removed.
+ (scm_init_variable): Don't use scm_make_smob_type_mfpe.
+ * variable.h (scm_tc16_variable): Typed as scm_bits_t.
+
+2000-12-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * feature.c (scm_add_feature), gh_data.c (gh_symbol2scm), goops.c
+ (scm_sys_prep_layout_x, scm_make_class, scm_add_slot,
+ scm_init_goops), load.c (init_build_info), print.c
+ (scm_init_print), read.c (scm_lreadr), snarf.h (SCM_SYMBOL,
+ SCM_GLOBAL_SYMBOL), stacks.c (scm_init_stacks), struct.c
+ (scm_make_struct_layout), symbols.c (scm_sysintern0,
+ scm_string_to_symbol, scm_gensym), throw.c
+ (scm_handle_by_message): Use scm_mem2symbol or scm_str2symbol
+ instead of scm_intern_* to create a symbol object.
+
+ * goops.c (Intern): Removed.
+
+ (CALL_GF1, CALL_GF2, CALL_GF3, CALL_GF4, build_class_class_slots,
+ create_basic_classes, scm_class_name, scm_class_direct_supers,
+ scm_class_direct_slots, scm_class_direct_subclasses,
+ scm_class_direct_methods, scm_class_precedence_list,
+ scm_class_slots, scm_class_environment,
+ scm_generic_function_methods, scm_method_generic_function,
+ scm_method_specializers, scm_method_procedure,
+ scm_accessor_method_slot_definition, purgatory, scm_make,
+ make_stdcls, create_standard_classes, make_class_from_template,
+ scm_make_class): Replaced calls to Intern with calls to
+ scm_str2symbol.
+
+ * ramap.c (init_raprocs): Use scm_symbol_binding instead of
+ scm_intern.
+
+ * symbols.c (scm_sym2vcell): Add a bogus return to avoid compiler
+ warnings.
+
+ * unif.c (scm_array_prototype): Fix prototype return value for
+ svects and llvects.
+
+2000-12-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * symbols.[ch] (scm_mem2symbol, scm_str2symbol): New functions.
+ These shall replace all those calls to scm_intern... which are
+ only required to create a scheme symbol from a C string or a field
+ of chars.
+
+2000-12-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * environments.c (DEFAULT_OBARRAY_SIZE), gc.c
+ (DEFAULT_SYMHASH_SIZE): Added to locally determine arbitrary
+ default values for obarrays, thus removing the dependency from
+ scm_symhash_dim.
+
+ * environments.c (scm_make_leaf_environment,
+ scm_make_eval_environment), gc.c (scm_init_storage): Don't use
+ scm_symhash_dim.
+
+ * symbols.c (NUM_HASH_BUCKETS), symbols.[ch] (scm_symhash_dim):
+ Removed.
+
+ * symbols.c (scm_sym2vcell, scm_sysintern0_no_module_lookup):
+ Eliminate a redundant SCM_IMP test.
+
+ (scm_sym2vcell, scm_sysintern0_no_module_lookup):
+ Don't assume a fixed obarray size any more.
+
+2000-12-07 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * gc.c (scm_init_gc): gc_async is already protected from gc,
+ namely via scm_asyncs. Thanks to Keisuke Nishida for pointing
+ this out.
+
+2000-12-07 Keisuke Nishida <kxn30@po.cwru.edu>
+
+ * smob.h (scm_smob_apply_0, scm_smob_apply_1, scm_smob_apply_2,
+ scm_smob_apply_3): Removed declarations.
+ (scm_set_smob_apply): Takes unsigned integers.
+ (scm_make_smob_type_mfpe, scm_set_smob_mfpe): Deprecated.
+ * smob.c (scm_smob_apply_0_000, scm_smob_apply_1_010,
+ scm_smob_apply_2_020): Removed.
+ (scm_set_smob_apply): Takes unsigned integers + some optimization.
+ (Thanks to Dirk Herrmann)
+ (scm_make_smob_type_mfpe, scm_set_smob_mfpe): Deprecated.
+
+2000-12-07 Keisuke Nishida <kxn30@po.cwru.edu>
+
+ * smob.h (SCM_SMOB_APPLICABLE_P, SCM_SMOB_APPLY_0,
+ SCM_SMOB_APPLY_1, SCM_SMOB_APPLY_2, SCM_SMOB_APPLY_3): New macros.
+ * eval.c (SCM_CEVAL, SCM_APPLY): Use macros above.
+ * procprop.c (scm_i_procedure_arity): Ditto.
+ * smob.c (scm_make_smob_type): Initialize gsubr_type.
+
+2000-12-06 Keisuke Nishida <kxn30@po.cwru.edu>
+
+ * smob.h (scm_smob_descriptor): New fields `apply_0', `apply_1',
+ `apply_2', and `apply_3'.
+ * smob.c (scm_make_smob_type): Init new fields.
+ (SCM_SMOB_APPLY0, SCM_SMOB_APPLY1, SCM_SMOB_APPLY2, SCM_SMOB_APPLY3):
+ New macros.
+ (scm_smob_apply_0_000, scm_smob_apply_0_010, scm_smob_apply_0_020,
+ scm_smob_apply_0_030, scm_smob_apply_0_001, scm_smob_apply_0_011,
+ scm_smob_apply_0_021, scm_smob_apply_0_error,
+ scm_smob_apply_1_010, scm_smob_apply_1_020, scm_smob_apply_1_030,
+ scm_smob_apply_1_001, scm_smob_apply_1_011, scm_smob_apply_1_021,
+ scm_smob_apply_1_error,
+ scm_smob_apply_2_020, scm_smob_apply_2_030, scm_smob_apply_2_001,
+ scm_smob_apply_2_011, scm_smob_apply_2_021, scm_smob_apply_2_error,
+ scm_smob_apply_3_030, scm_smob_apply_3_001, scm_smob_apply_3_011,
+ scm_smob_apply_3_021, scm_smob_apply_3_error): New functions.
+ (scm_set_smob_apply): Set new fields to the above functions.
+ (scm_smob_apply_0, scm_smob_apply_1, scm_smob_apply_2,
+ scm_smob_apply_3): Removed.
+ * eval.c (SCM_CEVAL, SCM_APPLY): Rewrote smob calls.
+
+2000-12-06 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * gc.c (scm_init_gc): gc_async must be protected from gc. I
+ wonder why we never ran into problems up to now...
+
+2000-12-06 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * gc.c (scm_init_gc): Don't create a binding for %gc-thunk.
+
+2000-12-06 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * gsubr.c: No need to include vector.h.
+
+ (scm_gsubr_apply): Use SCM_GSUBR_MAX instead of hard-coded value.
+ Added FUNC_NAME wrapping. Improved (temporarily?) disabled
+ debugging code. Replaced SCM_IMP with SCM_NULLP. Eliminated call
+ to ASRTGO.
+
+ (scm_init_gsubr): Eliminated outdated comment.
+
+2000-12-06 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * async.c (SCM_ASYNCP): Use SCM_TYP16 instead of SCM_GCTYP16.
+
+ * eval.c (scm_m_vref, scm_m_vset, scm_m_define, SCM_CEVAL,
+ SCM_APPLY, scm_copy_tree): Remove commented code.
+
+ (SCM_CEVAL, SCM_APPLY): Remove #ifdef CCLO conditionals. Without
+ CCLO being defined, guile would not compile at all anyway.
+
+ * gc.h (SCM_GC8MARKP, SCM_SETGC8MARK, SCM_CLRGC8MARK, SCM_GCTYP16,
+ SCM_GCCDR): Deprecated.
+
+ * gdbint.c (unmark_port, remark_port, gdb_read), procs.c
+ (scm_mark_subr_table): Use SCM_(SET|CLR)?GCMARK(P)? instead of
+ SCM_(SET|CLR)?GC8MARK(P)?.
+
+ * gh_data.c (gh_scm2char): Remove bogus ';'.
+
+ * tags.h: Removed comment about GCTYP16 macro.
+
+ * weaks.c (scm_mark_weak_vector_spines): Use SCM_CDR instead of
+ SCM_GCCDR.
+
+2000-12-05 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * print.c (scm_iprin1): Use scm_tc3_* codes instead of hardcoded
+ values. Added comment about tc3 codes that may appear in
+ immediates. Got rid of one goto command.
+
+2000-12-05 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * dynl.c (sysdep_dynl_link): Improved error reporting.
+
+ * guardians.c: Changed the representation from a compiled closure
+ to an applicable smob.
+
+ (guard1, CCLO_G): Removed.
+
+ (guard, g_mark, g_print, scm_tc16_guardian, scm_guardian_gc_init,
+ scm_guardian_zombify): Renamed to guardian_apply, guardian_mark,
+ guardian_print, tc16_guardian, guardian_gc_init and
+ guardian_zombify, respectively.
+
+ (guardian_free): Added, fixes a memory leak.
+
+ (guardian_print): Don't use sprintf hack.
+
+ (guardian_apply, scm_guard, scm_get_one_zombie,
+ scm_make_guardian): Don't use a compiled closure.
+
+ (guardian_zombify): Prefer !SCM_NULLP over SCM_NIMP. No need to
+ use SCM_GCCDR any more. Simplified loop condition.
+
+ (scm_init_guardian): Don't use scm_make_smob_type_mfpe for smob
+ initialization. Initialize applicable smob.
+
+2000-12-04 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * chars.c (scm_char_eq_p): Minor cleanup/optimization.
+
+ * gc.c (scm_gc_mark): Don't use SCM_VELTS for CCLOs.
+
+ * procprop.c (scm_i_procedure_arity): Separate handling of smobs
+ and CCLOs.
+
+2000-12-04 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * tags.h (scm_tc_free_cell, scm_tc16_big, scm_tc16_real,
+ scm_tc16_complex): Eliminate hard-coded value of scm_tc7_smob.
+
+2000-12-01 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * list.[ch] (scm_c_memq): Added as a fast C level alternative for
+ scm_memq for the case that the list parameter is known to be a
+ proper list.
+
+ * goops.c (filter_cpl, remove_duplicate_slots, applicablep),
+ goops.h (SCM_SUBCLASSP): Use scm_c_memq if we are sure that we
+ pass proper lists.
+
+2000-12-01 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * goops.c (scm_sys_compute_slots, scm_i_get_keyword,
+ scm_get_keyword, scm_slot_ref_using_class,
+ scm_slot_set_using_class_x): Update the code to match guile's
+ current style (e. g. using SCM_DEFINE, adding comments, removing
+ unnecessary SCM_NIMP tests etc.).
+
+2000-11-30 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ Thanks to Julian Satchell for the bug report:
+
+ * coop-threads.c (scm_join_thread): Check whether a thread is
+ finished before trying to join it.
+
+ * coop.c (coop_aborthelp, coop_join): When a thread finishes, its
+ stack base is not set to NULL any more.
+
+2000-11-28 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * strop.c (scm_i_index): Removed outdated comment.
+
+2000-11-28 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * struct.c (scm_struct_ref, scm_struct_set_x), symbols.c
+ (scm_intern_obarray_soft), symbols.h (SCM_ROUCHARS): Eliminate
+ use of SCM_SYMBOL_UCHARS by using chars instead of unsigned
+ chars.
+
+ (SCM_SYMBOL_UCHARS): Removed.
+
+2000-11-26 Gary Houston <ghouston@arglist.com>
+
+ * reimplementation of values, call-with-values as primitives:
+
+ * values.c, values.h: new files. use a struct to contain multiple
+ values, similar to the previous Scheme-level implementation.
+ * Makefile.am: add values.c, values.h, values.x.
+ * continuations.c (continuation_apply): support R5RS multiple value
+ continuations.
+ * init.c: call scm_init_values.
+ * struct.h: define SCM_SET_STRUCT_PRINTER.
+
+2000-11-25 Gary Houston <ghouston@arglist.com>
+
+ * use an applicable SMOB to represent continuations, instead of a
+ custom tc7 type. This will make it easier to support R5RS
+ multiple value continuations, without the use of a Scheme-level
+ wrapper.
+
+ * continuations.c (scm_tc16_continuation, continuation_mark,
+ continuation_free, continuation_print, continuation_apply):
+ new SMOB support.
+ (scm_make_continuation): new procedure, replaces scm_make_cont
+ with a different interface.
+ (copy_stack_and_call, scm_dynthrow, scm_init_continuations): rewritten.
+ (CHEAP_CONTINUATIONS): removed non-working code completely.
+ (scm_call_continuation): removed.
+ * continuations.h (struct scm_contregs): add num_stack_items and
+ stack fields. previously stack was stored following this struct:
+ use a tail array instead.
+ (SCM_CONTINUATIONP): new macro.
+ (SCM_CONTINUATION_LENGTH, SCM_SET_CONTINUATION_LENGTH):
+ rewritten.
+ (SCM_SET_CONTREGS): removed.
+ * tags.h: removed scm_tc7_contin (was tag 61).
+ * debug.c, gc.c, hash.c, print.c, procprop.c, procs.c:
+ removed scm_tc7_contin support.
+ * eval.c: use scm_make_continuation instead of scm_make_cont.
+ don't set jump buffers here. remove scm_tc7_contin support.
+ * init.c, root.c: create SMOB continuation for rootcont instead
+ of scm_tc7_contin. call scm_init_continuations before
+ scm_init_root.
+ * root.c: remove support for static jmpbuf. It's not used by
+ default and I broke it. create SMOB continuation for rootcont.
+ * stacks.c: use SCM_CONTINUATIONP.
+
+2000-11-24 Matthias Koeppe <mkoeppe@mail.math.uni-magdeburg.de>
+
+ * goops.c (filter_cpl, remove_duplicate_slots), goops.h
+ (SCM_SUBCLASSP): Fix previous change: In contrast to
+ scm_sloppy_memq the function scm_memq returns #f if the
+ object was not contained in the list.
+
+2000-11-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * goops.c: Include validate.h.
+
+ (DEFVAR, scm_add_method): Don't use deprecated scm_eval2.
+
+ (scm_sys_fast_slot_ref, scm_sys_fast_slot_set_x,
+ scm_m_atdispatch): Provide FUNC_NAME definition. Don't use
+ deprecated SCM_OUTOFRANGE macro.
+
+ (scm_sloppy_num2ulong, scm_sys_logand): Removed. Guile's logand
+ function now provides the desired behaviour.
+
+ * goops.c (filter_cpl, remove_duplicate_slots), goops.h
+ (SCM_SUBCLASSP): Don't use deprecated scm_sloppy_memq.
+
+2000-11-23 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * symbols.h (SCM_LENGTH_MAX): Deprecated.
+
+ * unif.c (scm_make_uve): Use SCM_BITVECTOR_MAX_LENGTH and
+ SCM_UVECTOR_MAX_LENGTH instead of SCM_LENGTH_MAX. Postpone length
+ checks for strings and vectors to their constructors. Eliminate
+ redundant SCM_IMP test.
+
+ (scm_dimensions_to_uniform_array): Postpone length checks to
+ scm_make_uve.
+
+ * unif.h (SCM_BITVECTOR_MAX_LENGTH, SCM_UVECTOR_MAX_LENGTH):
+ Added.
+
+2000-11-23 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * gh_data.c (makvect), numbers.c (scm_mkbig, scm_adjbig),
+ strings.c (scm_makstr, scm_take_str), symbols.c
+ (scm_intern_obarray_soft, scm_sysintern0_no_module_lookup), unif.c
+ (scm_make_uve), vectors.c (scm_make_vector): Use appropriate
+ SCM_SET_<type>_(CHARS|BASE) macro instead of SCM_SETCHARS.
+
+ * numbers.h (SCM_SET_BIGNUM_BASE), strings.h
+ (SCM_SET_STRING_CHARS), symbols.h (SCM_SET_SYMBOL_CHARS), unif.h
+ (SCM_SET_UVECTOR_BASE, SCM_SET_BITVECTOR_BASE), vectors.h
+ (SCM_SET_VECTOR_BASE): Added.
+
+ * symbols.c (SCM_SETCHARS): Deprecated.
+
+2000-11-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * gc.c (scm_gc_sweep), unif.c (scm_make_uve): Don't allocate or
+ free memory for empty bitvectors.
+
+ * gh_data.c (makvect), strings.c (scm_makstr, scm_take_str),
+ symbols.c (scm_intern_obarray_soft,
+ scm_sysintern0_no_module_lookup), unif.c (scm_make_uve): Use
+ appropriate SCM_SET_<type>_LENGTH macro instead of SCM_SETLENGTH.
+
+ * strings.h (SCM_SET_STRING_LENGTH), symbols.h
+ (SCM_SET_SYMBOL_LENGTH), unif.h (SCM_SET_UVECTOR_LENGTH,
+ SCM_SET_BITVECTOR_LENGTH): Added.
+
+ * symbols.h (SCM_SETLENGTH): Deprecated.
+
+2000-11-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * continuations.c (scm_make_cont): Use
+ SCM_SET_CONTINUATION_LENGTH instead of SCM_SETLENGTH.
+
+ * continuations.h (SCM_SET_CONTINUATION_LENGTH): Added.
+
+2000-11-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * vectors.c (scm_make_vector), weaks.c (scm_make_weak_vector):
+ Use SCM_SET_VECTOR_LENGTH instead of SCM_SETLENGTH.
+
+ * vectors.h (SCM_SET_VECTOR_LENGTH): Added.
+
+2000-11-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * dynl.c (scm_make_argv_from_stringlist), filesys.c (scm_dirname,
+ scm_basename), gh_data.c (gh_scm2newstr, gh_get_substr), hash.c
+ (scm_hasher), load.c (scm_parse_path, scm_search_path,
+ scm_primitive_load_path), numbers.c (scm_string_to_number),
+ ports.c (scm_unread_string), posix.c (scm_convert_exec_args,
+ environ_list_to_c, scm_putenv), print.c (scm_iprin1,
+ scm_simple_format), random.c (scm_seed_to_random_state), socket.c
+ (scm_fill_sockaddr, scm_send, scm_sendto), strings.c
+ (scm_string_ref, scm_substring, scm_string_append), strings.h
+ (SCM_STRING_COERCE_0TERMINATION_X), strop.c (scm_i_index,
+ scm_string_to_list, scm_string_copy), strorder.c
+ (scm_string_equal_p, scm_string_ci_equal_p, scm_string_less_p,
+ scm_string_ci_less_p), strports.c (scm_mkstrport), struct.c
+ (scm_make_struct_layout), symbols.c (scm_string_to_symbol,
+ scm_string_to_obarray_symbol, scm_gensym, scm_gentemp): Replace
+ calls to SCM_ROU?CHARS with the corresponding call to
+ SCM_STRING_U?CHARS.
+
+ * symbols.h (SCM_ROCHARS, SCM_ROUCHARS): Deprecated.
+
+2000-11-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * ports.c: Include eval.h.
+
+ * strings.c (scm_string_set_x), strings.h (SCM_RWSTRINGP),
+ validate.h (SCM_VALIDATE_RWSTRING): Deprecate SCM_RWSTRINGP and
+ SCM_VALIDATE_RWSTRING.
+
+ * strings.h (SCM_STRING_UCHARS, SCM_STRING_CHARS): Handle strings
+ and substrings uniformly. However, substring handling is
+ deprecated.
+
+ (SCM_RWSTRINGP): Deprecated.
+
+2000-11-18 Gary Houston <ghouston@arglist.com>
+
+ * Makefile.am (.c.x): don't prefix ".:" to $PATH when running
+ guile-doc-snarf. it doesn't seem to do anything useful, but would
+ fail if $PATH contained whitespace. Thanks to Lars J. Aas.
+
+2000-11-17 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * alist.c, arbiters.c, async.c, backtrace.c, boolean.c, chars.c,
+ continuations.c, debug-malloc.c, debug.c, dynl.c, dynwind.c,
+ environments.c, eq.c, error.c, eval.c, evalext.c, feature.c,
+ filesys.c, fluids.c, fports.c, gc.c, goops.c, guardians.c, hash.c,
+ hashtab.c, hooks.c, ioext.c, iselect.c, keywords.c, lang.c,
+ list.c, load.c, macros.c, modules.c, net_db.c, numbers.c,
+ objects.c, objprop.c, options.c, pairs.c, ports.c, posix.c,
+ print.c, procprop.c, procs.c, properties.c, ramap.c, random.c,
+ read.c, regex-posix.c, root.c, scmsigs.c, script.c, simpos.c,
+ socket.c, sort.c, srcprop.c, stackchk.c, stacks.c, stime.c,
+ strings.c, strop.c, strorder.c, strports.c, struct.c, symbols.c,
+ tag.c, threads.c, throw.c, unif.c, variable.c, vectors.c,
+ version.c, vports.c, weaks.c: Makes sure the snarfer output
+ inclusion is disabled when the snarfer is run on the file. Thanks
+ to Lars J. Aas!
+
+ * Makefile.am: Install guile-procedures.txt in version-specific
+ directory to enable multiple installed guile versions. Suggested
+ by Karl M. Hegbloom <karlheg@debian.org, patch by Matthias Koeppe.
+
+2000-11-13 Gary Houston <ghouston@arglist.com>
+
+ * fports.c: include gc.h.
+ (fport_flush, fport_close): silently ignore I/O errors when
+ closing a port during gc. it's better than aborting in scm_error.
+
+ * throw.c (scm_handle_by_message): remove obsolete comment.
+
+2000-11-12 Gary Houston <ghouston@arglist.com>
+
+ * fports.c (scm_open_file): fix the 'b' option. Thanks
+ to George Caswell.
+
+2000-11-09 Gary Houston <ghouston@arglist.com>
+
+ * ports.c, ports.h (scm_close_all_ports_except): deprecated.
+ use port-for-each. Updated its docstring.
+
+2000-11-07 Gary Houston <ghouston@arglist.com>
+
+ * ports.c (scm_port_for_each): new proc. implements port-for-each,
+ which applies a procedure to each port in the port table.
+ ports.h: declare scm_port_for_each.
+
+ * ioext.c (scm_dup2): new proc. implements "dup2" which is a simple
+ wrapper for the dup2 system call (unlike dup->fdes or
+ primitive-move->fdes).
+ * ioext.h: declare scm_dup2.
+
+ * filesys.c (scm_close_fdes): new proc. implements "close-fdes"
+ which is a simple wrapper for close system call (unlike scm_close).
+ * filesys.h: declare for scm_close_fdes.
+
+2000-11-06 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
+
+ * eval.c (SCM_IM_DISPATCH), objects.c (scm_mcache_lookup_cmethod):
+ Count n_specialized + 1 turns before letting a match through.
+
+ * goops.c (scm_sys_invalidate_method_cache_x): Don't convert
+ scm_si_n_specialized from fixnum and don't take absolute value.
+ (Thanks to Lars J. Aas.)
+
+2000-11-04 Gary Houston <ghouston@arglist.com>
+
+ * ports.c (scm_port_p): new function, implements "port?" which
+ is mentioned in R5RS.
+ * ports.h: declare scm_port_p.
+
+2000-11-01 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * backtrace.c (display_expression, display_error_body), fports.c
+ (prinfport), print.c (scm_iprin1): Test for symbols and strings
+ explicitly instead of using SCM_ROSTRINGP.
+
+ * backtrace.c (scm_display_error_message): Don't pass a symbol to
+ scm_simple_format. Prefer high-level output functions.
+
+ (display_error_body): When displaying procedure names, give
+ preference to the name passed as a parameter. Only if none is
+ given extract a name from the stack information.
+
+ * fports.c (scm_fdes_to_port, prinfport), gc.c (scm_gc_mark),
+ ports.c (scm_port_filename, scm_set_port_filename_x): Use
+ SCM_(SET_)?FILENAME.
+
+ * gh_data.c (gh_set_substr, gh_scm2newstr, gh_get_substr,
+ gh_symbol2newstr): Use scm_remember instead of a pair of calls to
+ scm_protect/unprotect_object.
+
+ * goops.c (make_struct_class), objects.c (scm_class_of): Struct
+ table names are symbols.
+
+ * ports.h (SCM_SET_FILENAME): Added.
+
+ * print.c (scm_iprin1): Don't use scm_puts to write symbols or
+ strings in order to treat substrings right. Reposition call to
+ scm_remember after the last use of object's data.
+
+ (scm_simple_format): Treat messages that are substrings right.
+
+ * symbols.h (SCM_ROSTRINGP): Deprecated.
+
+2000-11-01 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * environments.c (obarray_replace, obarray_retrieve,
+ obarray_remove): Don't use '==' to compare SCM objects.
+
+ * posix.c (scm_getgroups): Don't create a redundant string.
+
+2000-11-01 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * symbols.c (scm_sym2vcell, scm_sym2ovcell_soft,
+ scm_intern_symbol, scm_unintern_symbol): Symbol objects already
+ hold their hash values, no need to recompute them.
+
+ (scm_intern_obarray_soft): Speed up search for a matching symbol
+ by comparing the hash values first.
+
+2000-10-30 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * unif.c (scm_make_uve, scm_dimensions_to_uniform_array): Don't
+ allow vectors longer than SCM_LENGTH_MAX. This removes the
+ SCM_HUGE_LENGTH trick, i. e. storing a vector length greater than
+ SCM_LENGTH_MAX at the beginning of the vector's memory. Since not
+ all of guile's code was implemented to be aware of this trick, it
+ is unlikely that it was used anyway. We can implement such a
+ feature more cleanly by using double cells for uniform vector
+ types.
+
+ (scm_shap2ra): Replace SCM_IMP and SCM_NIMP tests by more
+ straightforward predicates.
+
+ (scm_dimensions_to_uniform_array): Require that for dimensions
+ given as lower-bound/upper-bound pairs the upper-bound is never
+ less than the lower bound.
+
+2000-10-27 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * dynl.c (scm_dynamic_link, scm_dynamic_func, scm_dynamic_call,
+ scm_dynamic_args_call), filesys.c (scm_chown, scm_chmod,
+ scm_open_fdes, scm_stat, scm_link, scm_rename, scm_delete_file,
+ scm_mkdir, scm_rmdir, scm_opendir, scm_chdir, scm_symlink,
+ scm_readlink, scm_lstat, scm_copy_file), fports.c (scm_open_file),
+ ioext.c (scm_read_delimited_x, scm_fdopen), load.c
+ (scm_primitive_load, scm_parse_path, scm_search_path,
+ scm_sys_search_load_path, scm_primitive_load_path), net_db.c
+ (scm_inet_aton, scm_gethost, scm_getnet, scm_getproto,
+ scm_getserv), numbers.c (scm_string_to_number), ports.c
+ (scm_truncate_file, scm_sys_make_void_port), posix.c
+ (scm_getpwuid, scm_getgrgid, scm_execl, scm_execlp,
+ environ_list_to_c, scm_execle, scm_utime, scm_access,
+ scm_setlocale, scm_mknod), regex-posix.c (scm_make_regexp),
+ simpos.c (scm_system, scm_getenv), socket.c (scm_fill_sockaddr,
+ scm_send, scm_sendto), stime.c (scm_strftime, scm_strptime),
+ strop.c (scm_i_index, scm_string_null_p, scm_string_to_list),
+ strports.c (scm_mkstrport), symbols.c
+ (scm_string_to_obarray_symbol), vports.c (scm_make_soft_port):
+ Don't accept symbols as input parameters. Use SCM_STRING_LENGTH
+ instead of SCM_ROLENGTH.
+
+ * dynl.c (scm_dynamic_link, scm_dynamic_func), error.c
+ (scm_error_scm), filesys.c (scm_chown, scm_chmod, scm_open_fdes,
+ scm_stat, scm_link, scm_rename, scm_delete_file, scm_mkdir,
+ scm_rmdir, scm_opendir, scm_chdir, scm_symlink, scm_readlink,
+ scm_lstat, scm_copy_file), fports.c (scm_open_file), ioext.c
+ (scm_fdopen), net_db.c (scm_inet_aton, scm_gethost, scm_getnet,
+ scm_getproto, scm_getserv), ports.c (scm_truncate_file,
+ scm_sys_make_void_port), posix.c (scm_getpwuid, scm_getgrgid,
+ scm_execl, scm_execlp, scm_execle, scm_utime, scm_access,
+ scm_setlocale, scm_mknod), regex-posix.c (scm_make_regexp,
+ scm_regexp_exec), simpos.c (scm_system, scm_getenv), stime.c
+ (setzone, scm_strftime, scm_strptime), vports.c
+ (scm_make_soft_port): Use SCM_STRING_COERCE_0TERMINATION_X to
+ make sure the characters of a string are followed by a \0.
+ Further, use SCM_STRING_CHARS instead of SCM_ROCHARS on the
+ resulting string.
+
+ * dynl.c (scm_make_argv_from_stringlist), posix.c
+ (scm_convert_exec_args): Aligned to match each other.
+
+ * dynl.c (scm_coerce_rostring): Removed.
+
+ (scm_dynamic_func): Changed the comment to reflect that the
+ function name has to be a string. Further, hide implementation
+ details from the scheme comment.
+
+ * error (scm_error_scm): Don't accept a symbol as message
+ parameter. Fix substring handling.
+
+ * posix.c (environ_list_to_c): Use memcpy to copy environment
+ strings. Handle substrings which don't have a trailing \0.
+
+ * symbols.h (SCM_LENGTH, SCM_ROLENGTH, SCM_SUBSTRP,
+ SCM_SUBSTR_STR, SCM_SUBSTR_OFFSET, SCM_COERCE_SUBSTR):
+ Deprecated.
+
+ * unif.h (SCM_HUGE_LENGTH): Deprecated.
+
+ * validate.h (SCM_VALIDATE_ROSTRING, SCM_VALIDATE_ROSTRING_COPY,
+ SCM_VALIDATE_NULLORROSTRING_COPY): Deprecated.
+
2000-10-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
* random.c: Include unif.h.
* validated.h (SCM_VALIDATE_STRINGORSUBSTR): Deprecated.
->>>>>>> 1.1152
2000-10-20 Marius Vollmer <mvo@zagadka.ping.de>
* init.c (scm_init_guile_1, invoke_main_func): Call