+2001-08-27 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * ports.c, ports.h, fprots.c, gc.c, ioext.c: Replaced
+ "scm_t_portable" with "scm_port_table" which was an artifact from
+ the great "scm_*_t -> scm_t_" renaming.
+
+2001-08-25 Thien-Thi Nguyen <ttn@revel.glug.org>
+
+ * gc_os_dep.c (GC_noop1): Move before `GC_find_limit' where it is
+ used; nfc. Thanks to Bill Schottstaedt.
+
+ * validate.h (SCM_VALIDATE_USHORT_COPY, SCM_VALIDATE_SHORT_COPY,
+ SCM_VALIDATE_UINT_COPY, SCM_VALIDATE_INT_COPY): New macros.
+ Thanks to Chris Cramer.
+
+2001-08-25 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * Makefile.am (AUTOMAKE_OPTIONS): Change "foreign" to "gnu".
+
+ * eval.c (scm_m_atbind): Redesigned to behvae like `let', but with
+ dynamic scope.
+ * dynwind.h (scm_swap_bindings): Declare.
+ * dynwind.c (scm_swap_bindings): Make non-static.
+
+2001-08-25 Michael Livshin <mlivshin@bigfoot.com>
+
+ * gc.c (scm_gc_sweep): now can sweep unreachable variables (by
+ doing exactly nothing about them). thanks Neil!
+
+2001-08-18 Neil Jerram <neil@ossau.uklinux.net>
+
+ * __scm.h (SCM_ENABLE_VCELLS): Fix spelling mistake in comment.
+
+2001-08-17 Thien-Thi Nguyen <ttn@revel.glug.org>
+
+ * gc.c: Fix omission bug: Add `heap_segment' forward decl
+ (proto) in the case when either `GUILE_DEBUG' or
+ `GUILE_DEBUG_FREELIST' preprocessor symbols are defined.
+
+ (map_free_list): Fix typo: Ref `f' correctly.
+
+ Thanks to Chris Cramer.
+
+2001-08-15 Rob Browning <rlb@defaultvalue.org>
+
+ * Makefile.am (libguile_la_LDFLAGS): use libtool interface version
+ variables.
+ (libpath.h): change libguileversion to libguileinterface.
+
+2001-08-07 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * Makefile.am (EXTRA_DIST): Distribute ChangeLog-1996-1999 and
+ ChangeLog-2000. Thanks to Daniel Skarda!
+
+2001-08-07 Michael Livshin <mlivshin@bigfoot.com>
+
+ * guile-snarf-docs-texi.in: don't call the tokenizer here, we now
+ do it from the Makefile.
+
+ * Makefile.am: rearrange the snarfing slightly, so that .doc files
+ are of a reasonable size.
+
+2001-08-02 Neil Jerram <neil@ossau.uklinux.net>
+
+ * stacks.c (scm_make_stack): Improve docstring by explaining use
+ of cutting args.
+
+2001-08-01 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * chars.c (scm_char_alphabetic_p, scm_char_numeric_p,
+ scm_char_whitespace_p, scm_char_upper_case_p,
+ scm_char_lower_case_p, scm_char_is_both_p): Do not require
+ characters to fulfill isascii in addition to the primary
+ predicate.
+
+2001-07-30 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * numbers.c (DIGITS, scm_small_istr2int, scm_istr2int,
+ scm_istr2flo, scm_istring2number): Removed.
+
+ (iflo2str, scm_real_p, scm_integer_p): Use SCM_<foo> instead of
+ SCM_SLOPPY_<foo>.
+
+ (t_exactness, t_radix, DIGIT2UINT, XDIGIT2UINT, mem2uinteger,
+ mem2decimal_from_point, mem2ureal, mem2complex, scm_i_mem2number):
+ Added.
+
+ (scm_string_to_number): Use new number parser.
+
+ (scm_exact_to_inexact): Replace dummy by a GPROC, which also
+ handles complex numbers.
+
+ * numbers.h (NUMBERSH, SCM_NUMBERS_H): Rename <foo>H to
+ SCM_<foo>_H.
+
+ (SCM_INEXACTP, SCM_REALP, SCM_COMPLEXP): Prefer !SCM_<pred> over
+ SCM_N<pred>.
+
+ (scm_istr2int, scm_istr2flo, scm_istring2number): Removed.
+
+ (scm_i_mem2number): Added.
+
+ (scm_exact_to_inexact): Changed signature.
+
+ * read.c (scm_lreadr): Perform the shortcut test for '+ and '-
+ here instead of within scm_i_mem2number. Call scm_i_mem2number
+ instead of scm_istr2int and scm_istring2number.
+
+2001-07-30 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * eval.c (scm_lookupcar, scm_m_body, scm_m_lambda, unmemocopy,
+ scm_unmemocopy, scm_badargsp, scm_eval_body, CHECK_EQVISH,
+ SCM_CEVAL, scm_nconc2last, SCM_APPLY, scm_copy_tree): Prefer
+ !SCM_<pred> over SCM_N<pred>.
+
+ (scm_eval_body): Remove side effecting code from macro call.
+
+ (SCM_CEVAL, SCM_APPLY): Remove goto statement and redundant
+ SCM_NIMP test.
+
+2001-07-30 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * pairs.h (SCM_VALIDATE_PAIR): Use SCM_CONSP, not SCM_ECONSP.
+
+2001-07-29 Marius Vollmer <mvo@zagadka.ping.de>
+
+ Removed vcell slot from structs.
+
+ * struct.h (scm_vtable_index_vcell): Removed. Renumbered
+ subsequent indices.
+
+ * struct.c (scm_struct_vtable_p): Do not check vcell slot for
+ zero. Use scm_vtable_index_layout instead of "0" when accessing
+ said slot.
+ (scm_init_struct): Remove vcell slot layout code from
+ required_vtable_fields.
+
+ * objects.h (scm_si_redefined, scm_si_hashsets): Renumbered.
+
+ * goops.c (build_class_class_slots): Removed vcell slot
+ definition.
+
+ * goops.h: Renumbered slot indices. (SCM_CLASS_CLASS_LAYOUT):
+ Removed vcell slot layout code.
+ (scm_si_vcell): Removed.
+
+2001-07-26 Marius Vollmer <mvo@zagadka.ping.de>
+
+ "Glocs" have been removed.
+
+ * tags.h: Update tag system docs.
+ (scm_tc3_cons_gloc): Renamed to scm_tc3_struct. Changed all uses.
+ (scm_tcs_cons_gloc): Renamed to scm_tcs_struct. Changed all uses.
+ (SCM_ECONSP, SCM_NECONSP): Removed. Changed all uses to SCM_CONSP
+ or SCM_NCONSP, respectively.
+
+ * struct.c, struct.h, srcprop.c, procs.c, procprop.c, print.c,
+ objects.c. modules.c, goops.c, eval.c, debug.c: Changed all uses
+ of scm_tc3_cond_gloc and scm_tcs_cons_gloc. See above.
+
+ * print.c (scm_iprin1): Remove printing of glocs. Do not try to
+ tell glocs from structs.
+
+ * gc.c (scm_gc_mark, scm_gc_sweep): Remove handling of glocs.
+
+ * eval.c (scm_m_atbind): Make a list of variables, not glocs.
+ (scm_ceval, scm_deval): For SCM_IM_BIND, fiddle with variables
+ instead of with glocs.
+ (EVALCAR): Do not test for glocs.
+ (scm_lookupcar, scm_lookupcar1): Do not handle glocs in race
+ condition.
+ (scm_unmemocar): Do not handle glocs.
+ (scm_m_atfop): Memoize as a variable, not as a gloc.
+ (scm_eval_args, scm_deval_args): Do not handle glocs.
+ (scm_ceval, scm_deval): Likewise.
+
+ * eval.h (SCM_XEVALCAR): Do not test for glocs.
+ (SCM_GLOC_VAR, SCM_GLOC_VAL, SCM_GLOC_SET_VAL, SCM_GLOC_VAL_LOC):
+ Removed.
+
+ * debug.h, debug.c (scm_make_gloc, scm_gloc_p): Removed.
+
+ * dynwind.c (scm_swap_bindings): Likewise.
+ (scm_dowinds): Updated to recognize lists of variables instead of
+ lists of glocs.
+
+ * __scm.h (SCM_CAUTIOS, SCM_RECKLESS): Update comments.
+
+
+ * gc_os_dep.c (GC_noop1): Moved into the same #if/#endif context
+ where it is needed.
+
+2001-07-25 Gary Houston <ghouston@arglist.com>
+
+ * numbers.c (scm_logand, scm_logior, scm_logxor): adjusted the
+ docstrings to reflect the n-ary implementation.
+
+2001-07-26 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * eval.c (scm_ceval, scm_deval): Use "RETURN" macro when returning
+ value of a variable, not the plain "return" statement.
+
+2001-07-25 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * eval.c: Allow variables in memoized code (in addition to glocs).
+ (scm_lookupcar): Handle variables in lost races. Replace symbol
+ with variable directly, do not make a gloc.
+ (scm_unmemocar): Rewrite variables using a reverse lookup, just
+ like glocs.
+ (scm_ceval, scm_deval): Deal with variables in SCM_IM_SET and in
+ the main switch.
+
+2001-07-25 Marius Vollmer <marius.vollmer@uni-dortmund.de>
+
+ * variable.c (scm_i_variable_print): Use "value" instead of
+ "binding" since a binding is the mapping between symbols and
+ variables, not between variables and their values.
+
+ * tags.h (scm_tc7_variable): New.
+ * gc.c (scm_gc_mark): Handle scm_tc7_variable objects.
+ * print.c (scm_iprin1): Likewise.
+
+ * variable.h (scm_tc16_variable): Removed.
+ (SCM_VARIABLEP): Test for new tc7 code.
+ (scm_i_variable_print): New.
+ * variable.c (scm_tc16_variable): Removed.
+ (variable_print): Renamed to scm_i_variable_print and made
+ non-static.
+ (variable_equal_p): Removed.
+ (make_variable): Construct a tc7 object instead of a smob.
+ (scm_init_variable): Do not register smob.
+
+2001-07-22 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * tags.h: Include inttypes.h when we have it.
+
+2001-07-13 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * tags.h (SCM_UNBOUND): Make it the 34th isym/iflag, the 33th slot
+ is taken by the new SCM_IM_CALL_WITH_VALUES.
+ * print.c (scm_isymnames): Update table accordingly.
+
+2001-07-22 Gary Houston <ghouston@arglist.com>
+
+ * regex-posix.c (s_scm_regexp_exec): use scm_long2num not
+ SCM_MAKINUM to convert regoff_t value to SCM.
+
+2001-07-21 Gary Houston <ghouston@arglist.com>
+
+ * scmsigs.c: include sys/time.h for itimer stuff.
+
+2001-07-19 Rob Browning <rlb@defaultvalue.org>
+
+ * gc_os_dep.c (GC_noop1): ifdef out (unused) to quiet warning.
+
+ * c-tokenize.lex: add option %nounput to quiet warning.
+ Add prototype for yylex to quiet warning.
+
+ * scmconfig.h.in: add flags for setitimer and getitimer.
+
+ * scmsigs.h (scm_init_scmsigs): new prototype.
+ (scm_init_scmsigs): new prototype.
+
+ * scmsigs.c (s_scm_setitimer): new function.
+ (s_scm_setitimer): new function.
+
+2001-07-18 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
+
+ * alist.c, arbiters.c, async.h, backtrace.h, boolean.c, chars.c,
+ chars.h, continuations.h, debug-malloc.h, dynl.c, feature.c,
+ feature.h, filesys.h, fluids.h, fports.h, gc_os_dep.c,
+ gdb_interface.h, gh_eval.c, gh_funcs.c, gh_io.c, gh_list.c,
+ gh_predicates.c, gsubr.c, gsubr.h, guardians.h,
+ guile-func-name-check.in, guile-snarf-docs-texi.in,
+ guile-snarf-docs.in, guile-snarf.awk.in, guile-snarf.in,
+ hashtab.h, iselect.h, keywords.h, lang.c, list.h, load.h,
+ objprop.c, objprop.h, options.c, options.h, random.h,
+ regex-posix.h, root.c, root.h, script.c, snarf.h, stackchk.c,
+ strerror.c, strop.h, strports.h, threads.h, values.c, values.h,
+ version.c, version.h: Updated copyright notice.
+
+2001-07-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * goops.c (sym_layout, sym_vcell, sym_vtable, sym_print,
+ sym_procedure, sym_setter, sym_redefined, sym_h0, sym_h1, sym_h2,
+ sym_h3, sym_h4, sym_h5, sym_h6, sym_h7, sym_name,
+ sym_direct_supers, sym_direct_slots, sym_direct_subclasses,
+ sym_direct_methods, sym_cpl, sym_default_slot_definition_class,
+ sym_slots, sym_getters_n_setters, sym_keyword_access, sym_nfields,
+ sym_environment, scm_sym_change_class): New static variables to
+ hold predefined symbols.
+
+ (build_class_class_slots): Build the list using scm_list_n
+ instead of cons. Also, slots are already created as lists, thus
+ making a call to maplist unnecessary.
+
+ (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_method_procedure, create_standard_classes, purgatory): Use
+ predefined symbols.
+
+ (build_slots_list, compute_getters_n_setters,
+ scm_sys_initialize_object, scm_sys_inherit_magic_x,
+ get_slot_value_using_name, set_slot_value_using_name,
+ scm_sys_invalidate_method_cache_x, scm_generic_capability_p,
+ scm_compute_applicable_methods, scm_sys_method_more_specific_p,
+ make_struct_class): Prefer !SCM_<pred> over SCM_N<pred>.
+
+ (scm_sys_prep_layout_x): Minimize variable scopes.
+
+ (scm_sys_prep_layout_x, scm_sys_fast_slot_ref,
+ scm_sys_fast_slot_set_x): Fix signedness.
+
+ (go_to_hell, go_to_heaven, purgatory, scm_change_object_class,
+ lock_cache_mutex, unlock_cache_mutex, call_memoize_method,
+ scm_memoize_method, scm_wrap_object): Use packing and unpacking
+ when converting to and from SCM values.
+
+ (scm_enable_primitive_generic_x): Add rest argument checking.
+
+ (map, filter_cpl, maplist, scm_sys_initialize_object,
+ scm_sys_prep_layout_x, slot_definition_using_name,
+ scm_enable_primitive_generic_x, scm_compute_applicable_methods,
+ call_memoize_method, scm_make, scm_make_class): Prefer explicit
+ predicates over SCM_N?IMP tests.
+
+ (scm_sys_prep_layout_x): Fix typo in error message. Fix type
+ checking.
+
+ (burnin, go_to_hell): Use SCM_STRUCT_DATA instead of the SCM_INST
+ alias.
+
+2001-07-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * fports.c (fport_print): Don't use SCM_C[AD]R for non pairs.
+
+ * num2integral.i.c (INTEGRAL2NUM, INTEGRAL2BIG): Fix signedness.
+
+ * symbols-deprecated.c (scm_gentemp): Simplify vector test.
+
+ * vectors.c (scm_vector_p): Eliminate redundant IMP test.
+
+2001-07-12 Michael Livshin <mlivshin@bigfoot.com>
+
+ * strings.c (s_scm_string): fix arg position in assert.
+
+2001-07-11 Gary Houston <ghouston@arglist.com>
+
+ * strports.c (st_write): use memcpy, not strncpy. thanks to
+ Dale P. Smith.
+
+2001-07-09 Thien-Thi Nguyen <ttn@revel.glug.org>
+
+ * alist.c, alloca.c, arbiters.c, async.c, async.h, backtrace.c,
+ boolean.c, chars.c, continuations.c, coop-defs.h, coop-threads.c,
+ debug-malloc.h, debug.c, debug.h, dynl.c, dynwind.c, eq.c,
+ error.c, eval.c, evalext.c, feature.c, feature.h, filesys.c,
+ filesys.h, fluids.c, fluids.h, fports.c, fports.h, gc.c, gc.h,
+ gdbint.c, gsubr.c, guardians.c, hash.c, hashtab.c, hooks.c,
+ hooks.h, inet_aton.c, init.c, ioext.c, keywords.c, keywords.h,
+ lang.c, list.c, load.c, macros.c, mallocs.c, memmove.c, modules.c,
+ net_db.c, numbers.c, numbers.h, objects.c, objprop.c, options.c,
+ pairs.c, pairs.h, ports.c, ports.h, posix.c, print.c, print.h,
+ procprop.c, procs.c, procs.h, properties.c, putenv.c, ramap.c,
+ random.c, random.h, read.c, regex-posix.c, regex-posix.h, root.c,
+ root.h, scmsigs.c, script.c, simpos.c, smob.c, snarf.h, socket.c,
+ sort.c, srcprop.c, srcprop.h, stackchk.c, stacks.c, stacks.h,
+ stime.c, strerror.c, strings.c, strings.h, strop.c, strorder.c,
+ strports.c, struct.c, struct.h, symbols-deprecated.c, symbols.c,
+ symbols.h, tags.h, threads.c, threads.h, throw.c, unif.c, unif.h,
+ variable.c, variable.h, vectors.c, vectors.h, version.c, vports.c,
+ weaks.c, weaks.h: Remove "face-lift" comment.
+
+2001-07-08 Rob Browning <rlb@defaultvalue.org>
+
+ * .cvsignore: add stamp-h.in.
+
+2001-07-04 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
+
+ * hooks.c (scm_make_hook, scm_add_hook_x),
+ (scm_remove_hook_x, scm_reset_hook_x, scm_run_hook): Added return
+ value info to the docstrings.
+
+2001-07-03 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
+
+ Some more compatibility patches for Windows.
+
+ * posix.c (getlogin): getlogin() implementation for Windows.
+
+ * backtrace.c, ioext.c: Include <stdio.h>.
+
+ * unif.c, script.c, rw.c, error.c: Include <io.h>, if it does
+ exist.
+
+ * cpp_sig_symbols.in: Added SIGBREAK.
+
2001-07-01 Marius Vollmer <mvo@zagadka.ping.de>
* strports.c (scm_read_0str, scm_eval_0str): Call
last.
* gc.c (s_scm_map_free_list, scm_igc, scm_gc_sweep,
- init_heap_seg): Fixed signedness.
+ init_heap_seg): Fixed signedness.
(init_heap_seg): Replaced strange for-loop with a while loop.
* print.c (scm_simple_format): Support "~~" and "~%". Signal
error for unsupported format controls and for superflous
- arguments. Thanks to David Skarda!
+ arguments. Thanks to Daniel Skarda!
* print.h, print.c (scm_print_symbol_name): Factored out of
scm_iprin1.