+2000-03-22 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * tags.h (SCM_ECONSP, SCM_NECONSP): More corrections of
+ pointer-arithmetic induced by the SCM_PACK/UNPACK change.
+
+ * print.c (scm_iprin1): SCM_PACK/UNPACK corrections.
+
+ * gc.c (scm_gc_sweep): SCM_PACK/UNPACK corrections.
+
+ * eval.c (SCM_CEVAL, scm_unmemocar): SCM_PACK/UNPACK corrections.
+
+ * dynwind.c (scm_swap_bindings): SCM_PACK/UNPACK corrections.
+
+ * async.c, __scm.h: Removed lots of the old async click logic. It
+ is possible to reinsert it by defining GUILE_OLD_ASYNC_CLICK in
+ __scm.h. Let's try this out and dump the old code after the
+ threads reorganization.
+ (set-tick-rate, set-switch-rate): Conditionally removed.
+
+2000-03-21 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * gc.c (scm_gc_mark): Bugfix 1: The recent SCM_PACK/UNPACK change
+ made SCM values into pointers. This turned an arithmetic
+ computation of the address of the vcell into a pointer-arithmetic
+ one, thereby screwing up marking of structs.
+ Bugfix 2: Removed incompletely introduced loop variable `j' used
+ when protecting the tail array of a struct.
+
+2000-03-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * struct.h (SCM_STRUCT_DATA): Don't cast SCM values to pointers.
+
+2000-03-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * symbols.h, symbols.c (scm_strhash): Declare the string
+ parameter as constant, since it is not modified.
+
+ * symbols.c (scm_intern_obarray_soft,
+ scm_sysintern0_no_module_lookup): Can now pass constant strings
+ to scm_strhash without need for casting.
+
+2000-03-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * vectors.h (SCM_VELTS, SCM_VELTS_AS_STACKITEMS): Don't cast SCM
+ values to pointers. Use SCM2PTR instead.
+
+2000-03-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * async.c (scm_set_tick_rate, scm_set_switch_rate): Don't unpack
+ results of SCM_INUM.
+
+2000-03-21 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
+
+ * init.c (scm_boot_guile_1): Renamed GUILE_GC_TRIGGER_1 -->
+ GUILE_MIN_YIELD_1, GUILE_GC_TRIGGER_2 --> GUILE_MIN_YIELD_2.
+ GUILE_MIN_YIELD_X now take *positive* fractions of heap size.
+
+ * gc.c, gc.h (SCM_MIN_YIELD_1, SCM_MIN_YIELD_2,
+ min_yield_fraction, min_yield, adjust_min_yield): Renamed from
+ SCM_GC_TRIGGER_1, SCM_GC_TRIGGER_2, gc_trigger_fraction,
+ gc_trigger, adjust_gc_trigger.
+
+ * gc.c (alloc_some_heap): Further improvement of minimal heap size
+ prediction.
+ (SCM_MAX): New macro.
+ (scm_freelist_t): New field: collected_1. Previous amount of
+ collected cells.
+ (gc_sweep_freelist_finish): Trigger based on two last values of
+ freelist->collected to avoid unnecessary allocation due to
+ temporary peaks.
+ (SCM_INIT_HEAP_SIZE_1, SCM_GC_TRIGGER_1, SCM_GC_TRIGGER_2):
+ Adjusted to 45000 cells, 40% and 40%. Gives quick startup
+ without extra heap allocation.
+
+2000-03-20 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * numbers.h (SCM_MAKINUM): The parameter to SCM_MAKINUM should
+ already be a C value. No need to unpack it.
+
+ * numbers.h (scm_long_long2num): Cast the parameter to scm_bits_t
+ if we know it fits into an inum.
+
+ * ramap.c (ramap_rp): An scm_tc7_[ui]vect object does point to a
+ field of long values. In contrast, SCM_VELTS accesses a field of
+ SCM values.
+
2000-03-20 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
* gc.c (scm_gc_stats): Inserted explanation of local_scm_mtrigger