+2002-08-09 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ * ports.c ("scm_new_port_table_entry"): return a boxed SCM in
+ stead of scm_t_port*. The function now takes a tag argument.
+
+2002-08-08 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ * gc.h: add scm_debug_cells_gc_interval to public interface
+
+ * gc-card.c ("sweep_card"): set scm_gc_running while sweeping.
+
+ * gc.c (scm_i_expensive_validation_check): separate expensive
+ validation checks from cheap ones.
+
+2002-08-06 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ * read.c (scm_input_error): new function: give meaningful error
+ messages, and throw read-error
+
+ * gc-malloc.c (scm_calloc): add scm_calloc.
+
+2002-08-05 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ * tags.h: remove GC bits documentation from the tags table.
+
+ * read.c (INPUT_ERROR): Prepare for file:line:column error
+ messages for errors in scm_lreadr() and friends.
+
+2002-08-04 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ * gc-malloc.c (scm_malloc): use scm_realloc() (simplifies
+ implementation).
+ (scm_gc_calloc): new function
+
+2002-08-04 Han-Wen <hanwen@cs.uu.nl>
+
+ * ports.c (scm_new_port_table_entry): init port entry to 0
+ completely.
+
+ * ports.c (scm_new_port_table_entry): change function from
+ scm_add_to_port_table. This prevents cells with null-pointers from
+ being exposed to GC.
+
+ * vports.c (s_scm_make_soft_port) strports.c (scm_mkstrport),
+ fports.c (scm_fdes_to_port): Use scm_new_port_table_entry().
+
+ * gc.c (s_scm_gc_stats): add cell-yield and malloc-yield statistic
+ to gc-stats.
+
+ * numbers.c (big2str): return "0" for 0 iso. ""
+
+ * gc-segment.c, gc-malloc.c gc-mark.c, gc-freelist.c, gc-card.c,
+ private-gc.h: new file
+
+ * gc.c: completely revised and cleaned up the GC. It now uses lazy
+ sweeping. More documentation in workbook/newgc.text
+
+2002-07-25 Marius Vollmer <marius.vollmer@uni-dortmund.de>
+
+ * random.c (rstate_free): Return zero.
+
+2002-07-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * environments.c (remove_key_from_alist): Removed.
+
+ (obarray_remove): Simplified.
+
+2002-07-24 Stefan Jahn <stefan@lkcc.org>
+
+ * continuations.h: ia64: Include <signal.h> before
+ <sys/ucontext.h>.
+
+2002-07-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * modules.c (scm_sym2var): Don't compare SCM values with ==.
+
+2002-07-21 Han-Wen <hanwen@cs.uu.nl>
+
+ * goops.c (scm_compute_applicable_methods): use
+ scm_remember_upto_here_1 iso scm_remember_upto_here
+
+ * macros.c: include deprecation.h
+
+ * vectors.c (s_scm_vector_move_right_x): remove side effect in
+ macro arg.
+ (s_scm_vector_move_left_x): idem.
+
+ * net_db.c, posix.c, socket.c: variable naming: change ans to
+ result.
+
+ * sort.c (scm_merge_vector_x): accept vector as argument
+ iso. SCM*. This is needed for full GC correctness.
+
+ * gc.h: undo previous undocumented changes related to #ifdef
+ GENGC.
+
+2002-07-20 Han-Wen <hanwen@cs.uu.nl>
+
+ * *.c: add space after commas everywhere.
+
+ * *.c: use SCM_VECTOR_SET everywhere, where a vector is written.
+ Document cases where SCM_WRITABLE_VELTS() is used.
+
+ * vectors.h (SCM_VELTS): prepare for write barrier, and let
+ SCM_VELTS() return a const pointer
+ (SCM_VECTOR_SET): add macro.
+
+2002-07-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * eval.c (SCM_CEVAL), macros.c (macro_print, scm_makmacro,
+ scm_sym_macro, scm_macro_type), macros.h (scm_makmacro):
+ Deprecated the special kind of built-in dynamic syntax transformer
+ that was inaccurately named "macro". Note: The built-in syntax
+ transformers that are named "mmacro" or "memoizing-macro" still
+ exist, and it is these which come much closer to what one would
+ call a macro.
+
+2002-07-13 Neil Jerram <neil@ossau.uklinux.net>
+
+ * eval.c (unmemocopy): Fix for
+ 1001-local-eval-error-backtrace-segfaults (unmemoization crash
+ with internal definitions and local-eval).
+
+2002-07-12 Gary Houston <ghouston@arglist.com>
+
+ * dynl.c: Don't define stub procedures if DYNAMIC_LINKING is not
+ defined. They don't do anything useful, especially since the
+ only case where DYNAMIC_LINKING is undefined seems to be
+ when --with-modules=no is given to configure, which is basically
+ requesting that the "dynamic linking module" be omitted.
+
+ * Makefile.am (libguile_la_SOURCES): move dynl.c from
+ libguile_la_SOURCES to EXTRA_libguile_la_SOURCES.
+
+ * extensions.c (load_extension): check DYNAMIC_LINKING for
+ scm_dynamic_call.
+ * init.c (scm_init_guile_1): check DYNAMIC_LINKING for
+ scm_init_dynamic_linking.
+
+2002-07-10 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * guile.c, iselect.h, net_db.c, posix.c, socket.c: No need to
+ check for Cygwin when including <winsock2.h>, this is already
+ check for by configure. Thus, revert change from 2002-07-07.
+
+2002-07-10 Gary Houston <ghouston@arglist.com>
+
+ * eq.c: include <string.h>
+ * dynl.c: docstring editing.
+
+2002-07-09 Gary Houston <ghouston@arglist.com>
+
+ * dynl.c (scm_dynamic_call): docstring editing.
+
+2002-07-08 Rob Browning <rlb@defaultvalue.org>
+
+ * gc_os_dep.c: HURD fixes.
+
+2002-07-07 Marius Vollmer <mvo@zagadka.ping.de>
+
+ Crosscompiling and Cygwin fixes by Jan Nieuwenhuizen. Thanks!
+
+ * Makefile.am: Override default rule for c-tokenize.$(OBJECT);
+ this should be compiled for BUILD host.
+ Override default rule for
+ guile_filter_doc_snarfage$(EEXECT); this should run on BUILD host.
+ Add missing $(EXEEXT) to guile_filter_doc_snarfage invocation.
+ (snarf2checkedtexi): Use GUILE_FOR_BUILD instead of preinstguile.
+
+ * guile.c, iselect.h, net_db.c, posix.c, socket.c: Do not include
+ <winsock2.h> on Cygwin even when we have it.
+
+2002-07-01 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * __scm.h (SCM_CAUTIOUS), eval.c (scm_eval_args, deval_args,
+ SCM_CEVAL): Removed compile time option SCM_CAUTIOUS to clean up
+ the code. Full number of arguments checking of closures is
+ mandatory now. However, the option to disable the checking has
+ most probably not been used anyway.
+
+2002-06-30 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * __scm.h (SCM_RECKLESS), backtrace.c (SCM_ASSERT), debug.c
+ (scm_debug_options), eval.c (scm_lookupcar, scm_lookupcar1,
+ scm_badargsp, SCM_CEVAL, SCM_APPLY, scm_map, scm_for_each),
+ feature.c (scm_init_feature), gsubr.c (scm_gsubr_apply), numbers.c
+ (scm_logand, scm_logior, scm_logxor, scm_i_dbl2big), srcprop.c
+ (scm_source_properties, scm_set_source_properties_x,
+ scm_source_property): Removed compile time option SCM_RECKLESS to
+ clean up the code. Full number of arguments checking of closures
+ is mandatory now. However, the option to disable the checking has
+ most probably not been used anyway.
+
+ * srcprop.c (scm_source_properties, scm_set_source_properties_x,
+ scm_source_property): Use !SCM_CONSP instead of SCM_NCONSP.
+
+2002-06-30 Gary Houston <ghouston@arglist.com>
+
+ * dynl.c: Removed all SCM_DEFER_INTS/SCM_ALLOW_INTS, which won't
+ do anything useful. Added a comment about need for a mutex if
+ pre-emptive threading is supported.
+
+ * posix.c (scm_convert_exec_args), dynl.c
+ (scm_make_argv_from_stringlist): static procs: 1) renamed both to
+ allocate_string_pointers. 2) simplified: don't reallocate the
+ strings, just make an array of pointers 3) avoid memory leaks on
+ error 4) let the procedure report errors in its own name.
+ Consequences: 1) the procedures now assume that SCM strings are
+ nul-terminated, which should always be the case. 2) Since strings
+ are not reallocated, it's now possible for strings passed to
+ dynamic-args-call to be mutated.
+
+2002-06-28 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * __scm.h, eval.c, eval.h: Removed compile time option
+ MEMOIZE_LOCALS to clean up the code. Now, caching of local
+ variable positions during memoization is mandatory. However, the
+ option to disable the caching has most probably not been used
+ anyway.
+
+2002-06-18 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * print.c (scm_simple_format): Print missing part of format before
+ ~% control. Thanks to Daniel Skarda!
+
+2002-06-01 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * mkstemp.c: Added exception notice to license statement.
+
+2002-05-22 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * numbers.c (mem2ureal): When returning an inexact zero, make sure
+ it is represented as a floating point value so that we can change
+ its sign.
+
+ From John W. Eaton <jwe@bevo.che.wisc.edu>
+
+ * numbers.c (idbl2str): Don't omit sign when printing negative zero.
+
+2002-05-14 Thien-Thi Nguyen <ttn@giblet.glug.org>
+
+ * gc_os_dep.c: For I386/OPENBSD, allow for `__i386__'
+ in addition to `i386'. Thanks to Dale P. Smith.
+
+2002-05-08 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * eq.c (real_eqv): New.
+ (scm_eqv_p): Use it when comparing reals and complexes.
+
+ * numbers.c: Include <string.h>, for strncmp.
+ (mem2complex): Do not create negative NaNs.
+ (scm_leq_p, scm_geq_p): Explicitely return #f when comparing a
+ NaN.
+ (scm_inexact_to_exact): Signal error when converting a NaN.
+
+2002-05-06 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * posix.c (scm_putenv): Handle removing variables explicitely by
+ calling unsetenv.
+
+ From John W. Eaton.
+
+ * numbers.h: Conditionally include floatingpoint.h, ieeefp.h, and
+ nan.h. Provide declarations for scm_inf_p, scm_nan_p, scn_inf,
+ and scm_nan.
+ * numbers.c: [SCO && ! HAVE_ISNAN] (isnan): New function.
+ [SCO && ! HAVE_ISINF] (isinf): New function.
+ (xisinf, xisnan): New functions.
+ (IS_INF): Delete.
+ (isfinite): Define in terms of xisinf.
+ (scm_inf_p, scm_nan_p): New functions.
+ (guile_Inf, guile_NaN): New file-scope vars.
+ (guile_ieee_init): New function.
+ (scm_inf, scm_nan): New functions.
+ (idbl2str): Handle Inf and NaN. Remove funny label and
+ corresponding gotos.
+ (ALLOW_DIVIDE_BY_ZERO): New macro.
+ (scm_divide): Allow division by zero to occur if
+ ALLOW_DIVIDE_BY_ZERO is defined.
+ Handle bignums and ints as special cases.
+
+ Additional stuff by me:
+
+ numbers.c (mem2ureal): Recognize "inf.0" and "nan.xxx".
+ (scm_even_p, scm_odd_p): Treat infinity as even and odd.
+ (iflo2str): Don't output a '+' for negative numbers or for Inf and
+ NaN. They will provide their own sign.
+ (scm_divide): Only allow divides by inexact zeros. Dividing by
+ exact zeros still signals an errors.
+
+2002-04-22 Thien-Thi Nguyen <ttn@giblet.glug.org>
+
+ * goops.h (scm_slot_exists_p): Rename from scm_slots_exists_p.
+ * goops.c (scm_slot_exists_p): Rename from scm_slots_exists_p.
+ (s_scm_slot_exists_p): Rename from s_scm_slots_exists_p.
+ Thanks to Andreas Rottmann.
+
+2002-04-20 Gary Houston <ghouston@arglist.com>
+
+ * removal of unused fields in root state (thanks to Christopher
+ Cramer for pointing out the disuse.)
+ * root.h (scm_root_state): removed def_inp, def_outp, def_errp.
+ (scm_def_inp, scm_def_outp, scm_def_errp): removed.
+
+ * root.c (root_mark): don't mark them.
+ (scm_make_root): don't set them to #f.
+ * init.c (scm_init_standard_ports): don't initialise with the
+ default ports.
+
+2002-04-17 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * Makefile.am (EXTRA_DIST): Added cpp_err_symbols.c and
+ cpp_sig_symbols.c.
+
+2002-04-16 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * guile-snarf.in: Do not clean input file. This would write to
+ the $(srcdir) during a VPATH build, which is not allowed. It also
+ isn't needed since it only works when an output filename has been
+ specified and in that case we don't need to clean the input file
+ because the output file will already exist.
+
+2002-03-31 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * guile-snarf: Install the trap for removing $cleanfile only when
+ the value of $cleanfile is actually known.
+
+2002-04-10 Rob Browning <rlb@defaultvalue.org>
+
+ * .cvsignore: add versiondat.h and *.c.clean.c.
+
+2002-03-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * srcprop.[ch] (scm_c_source_property_breakpoint_p): New
+ function, replaces macro SRCBRKP.
+
+ (SRCBRKP): Deprecated.
+
+ * eval.c (SCM_CEVAL): Replaced use of SRCBRKP by call to
+ scm_c_source_property_breakpoint_p. Removed some use of arg1 as
+ temporary variable.
+
+2002-03-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * debug.h, eval.c: Deprecated CHECK_ENTRY, CHECK_APPLY and
+ CHECK_EXIT and removed all references to them.
+
+2002-03-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * debug.h (scm_ready_p, debug_print): Removed declarations.
+
+ * eval.c (EVALCELLCAR): Removed.
+
+ (SCM_CEVAL): Eliminated label loopnoap. Removed side-effecting
+ operation from condition.
+
+2002-03-24 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * guile-snarf.in: When the output filename is "-", write to
+ stdout. When no "-o" option is given, use "-" as the output
+ filename (i.e., stdout). Only 'clean' the inputfile or remove the
+ output file on error when the output file name is not "-". Define
+ the preprocessor macro SCM_MAGIC_SNARFER while snarfing.
+
+ * Makefile.am (.c.x): Pass "-o $@" to guile-snarf.
+
+2002-03-23 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * eval.c (SCM_CEVAL, SCM_APPLY): Eliminated labels wrongnumargs
+ and the corresponding goto statements. Removed redundant code.
+
+2002-03-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * eval.c (SCM_CEVAL): Minimized scope of variable arg2.
+ Eliminated redundant SCM_IMP check. Exlined call to EVALCAR.
+ Re-enabled handing of rpsubrs and asubrs.
+
+2002-03-20 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * eval.c (SIDEVAL): Removed.
+
+ (SCM_CEVAL): Minimized scope of variable orig_sym. Eliminated
+ goto-labels cdrxnoap, cdrxbegin and nontoplevel_cdrxnoap. Changed
+ argument checking order for set! to locals, variables and symbols.
+ Improvements to control structure. Removed some uses of arg1 and
+ arg2 as temporary variables.
+
+2002-03-15 Thien-Thi Nguyen <ttn@giblet.glug.org>
+
+ * guile-snarf.in: Remove "--compat=1.4" support.
+ Add "-d" and "-D" support.
+
+ (deprecated_list): New var.
+ (compat_mode_clean_xxx): Delete.
+ (grep_deprecated): New func.
+ ("main"): If "-d" or "-D", call `grep_deprecated'.
+
+2002-03-15 Neil Jerram <neil@ossau.uklinux.net>
+
+ * hooks.h: Change scm_t_c_hookype_t everywhere to
+ scm_t_c_hook_type.
+
+ Docstring fixes:
+
+ * strings.c (scm_string_p): Change unnecessary `iff' to `if'.
+
+ * ports.c (scm_sys_make_void_port): Use `@file'.
+
+ * numbers.c (scm_number_p, scm_real_p): Use `otherwise' rather
+ than `else'.
+
+ * macros.c (scm_makmacro): Don't say that the form replaces its
+ source, because it doesn't.
+ (scm_makmmacro): Clarify difference between this and scm_makmacro.
+
+ * backtrace.c (scm_display_error), filesys.c (scm_umask,
+ scm_select, scm_basename), goops.c (scm_method_generic_function),
+ numbers.c (scm_integer_length), posix.c (scm_getgroups, scm_execl,
+ scm_setlocale, scm_flock), socket.c (scm_shutdown): Correct
+ spelling mistakes.
+
+ * debug.c (scm_debug_options), eval.c
+ (scm_eval_options_interface), read.c (scm_read_options): Change
+ incorrect @var in docstring to @code.
+
+2002-03-14 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * unif.c (singp): Use SCM_REALP instead of SCM_SLOPPY_REALP.
+
+ * snarf.h (SCM_SNARF_INIT): Add "^:^" after code so that
+ guile-snarf can remove trailing non-init code.
+
+ * guile-snarf.in (modern_snarf): Remove everything following and
+ including "^:^" from the output.
+
+2002-03-14 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * eval.c (SCM_CEVAL), srcprop.h (SRCBRKP): Eliminated union 't'.
+
+ * eval.c (SCM_CEVAL): Exlined call to EVALCAR.
+
+2002-03-13 Thien-Thi Nguyen <ttn@giblet.glug.org>
+
+ * guile-snarf.in: Update copyright.
+ Rewrite to internalize error handling.
+ Add "--compat=1.4" handling.
+ Add commentary.
+
+ * Makefile.am (libpath.h): Use @top_srcdir_absolute@.
+ (snarfcppopts): New var.
+ (.c.x): Use $(snarfcppopts). Rework guile-snarf usage.
+ (.c.doc): Use $(snarfcppopts).
+
+ * alist.c, arbiters.c, async.c, backtrace.c, boolean.c, chars.c,
+ continuations.c, debug-malloc.c, debug.c, deprecation.c, dynl.c,
+ dynwind.c, environments.c, eq.c, error.c, eval.c, evalext.c,
+ extensions.c, feature.c, filesys.c, fluids.c, fports.c, gc.c,
+ goops.c, gsubr.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, rdelim.c, read.c, regex-posix.c,
+ root.c, rw.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, threads.c, throw.c,
+ unif.c, values.c, variable.c, vectors.c, version.c, vports.c,
+ weaks.c: Retire inclusion guard macro SCM_MAGIC_SNARFER.
+
+2002-03-13 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * eval.c (SCM_CEVAL): Got rid of the last reference to t.lloc.
+ The next step will be to remove the union 't' and simplify the
+ code of SCM_CEVAL that way.
+
+2002-03-12 Neil Jerram <neil@ossau.uklinux.net>
+
+ * iselect.c (collisionp, gnfds, greadfds, gwritefds, gexceptfds,
+ rreadfds, rwritefds, rexceptfds): Made static.
+
+ * gc.c (terminating), fports.c (terminating): Renamed
+ scm_i_terminating.
+
+2002-03-11 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * numbers.c (scm_divide): Adapt code from libstdc++/f2c to void
+ potential overflow problems. Thanks to John W Eaton!
+
+ * strop.c (string_capitalize_x): Treat characters as unsigned so
+ that 8-bit chars work. Thanks to David Pirotte!
+
+2002-03-10 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * eval.c (SCM_CEVAL): Cleaned up the handling of 'slot-ref',
+ 'slot-set!' and 'nil-cond'. Removed some uses of t.arg1, arg2 and
+ proc as temporary variables. Introduced temporary variables with
+ hopefully descriptive names for clarification. Replaced SCM_N?IMP
+ by a more explicit predicate in some places.
+
+2002-03-09 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * eval.c (SCM_CEVAL): Cleaned up the handling of #@dispatch.
+ Added lots of comments regarding the implementation of #@dispatch.
+ Changed intra-procedure communication to use t.arg1 instead of
+ arg2. Removed some uses of t.arg1, t.lloc and proc as temporary
+ variables. Introduced temporary variables with hopefully
+ descriptive names for clarification. Replaced SCM_N?IMP by a more
+ explicit predicate in some places. Use SCM_INSTANCE_HASH instead
+ of computing the expression explicitly. Eliminate now unused
+ label nontoplevel_cdrxbegin.
+
+ * goops.h (SCM_INSTANCE_HASH): New macro.
+
+ * objects.h (SCM_CMETHOD_FORMALS, SCM_CMETHOD_BODY): New macros.
+
+2002-03-08 Thien-Thi Nguyen <ttn@giblet.glug.org>
+
+ * Makefile.am (bin_SCRIPTS): Revive this decl, w/ initial element
+ "guile-snarf" moved back from `noinst_SCRIPTS'.
+
+2002-03-08 Neil Jerram <neil@ossau.uklinux.net>
+
+ * srcprop.c (scm_set_source_property_x): If SRCPROPS obj already
+ exists when adding a source property other than those that are
+ handled explicitly, add the new property to the SRCPROPS obj's
+ plist.
+
+ * debug.h (SCM_MAX_FRAME_SIZE): Remove incorrect comment about use
+ of SCM_MAX_FRAME_SIZE as a bit mask; it isn't used like this.
+
+ * eval.c (SCM_CEVAL): Don't store scm_debug_eframe_size in
+ debug.status. It isn't needed, and it can overflow the bits
+ reserved for it (which may lead to a segv or a GC abort).
+
+2002-03-02 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * eval.c (SCM_CEVAL): Cleaned up the handling of 'apply'. Removed
+ side-effecting operations from conditions and macro calls.
+ Replaced SCM_N?IMP by a more explicit predicate in some places.
+ Minimized the scope of some variables.
+
+2002-03-02 Stefan Jahn <stefan@lkcc.org>
+
+ * convert.i.c: Fixed int <-> long conversions which would have
+ failed if their sizes were different.
+
+2002-03-02 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * eval.c (SCM_CEVAL): Cleaned up the handling of 'if', 'let',
+ 'letrec' and 'set*': Removed some uses of t.arg1, t.lloc and proc
+ as temporary variables. Removed side-effecting operations from
+ conditions and macro calls. Introduced temporary variables with
+ hopefully descriptive names for clarification. Replaced SCM_N?IMP
+ by a more explicit predicate in some places. Removed code that
+ was conditionally compiled if SICP was defined - which it never
+ is.
+
+2002-03-02 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * eval.c (SCM_CEVAL): Cleaned up the handling of 'cons' and 'do':
+ Removed some uses of t.arg1 and proc as temporary variables.
+ Removed side-effecting operations from conditions and macro calls.
+ Introduced temporary variables with hopefully descriptive names
+ for clarification. Replaced SCM_N?IMP by a more explicit
+ predicate in some places.
+
+2002-03-02 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * eval.c (scm_badargsp, SCM_CEVAL): Replaced SCM_N?IMP by a more
+ explicit predicate in some places.
+
+ (CHECK_EQVISH): Removed.
+
+ (SCM_CEVAL): Removed some uses of t.arg1 and proc as temporary
+ variables. Removed side-effecting operations from conditions and
+ macro calls. Introduced temporary variables for clarification.
+ Sorted if-else-if check for the type of the last form in a list by
+ frequency. Avoided some unnecessary tail-recursion calls.
+
+2002-03-01 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * gc.c (SCM_HEAP_SEG_SIZE, CELL_UP, CELL_DN, NEXT_DATA_CELL,
+ init_heap_seg, alloc_some_heap), gc.h (struct scm_cell, struct
+ scm_t_cell, SCM_CELLPTR, SCM_GC_CARD_SIZE,
+ SCM_GC_IN_CARD_HEADERP), tags.h (SCM_CELLP): Renamed the struct
+ scm_cell and all its uses to scm_t_cell in accordance to Guile's
+ naming scheme for types.
+
+ * alist.c (scm_acons), convert.i.c (CTYPES2UVECT,
+ CTYPES2UVECT_OPTIONAL), coop-threads.c (scm_call_with_new_thread,
+ scm_spawn_thread), debug.c (scm_make_debugobj), environments.c
+ (scm_make_environment), eval.c (scm_closure), fports.c
+ (scm_fdes_to_port), gc.c (scm_deprecated_newcell,
+ scm_deprecated_newcell2), inline.h (scm_alloc_cell, scm_cell),
+ list.c (SCM_I_CONS), numbers.c (scm_i_mkbig), pairs.c (scm_cons),
+ ports.c (scm_void_port), procs.c (scm_c_make_subr, scm_makcclo),
+ smob.c (scm_make_smob), smob.h (SCM_NEWSMOB), strings.c
+ (scm_take_str, scm_allocate_string), strports.c (scm_mkstrport),
+ unif.c (scm_make_uve), variable.c (make_variable), vectors.c
+ (scm_c_make_vector), vports.c (scm_make_soft_port): Renamed
+ scm_alloc_cell to scm_cell.
+
+ * environments.c (core_environments_observe), gc.c
+ (scm_deprecated_newcell2), goops.c (wrap_init, scm_wrap_object),
+ inline.h (scm_alloc_double_cell, scm_double_cell), num2float.i.c
+ (FLOAT2NUM), numbers.c (scm_make_real), procs.c
+ (scm_make_procedure_with_setter), smob.h (SCM_NEWSMOB2,
+ SCM_NEWSMOB3), struct.c (scm_make_struct, scm_make_vtable_vtable),
+ symbols.c (scm_mem2symbol, scm_mem2uninterned_symbol), weaks.c
+ (allocate_weak_vector): Renamed scm_alloc_double_cell to
+ scm_double_cell.
+
+2002-02-27 Stefan Jahn <stefan@lkcc.org>
+
+ * convert.i.c, convert.c: Better range checking.
+
+ * inet_aton.c, fports.c: Commented the inclusion of <winsock2.h>.
+
+ * deprecation.c (vsnprintf): Define to `_vsnprintf' for
+ Windows (MinGW).
+
+2002-02-26 Thien-Thi Nguyen <ttn@giblet.glug.org>
+
+ * Makefile.am: Update path to pre-inst-guile automake frag.
+
+2002-02-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * gc.c (scm_gc_sweep): Make it compile even when deprecated
+ features are excluded.
+
+2002-02-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * num2integral.i.c (NUM2INTEGRAL): Fixed signedness problem.
+
+2002-02-25 Gary Houston <ghouston@arglist.com>
+
+ * convert.c: include <string.h> for convert_i.c.
+
+2002-02-24 Rob Browning <rlb@defaultvalue.org>
+
+ * .cvsignore: add stamp-h1.
+
+2002-02-21 Neil Jerram <neil@ossau.uklinux.net>
+
+ * unif.c (scm_array_to_list): Correct name, which had been
+ accidentally changed to scm_t_arrayo_list!
+
+2002-02-20 Mikael Djurfeldt <mdj@linnaeus>
+
+ * gc.c (scm_gc_sweep): Print an error message when aborting due to
+ underflowing scm_mallocated.
+
+2002-02-14 Marius Vollmer <marius.vollmer@uni-dortmund.de>
+
+ * gc.h, gc.c (scm_must_malloc, scm_must_realloc, scm_must_strdup,
+ scm_must_strndup, scm_done_malloc, scm_done_free, scm_must_free):
+ Reimplemented using the new scm_gc_malloc, etc., functions and
+ deprecated.
+
+2002-02-11 Thien-Thi Nguyen <ttn@giblet.glug.org>
+
+ * Makefile.am (bin_PROGRAMS): Move `guile_filter_doc_snarfage'
+ to `noinst_PROGRAMS'.
+ (bin_SCRIPTS): Move all values to `noinst_SCRIPTS'; delete.
+ (noinst_PROGRAMS, noinst_SCRIPTS): New.
+
+2002-02-11 Marius Vollmer <marius.vollmer@uni-dortmund.de>
+
+ * gc.h, gc.c (scm_gc_sweep): Issue deprecation warning when
+ non-zero is returned from a port or smob free function.
+ (scm_malloc, scm_realloc, scm_strndup, scm_strdup,
+ scm_gc_register_collectable_memory,
+ scm_gc_unregister_collectable_memory, scm_gc_malloc,
+ scm_gc_realloc, scm_gc_free, scm_gc_strndup, scm_gc_strdup): New.
+
+ * backtrace.c, continuations.c, convert.i.c, coop-threads.c,
+ debug-malloc.c, dynl.c, environments.c, environments.h,
+ extensions.c, filesys.c, fports.c, gc.c, gc.h, gh_data.c, goops.c,
+ guardians.c, hooks.c, init.c, keywords.c, load.c, numbers.c,
+ ports.c, posix.c, procs.c, rdelim.c, regex-posix.c, root.c,
+ smob.c, stime.c, strings.c, struct.c, struct.h, symbols.c, unif.c,
+ vectors.c, weaks.c: Use scm_gc_malloc/scm_malloc and
+ scm_gc_free/free instead of scm_must_malloc and scm_must_free, as
+ appropriate. Return zero from smob and port free functions.
+
+ * debug-malloc.c (scm_malloc_reregister): Handle "old == NULL".
+
+ * deprecation.h, deprecation.c: Reimplemented to allow deprecation
+ messages while the GC is running.
+ (scm_c_issue_deprecation_warning_fmt): New.
+
+ * fports.c (scm_setvbuf): Reset read buffer to saved values when
+ it is pointing to the putback buffer.
+
+2002-02-08 Thien-Thi Nguyen <ttn@giblet.glug.org>
+
+ * gsubr.c (create_gsubr): On "too many args" error,
+ also display arg count and name. Thanks to Bill Schottstaedt.
+
+2002-02-05 Thien-Thi Nguyen <ttn@giblet.glug.org>
+
+ * Makefile.am: Include $(top_srcdir)/pre-inst-guile.am.
+
+ (bin_SCRIPTS): Remove guile-snarf-docs-texi.
+ (alldotdocfiles, snarf2checkedtexi, dotdoc2texi): New vars.
+ (guile.texi, guile-procedures.texi): Use $(dotdoc2texi).
+
+ * guile-snarf-docs-texi.in: Bye bye.
+
+2002-02-04 Marius Vollmer <marius.vollmer@uni-dortmund.de>
+
+ * symbols.c (scm_make_symbol): Fix typo in docstring.
+
+ * symbols.h (scm_mem2uninterned_symbol, scm_symbol_interned_p,
+ scm_make_symbol): New prototypes.
+
+2002-02-03 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * symbols.h (SCM_SET_SYMBOL_HASH): Removed.
+ (SCM_SYMBOL_INTERNED_P): New.
+ * symbols.c (scm_symbol_hash): Use scm_ulong2num instead of
+ SCM_MAKINUM since hash values can well be bignums.
+ (scm_mem2symbol): Only use hash values below SCM_T_BITS_MAX/2.
+ This signals a interned symbol.
+ (scm_mem2uninterned_symbol, scm_symbol_interned_p,
+ scm_make_symbol): New.
+
+ * print.c (scm_iprin1): Print uninterned symbols unreadably.
+
+2002-02-02 Thien-Thi Nguyen <ttn@giblet.glug.org>
+
+ * __scm.h (HAVE_UINTPTR_T): Only define if UINTPTR_T attributes
+ are defined: UINTPTR_MAX, INTPTR_MAX, INTPTR_MIN.
+ Thanks to Dave Love.
+
+2002-01-31 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * symbols.c (scm_gensym): Use " g" as default prefix, not "g".
+ This might help to make unintended clashes less likely.
+ (scm_string_to_symbol): Protect the string until the symbols is
+ created.
+
+2002-01-31 Stefan Jahn <stefan@lkcc.org>
+
+ * convert.c, convert.h, convert.i.c: New files containing C
+ array to Scheme conversion helpers meant to be replacement
+ functions for the deprecated gh interface.
+
+ * Makefile.am: Setup rules for new `convert.*' files.
+
2002-01-28 Stefan Jahn <stefan@lkcc.org>
* symbols.c (scm_c_symbol2str): New function, replacement for
`gh_scm2newsymbol()'.
- * strings.c (scm_c_substring2str): New function. Proper
+ * strings.c (scm_c_substring2str): New function. Proper
replacement for `gh_get_substr()'.
* socket.c: Include `stdint.h' if available for the `uint32_t'
declaration.
- * scmsigs.c (s_scm_sigaction): Initialize `chandler' (inhibits
+ * scmsigs.c (s_scm_sigaction): Initialize `chandler' (inhibits
compiler warning).
* backtrace.c: Include `lang.h' for GUILE_DEBUG conditional.
2002-01-22 Neil Jerram <neil@ossau.uklinux.net>
-
+
Other changes unrelated to Elisp...
-
+
* eval.c (scm_m_if): Use s_if rather than repeating string literal
"if".
(comments): Fix a few typos.
* eval.c, eval.h, init.c, lang.c, lang.h: Use SCM_ENABLE_ELISP to
conditionalize compilation and initialization of Elisp support
function.
-
+
* alist.c (scm_assq, scm_assv, scm_assoc), async.c
(scm_asyncs_pending, scm_run_asyncs, noop), backtrace.c
(scm_set_print_params_x), dynl.c (scm_make_argv_from_stringlist),
* boolean.c (scm_not): Use `SCM_FALSEP || SCM_NILP' instead of
just SCM_FALSEP.
-
+
* boolean.c (scm_boolean_p): Use `SCM_BOOLP || SCM_NILP' instead
of just SCM_BOOLP.
(SCM_ELISP_NIL): New IFLAG.
* validate.h (SCM_VALIDATE_NULL_OR_NIL): New.
-
+
2002-01-10 Dirk Herrmann <D.Herrmann@tu-bs.de>
* eval.c: Removed outdated references to "everr". Improved some
2001-12-08 Stefan Jahn <stefan@lkcc.org>
* strings.c (scm_c_string2str): New function. Converts a
- given Scheme string into a C string. Also put in two
+ given Scheme string into a C string. Also put in two
THINKME's regarding the malloc policy for the missing converter
routines.
2001-11-25 Marius Vollmer <mvo@zagadka.ping.de>
* vectors.h (SCM_MAKE_VECTOR_TAG): New.
- * unif.h (SCM_MAKE_BITVECTOR_TAG, SCM_MAKE_UVECTOR_TAG): New.
+ * unif.h (SCM_MAKE_BITVECTOR_TAG, SCM_MAKE_UVECTOR_TAG): New.
* symbols.h (SCM_MAKE_SYMBOL_TAG): New.
* strings.h (SCM_MAKE_STRING_TAG): New.
* procs.h (SCM_MAKE_CCLO_TAG): New.
Deprecated SCM_NEWCELL and SCM_NEWCELL2. Added scm_alloc_cell and
scm_alloc_double_cell in their place.
-
+
* gc.h (SCM_GC_SET_ALLOCATED, scm_debug_newcell,
scm_debug_newcell2, scm_tc16_allocated): Removed from header.
(scm_deprecated_newcell, scm_deprecated_newcell2): New.
(scm_init_gc): Do it here.
(allocated_mark): New, from old code.
(scm_deprecated_newcell, scm_deprecated_newcell2): New.
-
+
* inline.c, inline.h: New files.
- * Makefile.am: Added them in all the right places.
+ * Makefile.am: Added them in all the right places.
- * _scm.h: Include "libguile/inline.h".
+ * _scm.h: Include "libguile/inline.h".
* alist.c, coop-threads.c, debug.c, environments.c, eval.c,
fports.c, gh_data.c, goops.c, guardians.c, lang.c, list.c,
* Makefile.am (install-exec-hook): Prepend $(DESTDIR) to filename.
Thanks to Eric Gillespie, Jr!
-
+
2001-11-21 Stefan Jahn <stefan@lkcc.org>
- * win32-socket.c (getservent, setservent, endservent,
- getprotoent, setprotoent, endprotoent): New functions.
+ * win32-socket.c (getservent, setservent, endservent,
+ getprotoent, setprotoent, endprotoent): New functions.
Appropriate replacements for M$-Windows.
* numbers.c (SIZE_MAX, PTRDIFF_MAX, PTRDIFF_MIN): Reintroduced
these definitions for GUILE_DEBUG.
* net_db.c: Include "win32-socket.h" if compiling with a native
- M$-Windows compiler. Include some pieces of code (protoent and
- servent interface) protected by HAVE_* macros when using a
+ M$-Windows compiler. Include some pieces of code (protoent and
+ servent interface) protected by HAVE_* macros when using a
native M$-Windows compiler.
2001-11-20 Marius Vollmer <mvo@zagadka.ping.de>