*** empty log message ***
[bpt/guile.git] / libguile / ChangeLog
index c339b32..d32e8da 100644 (file)
@@ -1,3 +1,543 @@
+2003-08-28  Kevin Ryde  <user42@zip.com.au>
+
+       * gc.h (scm_remember_upto_here_1): Revise comments on the asm form.
+
+2003-08-23  Kevin Ryde  <user42@zip.com.au>
+
+       * simpos.c (scm_system): Remove SCM_DEFER_INTS, system() should be
+       thread safe, and could take a long time too.
+
+2003-08-22  Kevin Ryde  <user42@zip.com.au>
+
+       * numbers.c (scm_difference): Correction to bignum - negative inum.
+
+2003-08-14  Kevin Ryde  <user42@zip.com.au>
+
+       * gc.h (scm_remember_upto_here_1, scm_remember_upto_here_2)
+       [__GNUC__]: Use volatile asm macros rather than a function call.
+       * gc.c (scm_remember_upto_here_1, scm_remember_upto_here_2): Undefine
+       macros while defining functions.
+
+       * simpos.c (getenv): Use <stdlib.h> for prototype.
+       (scm_system): In docstring, refer to status:exit-val rather than
+       "functions above".
+
+2003-08-09  Kevin Ryde  <user42@zip.com.au>
+
+       * srcprop.c (scm_source_properties): Return plist from hash if it's a
+       list set by source-properties! rather than an SRCPROPS object,
+
+2003-07-29  Kevin Ryde  <user42@zip.com.au>
+
+       * properties.c (scm_primitive_property_ref): In docstring, note
+       parameters to not-found-proc, use hyphens rather than underscores for
+       that parameter name.
+       (scm_primitive_property_set_x): In docstring, VAL is the value
+       parameter not CODE.
+       
+2003-07-27  Marius Vollmer  <mvo@zagadka.de>
+
+       * print.c (scm_print_symbol_name): handle more weird characters by
+       escaping the symbol name properly.  Thanks to Paul Jarc!
+
+       * posix.h (scm_setgroups): New prototype.
+       * posix.c (scm_setgroups): New.  Thanks to Paul Jarc!
+       (scm_getgroups): Handle groups ids that don't fit into a fixnum.
+       Don't use SCM_WRITABLE_VELTS.
+       
+       * gc.h (SCM_GC_SET_CELL_BVEC): New.
+       * gc-card.c (scm_i_init_card_freelist): Use it.  Thanks to
+       Matthias Koeppe!
+
+       * __scm.h (SCM_C_INLINE_KEYWORD): New.
+       * numbers.c: Use it in place of SCM_C_INLINE so that the code
+       compiles when SCM_C_INLINE is undefined.
+
+2003-07-24  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * __scm.h: Reformulated the architecture and compiler properties
+       in terms of properties of scm_t_bits and SCM variables rather than
+       in terms of c standard types.  This is since it is not known which
+       of the standard types scm_t_bits and SCM variables will be defined
+       to.
+
+2003-07-24  Kevin Ryde  <user42@zip.com.au>
+
+       * numbers.c (scm_angle): Use scm_flo0 for non-negative inum, bignum
+       and real.
+
+2003-07-18  Kevin Ryde  <user42@zip.com.au>
+
+       * numbers.c (scm_product): In complex * bignum, correction to
+       REAL/IMAG fetch, x is the complex, not y.
+
+2003-07-13  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
+
+       * numbers.c (scm_odd_p, scm_even_p): Bugfix: Treat result of
+       scm_inf_p test as Scheme values.
+       (scm_sum): Bugfix: Normalize bignum created from a negative bignum
+       and a positive inum.
+       Use GNU indentation style.
+
+2003-07-12  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * values.c (scm_values): Build lists of length 1 by using
+       scm_list_1 instead of using scm_cons.
+
+2003-07-10  Kevin Ryde  <user42@zip.com.au>
+
+       * deprecation.c (scm_c_issue_deprecation_warning_fmt): Add va_end.
+       * list.c (scm_list_n): Ditto.
+
+       * gc-malloc.c (scm_gc_realloc): Define "ptr" at start of function.
+
+2003-07-08  Matthias Koeppe <mkoeppe@merkur.math.uni-magdeburg.de>
+
+       * tags.h (scm_t_bits, scm_t_signed_bits, etc): Avoid solaris empty
+       defines of INTPTR_MAX and UINTPTR_MAX, combine conditionals for
+       scm_t_bits and scm_t_signed_bits to avoid any chance of one and not
+       the other using intptr_t.
+
+2003-07-08  Kevin Ryde  <user42@zip.com.au>
+
+       * numbers.c (scm_make_polar): Use sincos, when available.
+       (scm_magnitude): Use hypot.
+
+       * ports.c (scm_char_ready_p, scm_peek_char): In docstrings, don't use
+       @footnote since it doesn't go through to guile-procedures.txt.
+
+       * threads.c (scm_call_with_new_thread): In docstring, use "( )"
+       outside @var to quieten makeinfo, and use @code.
+
+2003-07-06  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * gc-malloc.c (decrease_mtrigger): new function
+       (increase_mtrigger): new function, separate debug registering and
+       mtrigger administration.
+       (scm_gc_realloc): bugfix: do mtrigger administration before the
+       actual realloc, for the realloc might invalidate a GC-d segment of
+       memory. Thanks to Sam Hocevar for pointing this out.
+       (scm_gc_realloc): use scm_malloc_reregister instead of
+       unregistering and registering in sequence.
+
+2003-07-03  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * __scm.h (SCM_ASSERT): change "else" expansion to "do { } while (0)" 
+
+2003-07-02  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * __scm.h (SCM_ASRTGO): add "else" to macro expansions with if
+       clauses.
+       
+2003-06-29  Marius Vollmer  <mvo@zagadka.de>
+
+       * deprecated.h (SCM_OPDIRP, scm_fport, scm_option, scm_srcprops,
+       scm_srcprops_chunk, scm_info_frame, scm_stack, scm_array,
+       scm_array_dim, SCM_ARRAY_CONTIGUOUS, SCM_FUNC_NAME, SCM_WTA,
+       RETURN_SCM_WTA, SCM_VALIDATE_NUMBER_COPY,
+       SCM_VALIDATE_NUMBER_DEF_COPY, SCM_VALIDATE_OPDIR): Re-added from
+       the release_1_6 branch.
+
+2003-06-25  Stefan Jahn  <stefan@lkcc.org>
+
+       * continuations.c: Redeclaration of getcontext() via the
+       __asm__ ("getcontext") directive.
+
+       * continuations.h: Include <ucontext.h> instead of 
+       <sys/ucontext.h>.
+
+2003-06-21  Kevin Ryde  <user42@zip.com.au>
+
+       * numbers.c (_GNU_SOURCE): #define, to get C99 things.
+       (scm_asinh, scm_acosh, scm_atanh, scm_truncate, $asinh, $acosh,
+       $atanh, truncate): Use C library asinh, acosh, atanh and trunc, when
+       available.
+       (scm_inexact_to_exact): Expand isfinite to its definition !xisinf.
+       (isfinite): Remove, conflicts with C99 isfinite().
+
+2003-06-19  Marius Vollmer  <mvo@zagadka.de>
+
+       * deprecated.h, deprecated.c (scm_strhash, scm_sym2ovcell_soft,
+       scm_sym2ovcell, scm_intern_obarray_soft, scm_intern_obarray,
+       scm_symbol_value0, scm_string_to_obarray_symbol scm_intern_symbol,
+       scm_unintern_symbol, scm_symbol_binding, scm_symbol_interned_p,
+       scm_symbol_bound_p, scm_symbol_set_x, scm_gentemp): Re-added from
+       the release_1_6 branch.
+
+2003-06-14  Stefan Jahn  <stefan@lkcc.org>
+
+       * threads.h: Redefined scm_getspecific() and scm_setspecific()
+       to be functions instead of macros.
+
+       * threads.c: Conditionalized inclusion of <sys/time.h> and
+       <unistd.h>.
+       (scm_getspecific, scm_setspecific): Made these two function
+       real part of the API.
+
+       * posix.c (s_scm_putenv): Added some code to make a 
+       (putenv "FOO="), i.e. setting an empty string, work also on
+       Win32 systems.  Thanks to Kevin Ryde for the proposal.
+
+2003-06-12  Kevin Ryde  <user42@zip.com.au>
+
+       * posix.c (scm_putenv): Free temporary ptr in mingw unset.  Add
+       freebsd to comment about need to use unsetenv.
+
+2003-06-02  Marius Vollmer  <mvo@zagadka.de>
+
+       * ports.c (scm_peek_char): Safe the column of the port around the
+       getc/ungetc calls.  Thanks to Dr. Peter Ivanyi!
+
+2003-06-07  Kevin Ryde  <user42@zip.com.au>
+
+       * tags.h: Use inttypes.h and stdint.h when available, for INTPTR_MAX
+       and friends required by scm_t_bits setups.
+
+2003-06-06  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * tags.h (scm_tc2_int): Added.
+
+       * tags.h (scm_tc3_int_1, scm_tc3_int_2): Expressed in terms of
+       scm_tc2_int.
+
+       * tags.h (scm_tcs_cons_imcar, scm_tcs_cons_nimcar, scm_tcs_struct,
+       scm_tcs_closures): Hard coded values replaced by symbolic ones.
+
+2003-06-05  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * eval.c: Partially undid my patch from 2003-05-31.  This patch
+       caused the segfault referenced in the previous changelog entry.
+
+2003-06-05  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * tags.h: Fixed comment about the immediate type code layout.
+
+       * eval.c: Fixed handling of non-special instructions.  Without
+       this patch, guile will segfault on (#\0) and similar instructions.
+
+2003-06-05  Kevin Ryde  <user42@zip.com.au>
+
+       * numbers.c (scm_max, scm_min): For inum, bignum and real, if other
+       operand is NaN, then return NaN.  Also avoid passing NaN to mpz_cmp_d.
+
+       * read.c (scm_input_error): Pass arg list parameter to scm_error_scm,
+       rather than SCM_EOL.  Needed by "Unknown # object" case in scm_lreadr.
+       
+2003-06-04  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * __scm.h, gc-card.c (SCM_DEBUG_DEBUGGER_SUPPORT,
+       SCM_DEBUG_DEBUGGING_SUPPORT): Renamed macro
+       SCM_DEBUG_DEBUGGER_SUPPORT to SCM_DEBUG_DEBUGGING_SUPPORT and
+       generalized it to apply not only to C level functions but also to
+       scheme level functions.
+
+       * debug.c, debug.h, eval.c (make-iloc, scm_make_iloc, iloc?,
+       scm_iloc_p, dbg-make-iloc, scm_dbg_make_iloc, dbg-iloc?,
+       scm_dbg_iloc_p): Moved functions scm_make_iloc, scm_iloc_p to
+       eval.c, made them available under SCM_DEBUG_DEBUGGING_SUPPORT == 1
+       only and renamed them to scm_dbg_make_iloc, scm_dbg_iloc_p,
+       respectively.
+
+       * deprecated.h, eval.c, eval.h (SCM_ILOC00, SCM_IDINC,
+       SCM_IDSTMSK): Deprecated.  The macro definitions are moved from
+       eval.h into eval.c and a copy is placed into deprecated.h.
+
+       * eval.c, eval.h (SCM_MAKE_ILOC): Removed from eval.h and placed
+       into eval.c. This definition was not part of the API in any
+       officially released version of guile and thus does not need to go
+       through a phase of deprecation.
+
+2003-06-02  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * deprecated.c, deprecated.h, eval.c, eval.h (scm_s_expression,
+       scm_s_test, scm_s_body, scm_s_bindings, scm_s_variable,
+       scm_s_clauses, scm_s_formals): Deprecated.  In eval.c the
+       definitions are make static and renamed from scm_s_xxx to s_xxx.
+       In deprecated.c the original definitions are copied.
+
+       * deprecated.h, eval.c, eval (SCM_EVALIM2, SCM_EVALIM, SCM_XEVAL,
+       SCM_XEVALCAR): Deprecated.  The macro definitions are moved from
+       eval.h into eval.c and a copy (slightly modified to work in user
+       code) is placed into deprecated.h.
+
+       * eval.c: Use the local static s_xxx definitions instead of the
+       scm_s_xxx definitions throughout.
+
+2003-06-01  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       This set of patches separates the representation of the cxr family
+       of functions (car, cdr etc.) from the dsubr family of functions
+       (i. e. functions that take a double precision floating point
+       argument).  Further, the algorithm for handling the cxr function
+       is improved.
+
+       * eval.c (SCM_CEVAL, SCM_APPLY, scm_trampoline_1), numbers.c
+       (scm_asinh, scm_acosh, scm_atanh, scm_truncate, scm_round, floor,
+       ceil, sqrt, fabs, exp, log, sin, cos, tan, asin, acos, atan, sinh,
+       cosh, tanh), objects.c (scm_class_of), procprop.c
+       (scm_i_procedure_arity), ramap.c (scm_array_map_x), tags.h
+       (scm_tc7_dsubr, scm_tcs_subrs): Introduce scm_tc7_dsubr as new
+       typecode for the dsubr family of functions.
+
+       * ramap.c (ramap_cxr, ramap_dsubr): Renamed ramap_cxr to
+       ramap_dsubr.
+
+       * eval.c (SCM_CEVAL, SCM_APPLY, call_cxr_1), pairs.c
+       (scm_init_pairs): Make use of the (now usable) second cell element
+       of a scm_tc7_cxr function to implement the cxr family of functions
+       more efficiently.
+
+2003-05-31  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * eval.c (SCM_CEVAL, SCM_APPLY, scm_trampoline_0,
+       scm_trampoline_1, scm_trampoline_2): Postpone error cases to the
+       end of an if-else-if-sequence of checks.
+
+2003-05-30  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * eval.c (SCM_CEVAL): Improved readability of call-with-values
+       execution.  Generalize apply_closure to apply_proc and use that
+       for call-with-values.
+
+2003-05-30  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * eval.c (SCM_CEVAL): Avoid one level of indirection when applying
+       a non closure.
+
+2003-05-30  Stefan Jahn  <stefan@lkcc.org>
+
+       * posix.c (s_scm_putenv): Use the new HAVE_UNSETENV 
+       appropriately for mingw32 hosts.
+
+       * numbers.h: Defining copysign(), isnan() and finite() to
+       be prefixed by a single '_' for mingw32 hosts.
+
+2003-05-30  Kevin Ryde  <user42@zip.com.au>
+
+       * numbers.c (z_negative_one): New variable.
+       (scm_init_numbers): Initialize it.
+       (scm_logcount): Use it and mpz_hamdist to count zeros for negatives.
+
+2003-05-29  Stefan Jahn  <stefan@lkcc.org>
+
+       * win32-dirent.c: Use malloc() instead of scm_malloc().
+
+       * stime.c (s_scm_strftime): Add a type cast to avoid compiler
+       warning.
+
+       * posix.c (s_scm_putenv): Disable use of unsetenv() for the
+       mingw32 build.
+
+       * modules.c (s_scm_module_import_interface): Renamed local
+       variable interface to _interface.  Seems like 'interface'
+       is a special compiler directive for the mingw32 compiler.
+
+       * mkstemp.c: Provide prototype to avoid compiler warning.
+
+       * load.c (s_scm_search_path): Fixed absolute and relative
+       path detections for native Windows platforms.
+
+       * gc.h, threads.h: Export some more symbols using SCM_API (necessary 
+       to build on mingw32).
+
+       * gc-freelist.c ("s_scm_map_free_list", 
+       "s_scm_gc_set_debug_check_freelist_x"): Fixed use of FUNC_NAME.
+
+       * fports.c (fport_fill_input): Disable use of 
+       fport_wait_for_input() on Win32 platforms.
+
+       * filesys.c (s_scm_basename): Fixed __MINGW32__ code.
+
+       * Makefile.am: Modified some rules for cross compiling.
+
+2003-05-25  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * eval.c (SCM_CEVAL): In case of an application, all checks for a
+       proper function object and the correct number of arguments are now
+       performed in the application part of SCM_CEVAL.
+
+       (scm_badformalsp):  Removed.
+
+2003-05-25  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * deprecated.c (scm_read_and_eval_x):  Fixed C99-ism.
+
+2003-05-22  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
+
+       * num2integral.i.c (NUM2INTEGRAL): Avoid warning about conditional
+       always being false by inserting preprocessor conditional.  (Thanks
+       to Bruce Korb.)
+
+       * __scm.h (SCM_STACK_PTR): New macro. (Cast argument through
+       (void *) in order to avoid an aliasing warning; thanks to Bruce
+       Korb.)
+
+       * stackchk.h (SCM_STACK_OVERFLOW_P): Use SCM_STACK_PTR.
+
+       * threads.c (suspend, launch_thread, scm_threads_mark_stacks): Use
+       SCM_STACK_PTR.
+
+       * threads.c (scm_threads_mark_stacks): Bugfix: Changed
+       thread->base --> t->base.
+
+       * eval.c (SCM_CEVAL): Don't cast argument of SCM_STACK_OVERFLOW_P.
+
+2003-05-20  Marius Vollmer  <marius.vollmer@uni-dortmund.de>
+
+       * deprecated.h, deprecated.c (scm_makstr, scm_makfromstr,
+       scm_variable_set_name_hint, scm_builtin_variable,
+       scm_internal_with_fluids, scm_make_gsubr,
+       scm_make_gsubr_with_generic, scm_create_hook, SCM_LIST0,
+       SCM_LIST1, SCM_LIST2, SCM_LIST3, SCM_LIST4, SCM_LIST5, SCM_LIST6,
+       SCM_LIST7, SCM_LIST8, SCM_LIST9, scm_listify, scm_sloppy_memq,
+       scm_sloppy_memv, scm_sloppy_member, scm_read_and_eval_x,
+       scm_subr_entry, SCM_SUBR_DOC, scm_make_subr,
+       scm_make_subr_with_generic, scm_make_subr_opt,
+       scm_call_catching_errors, scm_make_smob_type_mfpe,
+       scm_set_smob_mfpe, scm_strprint_obj, scm_read_0str, scm_eval_0str,
+       SCM_CHARS, SCM_UCHARS, SCM_LENGTH): Re-added from the release_1_6
+       branch.  Some have been slightly rewritten.
+       (scm_i_object_chars, scm_i_object_length): New, to support
+       SCM_CHARS, SCM_UCHARS, and SCM_LENTH.
+       
+2003-05-19  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * eval.c (scm_m_do, unmemocopy, SCM_CEVAL):  Reversed order of
+       names and inits in the memoized code of do.
+
+2003-05-19  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
+
+       * c-tokenize.lex (yyget_lineno, yyget_in, yyget_out, yyget_leng,
+       yyget_text, yyset_lineno, yyset_in, yyset_out, yyget_debug,
+       yyset_debug, yylex_destroy): Added prototypes (otherwise we'll get
+       a compilation error if error-on-warning is enabled).
+
+>>>>>>> 1.1883
+2003-05-17  Marius Vollmer  <mvo@zagadka.de>
+
+       * c-tokenize.lex: Gobble up complete lines after a '#'.  This
+       removes preprocessor directives from the snarfage that might
+       otherwise confuse us.  These directives appear when compiling with
+       "-g3", for example.
+
+2003-05-16  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * ChangeLog: add my surname
+
+       * srcprop.c (scm_finish_srcprop): use
+       scm_gc_register_collectable_memory()
+       (scm_make_srcprops): idem.
+
+2003-05-14  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * gc-malloc.c (scm_gc_register_collectable_memory): avoid
+       wrap-around for scm_mtrigger
+       (scm_gc_register_collectable_memory): abort on overflowing
+       scm_mallocated().
+
+2003-05-13  Kevin Ryde  <user42@zip.com.au>
+
+       * numbers.c (xmpz_cmp_d): New macro, handling infs if gmp doesn't.
+       (scm_num_eq_p, scm_less_p, scm_max, scm_min): Use it.
+
+2003-05-12  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
+
+       * backtrace.c (scm_display_error_message): Introduced fancy
+       printing with max level 7 and length 10.  (Purpose: avoid printing
+       gigantic objects in error messages.)
+
+       * print.c, print.h (scm_i_port_with_print_state): New function.
+
+       * print.c (scm_iprin1, scm_printer_apply,
+       scm_port_with_print_state): Use scm_i_port_with_print_state.
+       (scm_simple_format): Modified not to destroy print states.
+       (print_state_mutex): New mutex.
+       (scm_make_print_state, scm_free_print_state, scm_prin1):
+       Lock/unlock print_state_mutex.
+       
+       * deprecated.h (SCM_GC8MARKP, SCM_SETGC8MARK, SCM_CLRGC8MARK):
+       Use current names in definitions.
+
+2003-05-10  Kevin Ryde  <user42@zip.com.au>
+
+       * numbers.c (scm_num_eq_p, scm_less_p): Don't pass NaN to mpz_cmp_d.
+
+       * numbers.c (scm_integer_length): On negative bignums, adjust
+       mpz_sizeinbase to account for it looking at absolute value where we
+       want ones-complement.
+
+       * numbers.c (scm_gcd): In bignum/inum, don't pass yy==0 to mpz_gcd_ui
+       since we're only using the ulong return value, and x might not fit.
+
+2003-05-06  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * eval.c, eval.h, read.c, read.h (scm_sym_dot): Moved from eval to
+       read.  This will allow to make the definition in read.c static.
+
+2003-05-06  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * eval.c, eval.h, evalext.c, evalext.h (scm_m_undefine): Moved
+       from evalext to eval.  This will allow to make some of the
+       definitions in eval.c static.
+
+2003-05-06  Kevin Ryde  <user42@zip.com.au>
+
+       * numbers.c (scm_difference): In inum - bignum, handle negative inum.
+       (scm_logcount): Use mpz_com, not mpz_neg.
+
+2003-05-04  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       The purpose of this patch is to make guile's internal memoizers
+       distinguishable from memoizing macros created on the scheme level
+       or from user provided primitive memoizing macros.  The reason is,
+       that the internal memoizers are the only ones that are allowed to
+       transform their scheme input into memoizer byte code, while all
+       other memoizing macros may only transform scheme code into new
+       scheme code.
+
+       To achieve this, a new macro type 'builtin-macro!' is introduced.
+       Currently, 'builtin-macro!'s are handled as memoizing macros, but
+       this will change when the memoizer and executor are separated.
+
+       * macros.[ch] (scm_i_makbimacro): New.
+
+       * macros.h (SCM_BUILTIN_MACRO_P): New.
+
+       * macros.c (macro_print, scm_macro_type): Support builtin-macro!s.
+
+       * eval.c, goops.c: All of guile's primitive memoizing macros are
+       primitive builtin-macros now.
+
+       * eval.c (scm_macroexp, SCM_CEVAL): Make sure the primitive
+       builtin-macros are handled equally to memoizing macros.
+
+2003-05-04  Marius Vollmer  <mvo@zagadka.de>
+
+       * throw.c (scm_ithrow): Remove "asm volatile" hack.  It used to
+       work around a bug in GCC 2.95.2 but is now a bug in itself.
+
+2003-05-02  Marius Vollmer  <mvo@zagadka.de>
+
+       * deprecated.h (scm_rstate, scm_rng, SCM_SLOPPY_CONSP,
+       SCM_SLOPPY_NCONSP, scm_tc7_ssymbol, scm_tc7_msymbol,
+       scm_tcs_symbols): New.
+
+2003-04-30  Marius Vollmer  <marius.vollmer@uni-dortmund.de>
+
+       * deprecated.h, deprecated.c (scm_protect_object,
+       scm_unprotect_object, SCM_SETAND_CAR, SCM_SETOR_CAR,
+       SCM_SET_AND_CDR, SCM_SET_OR_CDR, SCM_FREEP, SCM_NFREEP,
+       SCM_GC8MARKP, SCM_SETGC8MARK, SCM_CLRGC8MARK, SCM_GCTYP16,
+       SCM_GCCDR, scm_remember, scm_the_root_module, scm_make_module,
+       scm_ensure_user_module, scm_load_scheme_module, scm_port,
+       scm_ptob_descriptor, scm_port_rw_active,
+       scm_close_all_ports_except): New.
+
+       * ports.c (scm_c_port_for_each): New function, mostly copied from
+       scm_port_for_each.
+       (scm_port_for_each): Reimplemented using scm_c_port_for_each.
+       * ports.h (scm_c_port_for_each): New prototype.
+       
 2003-04-28  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
 
        * eval.c (scm_m_atdispatch): Removed until actually needed.  (This
        implementation). 
        (scm_gc_calloc): new function
 
-2002-08-04  Han-Wen  <hanwen@cs.uu.nl>
+2002-08-04  Han-Wen Nienhuys <hanwen@cs.uu.nl>
 
        * ports.c (scm_new_port_table_entry): init port entry to 0
        completely.
 
        * modules.c (scm_sym2var):  Don't compare SCM values with ==.
 
-2002-07-21  Han-Wen  <hanwen@cs.uu.nl>
+2002-07-21  Han-Wen Nienhuys <hanwen@cs.uu.nl>
 
        * goops.c (scm_compute_applicable_methods): use
        scm_remember_upto_here_1 iso scm_remember_upto_here
        * gc.h: undo previous undocumented changes related to #ifdef
        GENGC.
 
-2002-07-20  Han-Wen  <hanwen@cs.uu.nl>
+2002-07-20  Han-Wen Nienhuys <hanwen@cs.uu.nl>
 
        * *.c: add space after commas everywhere.