+2003-04-27 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * eval.c (scm_ilookup): Rewritten to improve readability.
+
+2003-04-27 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * eval.c (scm_i_call_closure_0, call_closure_1, call_closure_2):
+ Partially reverted patch from 2003-04-23 in oder to find a better
+ compromise between readability and debuggability.
+
+2003-04-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * eval.c, eval.h, goops.c, goops.h (scm_m_atslot_ref,
+ scm_m_atslot_set_x, scm_m_atdispatch): Move the declarations and
+ definitions of the special goops memoizers from goops.[ch] to
+ eval.[ch]. Hmm... it seems that scm_m_atdispatch is not used
+ throughout guile.
+
+2003-04-24 Mikael Djurfeldt <mdj@kvast.blakulla.net>
+
+ * ports.c, ports.h (scm_i_port_table_mutex): New mutex.
+
+ * fports.c (scm_evict_ports): Lock/unlock scm_i_port_table_mutex.
+
+ * ports.c (scm_close_port, scm_flush_all_ports): Ditto.
+
+ * ioext.c (scm_fdes_to_ports): Ditto.
+
+ * vports.c (scm_make_soft_port): Changed SCM_DEFER/ALLOW_INTS into
+ lock/unlock scm_i_port_table_mutex.
+
+ * strports.c (scm_mkstrport): Ditto.
+
+ * ports.c (scm_void_port, scm_port_for_each): Ditto.
+
+ * fports.c (scm_fdes_to_port): Ditto.
+
+2003-04-23 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ This set of patches contains no functional changes, only debatable
+ minor stylistic ones. Still, in order to prepare a patch between
+ my local copy and the CVS version, I decided to submit the changes
+ below. Then, the patch will hopefully only contain relevant
+ modifications :-)
+
+ * eval.c (iqq): Added const specifier.
+
+ * eval.c (scm_trampoline_0, scm_trampoline_1, scm_trampoline_2):
+ Use NULL instead of 0 to indicate that a pointer is returned.
+ Removed some misleading 'fall through' comments.
+
+ * eval.c (scm_i_call_closure_0, call_closure_1, call_closure_2):
+ Split up long expressions into smaller ones to be more debugging
+ friendly.
+
+2003-04-23 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * eval.h (SCM_ENTER_FRAME_HDLR, SCM_APPLY_FRAME_HDLR,
+ SCM_EXIT_FRAME_HDLR): Use SCM_PACK to convert data to a SCM value
+ rather than casting to SCM.
+
+2003-04-23 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * sort.c, pairs.h: Removed unnecessary includes.
+
+2003-04-23 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * sort.c: Replaced hand-made trampline code by the new official
+ mechanism from eval.c. This fixes a segfault in the new test file
+ sort.test.
+
+ (quicksort, compare_function, scm_restricted_vector_sort_x,
+ scm_sorted_p, scm_merge, scm_merge_list_x, scm_merge_x,
+ scm_merge_list_step, scm_sort_x, scm_sort, scm_merge_vector_x,
+ scm_merge_vector_step, scm_stable_sort_x, scm_stable_sort,
+ scm_sort_list_x, scm_sort_list): Use trampoline mechanism from
+ eval.c.
+
+ (subr2less, lsubrless, closureless, applyless, scm_cmp_function,
+ cmp_fun_t): Removed.
+
+ (compare_function): Added.
+
+ * sort.c (quicksort, SWAP, stack_node): Replaced pointer
+ arithmetics with index arithmetics. Changed quicksort to work on
+ an array of SCM values instead of an array of characters. Avoid
+ bytewise copying of SCM elements. Avoid allocating memory on the
+ stack with alloca. Fixed some comments.
+
+2003-04-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * eval.c (EXTEND_ENV): Eliminated.
+
+ (unmemocopy, SCM_CEVAL, SCM_APPLY): Use SCM_EXTEND_ENV instead of
+ EXTEND_ENV.
+
+2003-04-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * __scm.h (SCM_DEBUG_DEBUGGER_SUPPORT): New compile-time option.
+
+ * gc.card.c (scm_gc_marked_p): Fixed compiler warning when
+ compiling with SCM_DEBUG==1 by moving definition behind prototype.
+
+ * gc.card.c (scm_dbg_t_list_cell, scm_dbg_t_double_cell,
+ scm_dbg_gc_marked_p, scm_dbg_gc_get_card, scm_dbg_gc_get_bvec,
+ scm_t_list_cell_struct, scm_t_list_cell, scm_t_double_cell,
+ scm_gc_marked_p, scm_gc_get_card, scm_gc_get_bvec): Fixed
+ functions such that they check if the object is a non-immediate.
+ Further, renamed identifiers to use the scm_dbg_ prefix and made
+ their inclusion into the lib dependent of the
+ SCM_DEBUG_DEBUGGER_SUPPORT compile time option.
+
+2003-04-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * __scm.h: Fixed comment about the SCM_DEBUG_TYPING_STRICTNESS
+ debug option.
+
+2003-04-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * list.c (scm_ilength, scm_last_pair), unif.c (l2ra): Prefer
+ !SCM_CONSP over SCM_NCONSP. Now, guile itself does not include
+ any calls to SCM_NCONSP any more.
+
+ * unif.c (l2ra): Eliminate redundant check.
+
+2003-04-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * list.c (scm_cons_star), ramap.c (scm_ra_sum, scm_ra_product,
+ scm_array_map_x), unif.c (l2ra): Prefer !SCM_NULLP over
+ SCM_NNULLP. Now, guile itself does not include any calls to
+ SCM_NNULLP any more.
+
+2003-04-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * eval.c (unmemocopy, SCM_APPLY, scm_map, scm_for_each,
+ scm_copy_tree): Place assignment expressions which are part of
+ other expressions into an expression of their own.
+
+2003-04-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * goops.c (TEST_CHANGE_CLASS, scm_sys_initialize_object): Don't
+ compare SCM values with !=.
+
+2003-04-20 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * eval.c, eval.h, evalext.c, evalext.h (scm_sym_setter,
+ scm_m_generalized_set_x, scm_init_evalext): Move the declaration
+ and definition of the memoizer for the generalized set! macro from
+ evalext.[ch] to eval.[ch]. Use the SCM_SYNTAX snarfer macro to
+ define the macro object.
+
+ * eval.c, eval.h (s_set_x, scm_s_set_x, scm_m_set_x,
+ scm_m_generalized_set_x): Since now scm_s_set_x is only used in
+ eval.c, it is made static and renamed to s_set_x.
+
+ * evalext.c (scm_defined_p, scm_m_undefine): Prefer !SCM_<foo>
+ over SCM_N<foo>.
+
+2003-04-20 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * eval.c, root.h (scm_undefineds, SCM_NUM_PROTECTS, undefineds,
+ scm_init_eval): Made scm_undefineds static in eval.c, renamed it
+ to undefineds and registered the object as a permanent object.
+
+ * eval.c, eval.h (scm_f_apply, scm_init_eval): Made scm_f_apply
+ static in eval.c, renamed it to f_apply and registered the object
+ as a permanent object.
+
+2003-04-20 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * eval.c (SCM_BIT7, SCM_BIT8, unmemocopy, SCM_CEVAL): Renamed
+ file-local macro SCM_BIT8 to SCM_BIT7, which is more appropriate.
+
+2003-04-20 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * numbers.c (scm_logtest): Fixed argument bug in the call to
+ mpz_and, which showed up when compiling with SCM_DEBUG defined.
+
+2003-04-20 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * gc-card.c (scm_i_sweep_card, scm_i_init_card_freelist): Fixed
+ type errors that showed up when compiling with SCM_DEBUG defined.
+
+2003-04-20 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * continuations.c, continuations.h, eval.c, eval.h, extensions.c,
+ gsubr.c, guile.c, init.c, read.c, root.c, root.h, stackchk.h,
+ throw.c: Removed uses of DEBUG_EXTENSIONS and DYNAMIC_LINKING to
+ fix compile errors with --disable-deprecated.
+
+2003-04-17 Rob Browning <rlb@defaultvalue.org>
+
+ * numbers.c (scm_integer_expt): fix case where we were declaring
+ vars in the middle of a statement block. Thanks to Thamer
+ Al-Harbash.
+
+2003-04-17 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ * goops.c (TEST_CHANGE_CLASS): Update variable class after class
+ change.
+
+ * eq.c (scm_eqv_p): Turned into a primitive generic.
+
+2003-04-16 Rob Browning <rlb@defaultvalue.org>
+
+ * gc_os_dep.c: Added patch for UnixWare and OpenUNIX support.
+ Thanks to Boyd Gerber.
+ Added check for __arm__ in addition to arm for LINUX and copied
+ __s390__ defines from upstream libgc. Thanks to James Treacy for
+ reporting the problems.
+
+ * numbers.c (PTRDIFF_MIN): use SCM_CHAR_BIT.
+
+ * socket.c: use SCM_CHAR_BIT.
+
+ * random.c (scm_c_random_bignum): use SCM_CHAR_BIT.
+
+ * num2integral.i.c (NUM2INTEGRAL): use SCM_CHAR_BIT.
+
+2003-04-16 Mikael Djurfeldt <mdj@kvast.blakulla.net>
+
+ * feature.c (scm_init_feature): Always add threads feature.
+
+2003-04-15 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ * goops.c (scm_sys_fast_slot_ref): Use SCM_SLOT instead of
+ scm_at_assert_bound_ref. (We don't want the unbound check. See
+ oop/goops/active-slot.scm.)
+
+2003-04-14 Rob Browning <rlb@defaultvalue.org>
+
+ * tags.h: scm_t_intptr should have been intptr_t.
+
+2003-04-13 Rob Browning <rlb@defaultvalue.org>
+
+ * __scm.h (SCM_FLUSH_REGISTER_WINDOWS): don't just rely on "sparc"
+ test. Instead use
+ #if defined (sparc) || defined (__sparc__) || defined (__sparc)
+ as gc_os_dep.c suggests is appropriate.
+
+ * goops.c (prep_hashsets): make static to match prototype.
+ (scm_sym_args): SCM_SYMBOL -> SCM_GLOBAL_SYMBOL. Thanks to Albert
+ Chin.
+
+ * c-tokenize.lex: remove trailing comma from enum. Thanks to
+ Albert Chin.
+
+ * gc_os_dep.c: add NetBSD powerpc config info. Thanks to Thomas
+ Klausner.
+
+2003-04-13 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ * goops.c (scm_sys_prep_layout_x): Instance allocation is now
+ indicated through extra fields in getters-n-setters.
+ (scm_add_slot): Adapted to new format of getters_n_setters slot.
+ (Thanks to Andy Wingo.)
+