+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
+ scm_c_read_string and scm_c_eval_string respectively, not
+ themselves. Thanks to Dale P. Smith!
+
+2001-06-30 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * unif.c (scm_array_set_x): The variable args does not
+ necessarily have to be a list. Further, got rid of a redundant
+ SCM_NIMP test.
+
+2001-06-30 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * list.c (SCM_I_CONS): Make sure the cell type is initialized
+ last.
+
+ * gc.c (s_scm_map_free_list, scm_igc, scm_gc_sweep,
+ init_heap_seg): Fixed signedness.
+
+ (init_heap_seg): Replaced strange for-loop with a while loop.
+
+ * weaks.h (WEAKSH, SCM_WEAKS_H): Rename <foo>H to SCM_<foo>_H.
+
+ (SCM_WVECTP): Prefer !SCM_<pred> over SCM_N<pred>.
+
+ The following patch adds conservative marking for the elements of
+ free or allocated cells.
+
+ * gc.c (allocated_mark, heap_segment): New static functions.
+
+ (which_seg): Deleted, since the functionality is now provided by
+ function heap_segment.
+
+ (map_free_list): Use heap_segment instead of which_seg.
+
+ (MARK): If cell debugging is disabled, mark free cells
+ conservatively.
+
+ (scm_mark_locations, scm_cellp): Extracted the search for the
+ heap segment of a SCM value into function heap_segment.
+
+ (scm_init_storage): Allocated cells must be marked
+ conservatively.
+
+ * gc.[ch] (scm_gc_mark_cell_conservatively): New function.
+
+ The following patch changes the representation of weak vectors to
+ double cells instead of using an extension of the vector's
+ allocated memory.
+
+ * gc.c (MARK): Use SCM_SET_WVECT_GC_CHAIN instead of assigning to
+ the result of SCM_WVECT_GC_CHAIN.
+
+ (scm_gc_sweep): Weak vectors don't have extra fields any more.
+
+ * weaks.c (allocate_weak_vector): New static function. It does
+ not patch any previously created vector object during the
+ construction of a weak vector, and thus doesn't need to switch
+ off interrupts during vector creation.
+
+ (scm_make_weak_vector, scm_make_weak_key_hash_table,
+ scm_make_weak_value_hash_table, scm_make_doubly_weak_hash_table):
+ Use allocate_weak_vector to provide the new weak vector object.
+
+ * weaks.h (SCM_WVECT_TYPE, SCM_SET_WVECT_TYPE,
+ SCM_SET_WVECT_GC_CHAIN): New macros. The weak vector subtype is
+ now stored in the double cell.
+
+ (SCM_IS_WHVEC, SCM_IS_WHVEC_V, SCM_IS_WHVEC_B, SCM_IS_WHVEC_ANY):
+ Use SCM_WVECT_TYPE.
+
+ (SCM_WVECT_GC_CHAIN): The weak objects are now chained together
+ using an entry of the double cell.
+
+2001-06-30 Thien-Thi Nguyen <ttn@revel.glug.org>
+
+ * stamp-h.in: bye bye
+
+2001-06-30 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * gh_eval.c (gh_eval_str): Use scm_c_eval_string instead of
+ scm_eval_0str.
+
+ * load.c, load.h (scm_c_primitive_load,
+ scm_c_primitive_load_path): New.
+
+ * strports.c, strports.h (scm_c_read_string): Renamed from
+ scm_read_0str. Also, added "const" qualifier to argument.
+ (scm_c_eval_string): Renamed from scm_eval_0str.
+ (scm_read_0str, scm_eval_0str): Deprecated.
+
+2001-06-28 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
+
+ * fluids.c (scm_c_with_fluid): Use scm_list_1() instead of
+ SCM_LIST1.
+
+2001-06-28 Keisuke Nishida <kxn30@po.cwru.edu>
+
+ * list.h (scm_list_1, scm_list_2, scm_list_3, scm_list_4, scm_list_5,
+ scm_list_n): New functions.
+ (SCM_LIST0, SCM_LIST1, SCM_LIST2, SCM_LIST3, SCM_LIST4, SCM_LIST5,
+ SCM_LIST6, SCM_LIST7, SCM_LIST8, SCM_LIST9, scm_listify): Deprecated.
+ (lots of files): Use the new functions.
+
+ * goops.c (CALL_GF1, CALL_GF2, CALL_GF3, CALL_GF4): Use scm_call_N.
+
+ * strings.c: #include "libguile/deprecation.h".
+
+2001-06-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
+
+ * read.c (scm_lreadr): When reading a hash token, check for a
+ user-defined hash procedure first, so that overriding the builtin
+ hash characters is possible (this was needed for implementing
+ SRFI-4's read synax `f32(...)').
+
+ * num2integral.i.c: Use scm_t_signed_bits instead of scm_t_bits,
+ because the latter is unsigned now and breaks comparisons like
+ (n < (scm_t_signed_bits)MIN_VALUE).
+
+2001-06-26 Neil Jerram <neil@ossau.uklinux.net>
+
+ * eval.h, eval.c (scm_call_4): New function.
+
+ * eval.c (SCM_APPLY, SCM_CEVAL, ENTER_APPLY): Call trap handlers
+ directly rather than dispatching to them via scm_ithrow and a lazy
+ catch.
+
+ * eval.c (scm_evaluator_trap_table), eval.h (SCM_ENTER_FRAME_HDLR,
+ SCM_APPLY_FRAME_HDLR, SCM_EXIT_FRAME_HDLR): Add three new options
+ for trap handler procedures.
+
+ * debug.h (SCM_RESET_DEBUG_MODE): Add checks for trap handler
+ procedures not being #f.
+
+2001-06-27 Michael Livshin <mlivshin@bigfoot.com>
+
+ * Makefile.am (c-tokenize.c): add rule to generate it.
+ (EXTRA_DIST): add c-tokenize.lex, so it gets distributed.
+
+ filter-doc-snarfage.c: remove.
+
+2001-06-26 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
+
+ * ports.c (scm_output_port_p): Use result of SCM_COERCE_OUTPORT.
+
+ The following set of changes makes compiling Guile under various
+ Windows compilers easier. Compilation under GNU systems should
+ not be affected at all.
+
+ Thanks to Stefan Jahn for all necessary information, patches and
+ testing.
+
+ * posix.c: Conditialize getpwent, getgrent, kill, getppid, getuid,
+ getpgrp, ttyname, primitive-fork and some header inclusion for
+ Windows.
+
+ * random.c: Define M_PI, if not predefined and use __int64 for
+ LONG64 under Windows.
+
+ * scmsigs.c: Emulate some functions (alarm, sleep, kill) under
+ Windows and conditionalize some signal names.
+
+ * socket.c (scm_getsockopt): Added missing comma.
+ Include socket library header under Windows.
+
+ * stime.c (CLKTCK): Add cast to int, to make it compile under
+ Windows.
+
+ * ports.c (truncate): New function, compiled only under Windows.
+
+ * net_db.c: Do not declare errno under Windows.
+
+ * iselect.h, inet_aton.c: Include socket library headers under
+ Windows.
+
+ * guile.c (inner_main): Under Windows, initialize socket library
+ and initialize gdb_interface data structures.
+
+ * gdb_interface.h: Under Windows, gdb_interface cannot be
+ initialized statically. Initialize at runtime instead.
+
+ * fports.c (write_all): ssize_t -> size_t.
+ (fport_print): Conditionalize call to ttyname().
+ (getflags): New function, compiled only under Windows.
+
+ * filesys.c: Conditionalize inclusion of <pwd.h>. Conditionalize
+ primitives chown, link, fcntl.
+ (scm_basename, scm_dirname): Under Windows, handle \ as well as /
+ as path seperator.
+
+ * backtrace.c: Include <io.h> under Windows.
+
+ * async.h (ASYNCH, SCM_ASYNC_H): Rename <foo>H to SCM_<foo>_H.
+
+ * _scm.h: Added preprocessor conditional for __MINGW32__ for errno
+ declaration.
+
+2001-06-27 Keisuke Nishida <kxn30@po.cwru.edu>
+
+ * eval.c (scm_call_0, scm_call_1, scm_call_2, scm_call_3,
+ scm_apply_0, scm_apply_1, scm_apply_2, scm_apply_3): New functions.
+ * eval.h (scm_call_0, scm_call_1, scm_call_2, scm_call_3,
+ scm_apply_0, scm_apply_1, scm_apply_2, scm_apply_3): Declared.
+ * async.c (scm_run_asyncs), coop-threads.c (scheme_body_bootstrip,
+ scheme_handler_bootstrip), debug.c (with_traps_inner), dynwind.c
+ (scm_dynamic_wind, scm_dowinds), environments.c
+ (import_environment_conflict), eval.c (scm_macroexp, scm_force,
+ scm_primitive_eval_x, scm_primitive_eval), fluids.c (apply_thunk),
+ goops.c (GETVAR, purgatory, make_class_from_template,
+ scm_ensure_accessor), hashtab.c (scm_ihashx, scm_sloppy_assx,
+ scm_delx_x, fold_proc), hooks.c (scm_c_run_hook), load.c
+ (scm_primitive_load), modules.c (scm_resolve_module,
+ scm_c_define_module, scm_c_use_module, scm_c_export,
+ module_variable, scm_eval_closure_lookup, scm_sym2var,
+ scm_make_module, scm_ensure_user_module, scm_load_scheme_module),
+ ports.c (scm_port_for_each), print.c (scm_printer_apply),
+ properties.c (scm_primitive_property_ref), ramap.c (ramap,
+ ramap_cxr, rafe, scm_array_index_map_x, read.c (scm_lreadr),
+ scmsigs.c (sys_deliver_signals), sort.c (applyless), strports.c
+ (scm_object_to_string, scm_call_with_output_string,
+ scm_call_with_input_string), throw.c (scm_body_thunk,
+ scm_handle_by_proc, hbpca_body), unif.c (scm_make_shared_array,
+ scm_make_shared_array), vports.c (sf_flush, sf_write,
+ sf_fill_input, sf_close): Use one of the above functions.
+ * goops.c, hashtab.c, scmsigs.c, sort.c: #include "libguile/root.h".
+
+2001-06-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * filesys.c (scm_close), ports.c (scm_close_port,
+ scm_port_closed_p), strop.c (scm_string_null_p): Use SCM_BOOL
+ instead of SCM_NEGATE_BOOL.
+
+ * filesys.c (scm_stat): Clean up type dispatch.
+
+ * filesys.c (scm_stat), ports.c (scm_input_port_p,
+ scm_output_port_p): Get rid of redundant IM type check.
+
+ * filesys.c (scm_readdir, scm_getcwd, scm_readlink), gh_data.c
+ (gh_str2scm), load.c (scm_primitive_load, scm_internal_parse_path,
+ scm_search_path), net_db.c (scm_gethost, scm_getnet, scm_getproto,
+ scm_return_entry), numbers.c (scm_number_to_string), objects.c
+ (scm_make_subclass_object), ports.c (scm_port_mode), read.c
+ (scm_lreadr), simpos.c (scm_getenv), socket.c (scm_inet_ntoa,
+ scm_addr_vector), stime.c (scm_strftime), strings.c
+ (scm_makfromstrs, scm_makfrom0str, scm_substring), strings.h
+ (SCM_STRING_COERCE_0TERMINATION_X), strop.c (string_copy,
+ scm_string_split), strports.c (scm_strport_to_string), symbols.c
+ (scm_symbol_to_string), vports.c (sf_write): Use scm_mem2string
+ instead of scm_makfromstr.
+
+ * net_db.c (scm_sethost, scm_setnet, scm_setproto, scm_setserv),
+ ports.c (scm_close_all_ports_except), read.c (scm_lreadr,
+ scm_read_hash_extend), stime.c (scm_strftime), strings.c
+ (scm_string_append, scm_string), strings.h (SCM_STRINGP,
+ SCM_STRING_COERCE_0TERMINATION_X, SCM_RWSTRINGP), strop.c
+ (string_capitalize_x): Prefer explicit type check over SCM_N?IMP,
+ !SCM_<pred> over SCM_N<pred>.
+
+ * strings.[ch] (scm_makfromstr): Deprecated.
+
+ (scm_mem2string): New function, replaces scm_makfromstr.
+
+ * strings.c (scm_substring), strop.c (string_copy,
+ scm_string_split), strports.c (scm_strport_to_string), symbols.c
+ (scm_symbol_to_string): Fix gc problem.
+
+ * strings.h (STRINGSH, SCM_STRINGS_H): Rename <foo>H to
+ SCM_<foo>_H.
+
+ * validate.h (SCM_VALIDATE_SUBSTRING_SPEC_COPY): Eliminate
+ warning about comparing signed and unsigned values. This fix is
+ not optimal, since it won't work reliably if sizeof (c_start) >
+ sizeof (size_t) or sizeof (c_end) > sizeof (size_t). A better
+ solution is to define this macro as an inline function, thus
+ allowing to specifiy the types of c_start and c_end.
+
+2001-06-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * debug.h (SCM_DEBUGOBJ_FRAME): Deliver result as a
+ scm_t_debug_frame*.
+
+ * debug.h (DEBUGH, SCM_DEBUG_H), stacks.h (STACKSH, SCM_STACKSH):
+ Rename <foo>H to SCM_<foo>_H.
+
+ * stacks.c (NEXT_FRAME, narrow_stack): Prefer explicit type check
+ over SCM_N?IMP, !SCM_<pred> over SCM_N<pred>.
+
+ (narrow_stack): Make i unsigned. Don't use side-effecting
+ operations in conditions.
+
+ (narrow_stack, scm_make_stack, scm_stack_id,
+ scm_last_stack_frame): Get rid of redundant SCM_N?IMP checks.
+
+ (scm_make_stack, scm_stack_id, scm_last_stack_frame): Clean up
+ type dispatch. No need to cast result of SCM_DEBUGOBJ_FRAME any
+ more.
+
+ (scm_stack_ref, scm_frame_previous, scm_frame_next): Fix
+ signedness.
+
+ (scm_last_stack_frame): Remove bogus `;´.
+
+ * stacks.h (SCM_FRAMEP): Fix type check.
+
+2001-06-25 Michael Livshin <mlivshin@bigfoot.com>
+
+ * Makefile.am (MAINTAINERCLEANFILES): be sure to remove
+ c-tokenize.c when doing maintainer-clean.
+
+ * snarf.h (SCM_SNARF_DOCS): change the "grammar" slightly.
+
+ * guile-snarf-docs.in, guile-snarf-docs-texi.in: rewrite &
+ simplify.
+
+ * eval.c: all hash signs are in column 0.
+
+ * Makefile.am (guile_filter_doc_snarfage): build using
+ c-tokenize.c, not filter-doc-snarfage.c.
+ rearrange snarfing dependencies a bit.
+
+ * c-tokenize.lex: new file.
+
+2001-06-25 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * srcprop.h, srcprop.c (scm_srcprops_to_plist): Renamed from
+ scm_t_srcpropso_plist. See the big type renaming.
+ * coop-defs.h (scm_mutex_trylock, scm_cond_timedwait): Likewise.
+ Thanks to Seth Alves!
+
+ * numbers.c (SIZE_MAX, PTRDIFF_MIN, PTRDIFF_MAX): Only define when
+ they aren't defined already.
+
+2001-06-23 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * backtrace.c (display_backtrace_body): Use SCM_VALIDATE_STACK
+ and SCM_VALIDATE_OPOUTPORT instead of SCM_ASSERT. Fix signedness
+ problem.
+
+ * backtrace.c (display_expression, scm_set_print_params_x,
+ display_application, display_frame, scm_backtrace), numbers.c
+ (scm_istring2number), objects.c (scm_class_of,
+ scm_mcache_lookup_cmethod, scm_mcache_compute_cmethod): Prefer
+ explicit type check over SCM_N?IMP, !SCM_<pred> over SCM_N<pred>.
+
+ * fluids.c (scm_fluid_ref, scm_fluid_set_x): Fluid numbers are
+ always positive.
+
+ * numbers.c (scm_i_mkbig): Remove unnecessary casts, remove
+ unnecessary SCM_DEFER_INTS, SCM_ALLOW_INTS.
+
+ * objects.c (scm_class_of): Type fix.
+
+ (scm_mcache_lookup_cmethod): Improved comment, simplified,
+ eliminated goto.
+
+ * pairs.h (scm_error_pair_access): The function can return if
+ called recursively.
+
+2001-06-20 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
+
+ * init.c (scm_init_guile_1): Removed initialization of tag.c.
+
+ * gdbint.c, init.c: Removed inclusion of tag.h.
+
+ * tag.h, tag.c: Removed files.
+
+ * Makefile.am: Removed tag.{h,c,doc,x} in various places.
+
+2001-06-20 Gary Houston <ghouston@arglist.com>
+
+ * deprecation.c, extensions.c, rw.c: include string.h.
+
+2001-06-19 Gary Houston <ghouston@arglist.com>
+
+ * filter-doc-snarfage.c (process): added ungetc in
+ MULTILINE_COOKIE case since otherwise it fails when there's no
+ space between the '(' and the quote of the following string
+ (gcc 3.0).
+
+2001-06-14 Marius Vollmer <mvo@zagadka.ping.de>
+
+ Throughout: replace "scm_*_t" with "scm_t_*", except "scm_lisp_t".
+
+2001-06-14 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * unif.h (SCM_ARRAY_NDIM): Shift then cast so that no sign
+ extension takes place.
+ * strings.h (SCM_STRING_LENGTH): Likewise.
+ (SCM_STRING_MAX_LENGTH): Use unsigned numbers.
+
+ * __scm.h (ptrdiff_t): Typedef to long when configure didn't find
+ it.
+
+ * tags.h: Include <stdint.h> when we have it.
+ (scm_bits_t): Changed to be a unsigned type. Use uintptr_t when
+ available. Else use "unsigned long".
+ (scm_signed_bits_t): New.
+
+ * numbers.h (SCM_SRS): Cast shiftee to scm_signed_bits_t.
+ (SCM_INUM): Cast result to scm_signed_bits_t.
+
+2001-06-13 Thien-Thi Nguyen <ttn@revel.glug.org>
+
+ * mkstemp.c: Update path to #include file scmconfig.h.
+ Thanks to Golubev I. N.
+
+2001-06-11 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * struct.h (SCM_STRUCT_VTABLE_FLAGS): New macro.
+
+ * goops.h (SCM_NUMBER_OF_SLOTS): Removed bogus `\´ at the end of
+ the macro definition.
+
+ (SCM_CLASSP, SCM_INSTANCEP, SCM_PUREGENERICP, SCM_ACCESSORP,
+ SCM_SIMPLEMETHODP, SCM_FASTMETHODP): Use SCM_STRUCT_VTABLE_FLAGS
+ instead of SCM_INST_TYPE.
+
+ (SCM_ACCESSORP, SCM_SIMPLEMETHODP, SCM_FASTMETHODP): Make sure
+ the object is a struct before accessing its struct flags.
+
+ (SCM_INST_TYPE, SCM_SIMPLEMETHODP, SCM_FASTMETHODP): Deprecated.
+
+2001-06-10 Gary Houston <ghouston@arglist.com>
+
+ * rdelim.c (scm_init_rdelim_builtins): don't try to activate the
+ (ice-9 rdelim) module in (guile) and (guile-user). it didn't
+ work reliably anymore. try it from boot-9.scm instead.
+
+2001-06-09 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * ports.c (scm_lfwrite): Maintain columnd and row count in port.
+ Thanks to Matthias Köppe!
+
+2001-06-08 Michael Livshin <mlivshin@bigfoot.com>
+
+ * snarf.h, filter-doc-snarfage.c: more changes to cope with
+ space-happy C preprocessors.
+
+ * filter-doc-snarfage.c, guile-snarf.in: try to cope with spaces
+ inside cookies. thanks to Matthias Köppe!
+
+2001-06-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * keywords.c (keyword_print): Don't use SCM_C[AD]R to access
+ keywords. Fix gc protection.
+
+ * objects.c (scm_mcache_lookup_cmethod): Don't use side effecting
+ operations in macro calls.
+
+ * pairs.c (scm_error_pair_access): Avoid recursion.
+
+ Thanks to Matthias Koeppe for reporting the bugs that correspond
+ to the following set of patches.
+
+ * unif.c (scm_bit_set_star_x, scm_bit_invert_x), vectors.h
+ (SCM_BITVEC_REF, SCM_BITVEC_SET, SCM_BITVEC_CLR): Obtain the
+ bitvector base address using SCM_BITVECTOR_BASE.
+
+ * unif.h (SCM_BITVECTOR_BASE): Return the base address as an
+ unsigned long*.
+
+2001-06-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * goops.c (SCM_CLASS_REDEF): Removed.
+
+ * vectors.h (VECTORSH, SCM_VECTORS_H): Renamed <foo>H to
+ SCM_<foo>_H.
+
+ Thanks to Matthias Koeppe for reporting the bugs that correspond
+ to the following set of patches.
+
+ * goops.c (scm_sys_prep_layout_x, scm_basic_basic_make_class,
+ create_basic_classes, scm_sys_fast_slot_set_x, set_slot_value,
+ scm_sys_allocate_instance, clear_method_cache,
+ scm_sys_invalidate_method_cache_x, scm_make,
+ create_standard_classes, scm_make_port_classes, scm_make_class,
+ scm_add_slot): Use SCM_SET_SLOT to set slot values.
+
+ (prep_hashsets): Use SCM_SET_HASHSET to set class hash values.
+
+ * goops.h (SCM_SET_SLOT, SCM_SET_HASHSET): New macros.
+
+ * ramap.c (BINARY_ELTS_CODE, BINARY_PAIR_ELTS_CODE,
+ UNARY_ELTS_CODE): Remove bogus break statement.
+
+ * vectors.h (SCM_BITVEC_REF, SCM_BITVEC_SET, SCM_BITVEC_CLR):
+ Don't access bit vectors elements as SCM objects.
+
+ * weaks.c (scm_make_weak_vector, scm_make_weak_key_hash_table,
+ scm_make_weak_value_hash_table, scm_make_doubly_weak_hash_table):
+ Don't assign to an unpacked value.
+
+2001-06-07 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * __scm.h (SCM_NORETURN): Moved here from error.h.
+
+ (SCM_UNUSED): New macro.
+
+ (SCM_DEBUG_PAIR_ACCESSES): New macro.
+
+ * backtrace.c (display_error_handler), continuations.c
+ (continuation_print), debug.c (debugobj_print), dynwind.c
+ (guards_print), environments.c (observer_print,
+ core_environments_finalize, leaf_environment_cell,
+ leaf_environment_print, eval_environment_print,
+ eval_environment_observer, import_environment_define,
+ import_environment_undefine, import_environment_print,
+ import_environment_observer, export_environment_define,
+ export_environment_undefine, export_environment_print,
+ export_environment_observer), eval.c (scm_m_quote, scm_m_begin,
+ scm_m_if, scm_m_set_x, scm_m_and, scm_m_or, scm_m_case,
+ scm_m_cond, scm_m_lambda, scm_m_letstar, scm_m_do, scm_m_delay,
+ scm_m_letrec1, scm_m_apply, scm_m_cont, scm_m_nil_cond,
+ scm_m_nil_ify, scm_m_t_ify, scm_m_0_cond, scm_m_0_ify,
+ scm_m_1_ify, scm_m_atfop, scm_m_at_call_with_values), evalext.c
+ (scm_m_generalized_set_x), fluids.c (fluid_print), fports.c
+ (fport_print), gc.c (gc_start_stats, scm_remember_upto_here_1,
+ scm_remember_upto_here_2, scm_remember_upto_here, mark_gc_async),
+ gh_init.c (gh_standard_handler), goops.c (get_slot_value,
+ set_slot_value, test_slot_existence, scm_change_object_class,
+ scm_m_atslot_ref, scm_m_atslot_set_x, make_struct_class,
+ default_setter), guardians.c (guardian_print, guardian_gc_init,
+ guardian_zombify, whine_about_self_centered_zombies), guile.c
+ (inner_main), init.c (stream_handler), keywords.c (keyword_print),
+ mallocs.c (malloc_print), numbers.c (scm_print_real,
+ scm_print_complex, scm_bigprint), ports.c (flush_port_default,
+ end_input_default, scm_port_print, fill_input_void_port,
+ write_void_port), root.c (root_print), smob.c (scm_mark0,
+ scm_free0, scm_smob_print, scm_smob_apply_1_error,
+ scm_smob_apply_2_error, scm_smob_apply_3_error, free_print),
+ stime.c (restorezone), strings.c (scm_makfromstr), struct.c
+ (scm_struct_free_0, scm_struct_free_standard,
+ scm_struct_free_entity, scm_struct_gc_init, scm_free_structs),
+ throw.c (jmpbuffer_print, lazy_catch_print, ss_handler,
+ scm_handle_by_throw, scm_ithrow), weaks.c
+ (scm_weak_vector_gc_init, scm_mark_weak_vector_spines,
+ scm_scan_weak_vectors), ramap.c (scm_array_fill_int), filesys.c
+ (scm_dir_print): Mark unused parameters with SCM_UNUSED.
+
+ * error.h (SCM_NORETURN): Moved to __scm.h.
+
+ * error.h (ERRORH, SCM_ERROR_H), pairs.h (PAIRSH, SCM_PAIRS_H):
+ Renamed <foo>H to SCM_<foo>_H.
+
+ * gc.c (debug_cells_gc_interval): New static variable.
+
+ (scm_assert_cell_valid): If selected by the user, perform
+ additional garbage collections.
+
+ (scm_set_debug_cell_accesses_x): Extended to let the user specify
+ if additional garbage collections are desired.
+
+ (mark_gc_async): If additional garbage collections are selected
+ by the user, don't call the after-gc-hook. Instead require the
+ user to run the hook manually.
+
+ * pairs.c (scm_error_pair_access): New function. Only compiled
+ if SCM_DEBUG_PAIR_ACCESSES is set to 1.
+
+ * pairs.h (SCM_VALIDATE_PAIR): New macro.
+
+ (SCM_CAR, SCM_CDR, SCM_SETCAR, SCM_SETCDR): If
+ SCM_DEBUG_PAIR_ACCESSES is set to 1, make sure that the argument
+ is a real pair object. (Glocs are also accepted, but that may
+ change.) If not, abort with an error message.
+
+2001-06-05 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * eval.c (SCM_VALIDATE_NON_EMPTY_COMBINATION): New macro.
+
+ (SCM_CEVAL, SCM_APPLY): Replace calls to SCM_EVALIM2 with calls
+ to SCM_VALIDATE_NON_EMPTY_COMBINATION.
+
+2001-06-05 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * extensions.c (scm_c_register_extension): Allow NULL as library
+ name.
+ (load_extension): Ignore NULL library names when comparing.
+
+ * hash.c (scm_hasher): Use SCM_UNPACK in the case labels so that
+ non-pointers are being compared. Thanks to Alexander Klimov!
+
+2001-06-04 Gary Houston <ghouston@arglist.com>
+
+ * rw.c (scm_write_string_partial): new procedure implementing
+ write-string/partial in (ice-9 rw).
+ * rw.h: declare scm_write_string_partial.
+
+2001-06-04 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * keywords.c (keyword_print): Substract 1 from length of symbol
+ name, accounting for the silly dash.
+
+ * dynl.c (scm_registered_modules, scm_clear_registered_modules):
+ Do not emit deprecation warning.
+
+ Added exception notice to all files.
+
+ * dynl.c: Include "deprecation.h".
+
+2001-06-03 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * dynl.c (scm_register_module_xxx, scm_registered_modules,
+ scm_clear_registered_modules): Deprecated.
+
+2001-06-02 Rob Browning <rlb@cs.utexas.edu>
+
+ * .cvsignore: add guile_filter_doc_snarfage guile-snarf-docs
+ guile-snarf-docs-texi.
+
+ * fports.c: HAVE_ST_BLKSIZE changed to
+ HAVE_STRUCT_STAT_ST_BLKSIZE.
+ (scm_fport_buffer_add): HAVE_ST_BLKSIZE changed to
+ HAVE_STRUCT_STAT_ST_BLKSIZE.
+
+ * filesys.c (scm_stat2scm): HAVE_ST_RDEV changed to
+ HAVE_STRUCT_STAT_ST_RDEV.
+ (scm_stat2scm): HAVE_ST_BLKSIZE changed to
+ HAVE_STRUCT_STAT_ST_BLKSIZE.
+ (scm_stat2scm): HAVE_ST_BLOCKS changed to
+ HAVE_STRUCT_STAT_ST_BLOCKS.
+
+2001-06-02 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * strports.c (scm_eval_string): Use scm_primitive_eval_x instead
+ of scm_eval_x to allow module changes between the forms in the
+ string. Set/restore module using scm_c_call_with_current_module.
+
+ * mkstemp.c: New file, slightly modified from libiberties
+ mkstemps.c.
+
+2001-05-31 Michael Livshin <mlivshin@bigfoot.com>
+
+ * guile-snarf-docs.in, guile-snarf-docs-texi.in,
+ filter-doc-snarfage.c: new files.
+
+ * Makefile.am: add stuff to [build,] use and distribute
+ guile-snarf-docs, guile-snarf-docs-texi, guile_filter_doc_snarfage.
+
+ * guile-snarf.in: grok the new snarf output.
+
+ * snarf.h: make the output both texttools- and `read'-friendly.
+
+ * guile-doc-snarf.in: reimplement in terms of guile-snarf and
+ guile-snarf-docs. (should also deprecate, I guess. maybe not).
+
+2001-05-31 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * print.c (scm_simple_format): Support "~~" and "~%". Signal
+ error for unsupported format controls and for superflous
+ arguments. Thanks to Daniel Skarda!
+
+ * print.h, print.c (scm_print_symbol_name): Factored out of
+ scm_iprin1.
+ (scm_iprin1): Call it.
+
+ * keywords.c (keyword_print): Use scm_print_symbol_name so that
+ weird names are printed correctly.
+
+ * print.c (scm_print_symbol_name): Symbols whose name starts with
+ `#' or `:' or ends with `:' are considered weird.
+
+2001-05-30 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
+
+ * numbers.c (scm_difference, scm_divide): Clarified comments for -
+ and /.
+
+2001-05-29 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
+
+ * debug.h: Removed prototype for scm_eval_string.
+
+2001-05-28 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
+
+ * symbols.c (scm_gensym): Fix buffer overrun (try `(gensym
+ (make-string 2000 #\!))' in an older version).
+
+ Change strncpy to memcpy to allow embedded NUL characters in
+ symbol prefix.
+
2001-05-28 Michael Livshin <mlivshin@bigfoot.com>
* hooks.c (scm_create_hook): deprecated.
corresponds to the former situation that SCM_VOIDP_TEST was
defined.
- (SCM): Now defined as typedef struct scm_unused_struct * SCM;
- If this appears to be not ANSI compliant, we will change it to
+ (SCM): Now defined as typedef struct scm_unused_struct * SCM;
+ If this appears to be not ANSI compliant, we will change it to
typedef struct scm_unused_struct { } * SCM;
Thanks to Han-Wen Nienhuys for the suggestion.
`duplicate_string'. Do not use an indirect cell, store symbol
directly in collision list of hash table.
(duplicate_string): Removed.
-
+
* init.c (scm_init_guile_1): Call scm_init_extensions.
* Makefile.am: Add "extensions.c" and related files in all the
* eval.c, gc.c, gh_funcs.c, goops.c, macros.c, pairs.c, ramap.c,
rdelim.c, rw.c, scmsigs.c, snarf.h, values.c: Changed according to
the comments above.
-
+
2001-05-19 Neil Jerram <neil@ossau.uklinux.net>
* throw.c (scm_lazy_catch): Slight docstring clarification.
scm_c_use_module, scm_c_export): New.
(the_root_module): New static variant of scm_the_root_module. Use
it everywhere instead of scm_the_root_module.
-
+
* fluids.h, fluids.c (scm_internal_with_fluids): Deprecated.
(scm_c_with_fluids): Renamed from scm_internal_with_fluids.
(scm_c_with_fluid): New.
(scm_with_fluids): Use scm_c_with_fluids instead of
scm_internal_with_fluids.
-
+
* goops.h, goops.c (scm_init_goops_builtins): Renamed from
`scm_init_goops'. Do not explicitly create/switch modules.
Return SCM_UNSPECIFIED.
(scm_init_goops): Only register `%init-goops-builtins' procedure.
(scm_load_goops): Use scm_c_resolve_module instead of
scm_resolve_module.
-
+
* init.c (scm_init_guile_1): Call `scm_init_goops' instead of
`scm_init_oop_goops_goopscore_module'. Call `scm_init_rdelim' and
`scm_init_rw' prior to loading the startup files.
Return SCM_UNSPECIFIED.
(scm_init_rdelim): Only register `%init-rdelim-builtins'
procedure.
-
+
* rw.c (scm_init_rw_builtins): Renamed from scm_init_rw. Do not
explicitly create/switch modules. Return SCM_UNSPECIFIED.
(scm_init_rw): Only register `%init-rw-builtins' procedure.
2001-05-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
* eval.c (scm_init_eval): Initialize scm_undefineds and
- scm_listofnull.
+ scm_listofnull.
* gc.c (scm_debug_newcell, scm_debug_newcell2): Fixed to behave
like the SCM_NEWCELL macro counterparts.