*** empty log message ***
[bpt/guile.git] / libguile / ChangeLog
index 9a83537..8f75412 100644 (file)
@@ -1,3 +1,400 @@
+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.