*** empty log message ***
[bpt/guile.git] / libguile / ChangeLog
index de1b7bf..1236314 100644 (file)
@@ -1,3 +1,703 @@
+2000-03-14  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
+
+       * objprop.c (s_scm_set_object_property_x): Use scm_assq instead of
+       scm_assoc.  (Thanks to Dirk Herrmann.)
+
+2000-03-14  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * eval.c, lang.c, lang.h (scm_lisp_nil, scm_lisp_t): Renamed from
+       scm_nil, scm_t.  (Thanks to Dirk Herrmann.)
+
+2000-03-14  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
+
+       * init.c (scm_boot_guile_1): Use same initial segment size for
+       1-word and 2-word segments.  Having the smaller size causes Guile
+       to GC too often.  Obviously something needs to be done to allow
+       for a smaller 2-word segment without this to happen.  (The amount
+       of heap for each type should be automatically adapted to the
+       application somehow.)
+
+       [Almost all of these changes should be documented in the NEWS
+       file.]
+
+       * gc.h (scm_freelist_t): New type.
+
+       * pairs.h (SCM_NEWCELL, SCM_NEWCELL2): Use new style freelists.
+
+       * gc.c (SCM_INIT_HEAP_SIZE): Changed from 32768 --> 40000 so that
+       all of Guile basics fits into one segment and there suitable room
+       for work.
+       (SCM_EXPHEAP): Now takes an argument.  Grow by a factor of 1.5
+       instead of 2.
+       (scm_freelist, scm_freelist2): Now of type scm_freelist_t.
+       Freelists now contains information about object span, cells
+       collected and amount of cells in heap segments belonging to the
+       list.
+       (scm_heap_size, scm_gc_cells_collected): Removed.
+
+       * init.c (scm_boot_guile_1): Make 2-word segment 8K (512 cells).
+
+       * Makefile.am (libguile_la_LDFLAGS): Bumped library version
+       number.
+
+       * __scm.h eq.c, eval.c, gc.c, gc.h, gh_data, hash.c, numbers.c,
+       numbers.h, objects.c, ramap.c, random.c, unif.c, unif.h: Extensive
+       rewrite of handling of real and complex numbers.
+       (SCM_FLOATS, SCM_SINGLES): These #ifdef conditionals have been
+       removed along with the support for floats.  (Float vectors are
+       still supported.)
+
+       * tags.h (scm_tcs_bignums): Removed.
+       (scm_tc16_bigpos, scm_tc16_bigneg): Replaced by scm_tc16_big.
+       Use SCM_BIGSIGN(x) to test for sign!
+       (scm_tc16_big): The new bignum type.
+       (SCM_REAL_PART, SCM_IMAG_PART): Removed.
+
+       * numbers.h (SCM_BIGSIGN): Sign moved to bit 16.
+       (scm_makdbl): Deprecated.
+       (SCM_NEWREAL, SCM_NEWCOMPLEX): New macros.
+       (SCM_SINGP): Deprecated.
+       (SCM_FLO): Removed.
+       (SCM_INEXP, SCM_CPLXP): Deprecated.
+       (SCM_INEXACTP, SCM_COMPLEXP): New macros.
+       (SCM_COMPLEX_REAL, SCM_COMPLEX_IMAG): Renamed from
+       SCM_REAL, SCM_IMAG (and now only valid for complex numbers).
+       (SCM_REAL, SCM_IMAG): New, *deprecated*, selectors which work both
+       for doubles and complex numbers.
+       (SCM_REAL_VALUE): New selector for doubles.
+       (scm_double_t, scm_complex_t): New types.
+       (scm_dbl): Removed.
+
+       * numbers.c (scm_floprint, scm_floequal): Removed.
+       (scm_print_real, scm_print_complex, scm_real_equalp,
+       scm_complex_equalp): New functions.
+
+       * unif.c (scm_makflo): Removed.
+
+       * smob.h (SCM_SMOB_PREDICATE): New macro.
+       (SCM_NEWSMOB2, SCM_RETURN_NEWSMOB2, SCM_NEWSMOB3,
+       SCM_RETURN_NEWSMOB3): New macros.
+
+1999-11-21  Michael Livshin  <mlivshin@bigfoot.com>
+
+       The following changes implement primitive support for double cells
+       (i.e. four-word cells) and change the representation of some
+       things to multi-cells instead of cons+malloc.  (Applied and
+       modified by mdj.)
+
+       * pairs.h (SCM_NEWCELL2): double-cell variants of SCM_NEWCELL.
+       (SCM_CELL_WORD, SCM_CELL_WORDLOC, SCM_SET_CELL_WORD): primitive
+       multi-cell access macros (used by the ones below).
+       (SCM_CELL_WORD[0-3], SCM_SET_CELL_WORD[0-3]): multi-cell access
+       macros.
+
+       * gc.c (scm_freelist2): multi-cell freelists.
+       (inner_map_free_list): map_free_list, parameterized on ncells.
+       "nn cells in segment mm" was misleading for ncells > 1; changed to
+       "objects".  still print cells too, though.
+       (scm_map_free_list): rewritten using inner_map_free_list.
+       (scm_check_freelist): get freelist as parameter, since now we have
+       more than one.
+       (scm_debug_newcell2): multi-cell variants of
+       scm_debug_newcell.
+       (scm_gc_for_newcell): take ncells and freelist pointer as
+       parameters.
+       (scm_gc_mark): add case for tc7_pws (procedures with setters are
+       now double cells).
+       (scm_gc_sweep): don't free the float data, since it's not malloced
+       anymore.
+       (init_heap_seg): didn't understand what n_new_objects stood for,
+       so changed to n_new_cells.
+       (make_initial_segment): new function, makes an initial segment
+       according to given ncells.
+       (scm_init_storage): call make_initial_segment, for ncells={1,2,3}.
+
+       * numbers.c (scm_makdbl): no malloc'ing needed, so the
+       {DEFER,ALLOW}_INTS thing removed.
+
+       * numbers.h (struct scm_dbl): changed to represent a double cell,
+       with the number in the second half.
+
+       * dynwind.c: changed the wind-guards representation to double
+       cell.
+
+       * procs.c, procs.h: changed the procedure-with-setter representation
+       to double cell.
+
+       * async.c, async.h: made async representation a double cell.
+
+       * dynl.c: made dynamic_obj representation a double cell.
+       
+2000-03-13  Gary Houston  <ghouston@arglist.com>
+
+       * ports.c (flush_void_port): renamed to flush_port_default.
+       (end_input_void_port): renamed to end_input_default.
+
+       * init.c (scm_standard_stream_to_port): create a void port instead
+       of opening /dev/null if the standard file descriptors are bad.
+       advantages: no portability problems, doesn't waste a file descriptor,
+       simplifies the code (thanks to Marius for the idea).
+
+       * vports.c (s_scm_make_soft_port): call scm_port_non_buffer.
+
+       * void ports: make reading from a void port give EOF instead of
+       segv:
+       * ports.c (s_scm_sys_make_void_port): modified docstring.
+       (fill_input_void_port): new proc.
+       (scm_init_ports): set up fill_input_void_port.
+       * ports.c (scm_port_non_buffer): new proc.
+       (scm_void_port): call scm_port_non_buffer.
+
+       * fports.c (scm_setvbuf): docstring: remove the fcntl documentation
+       which was incorrectly appended.
+
+2000-03-13  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * guile-doc-snarf.in: Don't use absolute path for `sed'.  (Note
+       that we can't use autoconf for this.  Autoconf itself relies on
+       the existence of `sed' somewhere on your path.)  (Thanks to Dirk
+       Herrman.)
+       
+2000-03-13  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
+
+       * Makefile.am (libguile_la_SOURCES): Moved iselect.c here from
+       EXTRA_libguile_la_SOURCES.
+
+       * iselect.h: Always declare scm_internal_select.
+
+       * iselect.c (scm_internal_select): Added SCM_ASYNC_TICK at the
+       end.  Also let scm_internal_select be a real function also when
+       not using threads.
+
+       * __scm.h (SCM_TICK): Oops! Forgot to put SCM_ASYNC_TICK here...
+
+2000-03-13  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * __scm.h (SCM_ALLOW_INTS, SCM_REALLOW_INTS): Removed call to
+       SCM_ASYNC_TICK.  (This is a preparation for POSIX threads support,
+       and kind of an experiment: Will this cause problems?)
+
+Sun Mar 12 13:26:30 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * Makefile.am: Added *.doc to DISTCLEANFILES.
+
+2000-03-12  Gary Houston  <ghouston@arglist.com>
+
+       * fports.c (scm_fdes_to_port): call fcntl F_GETFL to test that
+       the fdes is valid before doing anything else.  check that
+       the file descriptor supports the modes required.
+       (scm_fport_buffer_add): don't throw an error if fstat doesn't
+       work: just use the default buffer size.
+
+       * throw.c: change an outdated comment about scm_internal_catch
+       BODY: it doesn't take a jumpbuf arg.
+
+       * init.c (scm_standard_stream_to_port): install a handler in case
+       scm_fdes_to_port throws an error.  don't check here whether the
+       file descriptor is valid, since scm_fdes_to_port will do that.
+       set the revealed count depending on whether the port got the
+       standard file descriptor.
+       (stream_body_data): new type.
+       (stream_body, stream_handler): new procs.
+
+2000-03-12  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
+
+       * stacks.c, stacks.h, struct.c, tags.h, unif.c (scm_bits_t):
+       Renamed from SCMWORD.
+
+       * tags.h (SCM_NCELLP): Removed (SCMWORD).
+
+       * arbiters.c (SCM_ARB_LOCKED): Use SCM_UNPACK_CAR.
+
+       * async.c, boolean.h, debug.c, dynl.c, dynwind.c, eval.c, eval.h,
+         feature.h, filesys.h, fluids.h, fports.c, fports.h, gc.c, gc.h,
+         hash.c, keywords.h, macros.c, numbers.c, numbers.h, objects.c,
+         objects.h, options.c, pairs.h, ports.c, ports.h, print.c,
+         procs.h, ramap.c, read.c, smob.c, smob.h, srcprop.h, stacks.c,
+         stacks.h, strports.c, struct.c, struct.h, tag.c, tags.h,
+         throw.c, unif.c, unif.h, variable.h, vectors.h, weaks.c,
+         weaks.h (SCM_PACK, SCM_UNPACK, SCM_UNPACK_CAR): Renamed from
+         SCM_ASSCM, SCM_ASWORD, SCM_CARW).
+
+       * numbers.h (SCM_SRS, SCM_INUM): Corrected SCM_ASSCM/ASWORD fixes.
+
+       * alist.c, eval.c, net_db.c, posix.c, print.c, snarf.h, struct.c,
+       tags.h: Fixed copyright notices.
+
+       * struct.c, coop-threads.c: SCM_ASSCM/ASWORD fixes.
+
+2000-03-12  Marius Vollmer  <mvo@zagadka.ping.de>
+       
+       * init.c (scm_standard_stream_to_port): Check whether the file
+       descriptor is valid and substitute "/dev/null" when not.
+       
+2000-03-12  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
+
+       * coop-defs.h (struct timespec): Conditionally defined.
+
+       * coop.c (coop_condition_variable_timed_wait_mutex): Use ETIMEDOUT
+       instead of ETIME.
+
+       * readline.c (match_paren): Bugfix: First arg to select is not
+       number of descriptors but the number of the highest descriptor +
+       1.
+
+       This is a preliminary attempt at a cleanup of the threads support
+       code.  It moves things to better places, makes arguments more
+       consistent with the POSIX API (which is used in GNOME's glib), and
+       adds new functionality.
+       
+       * readline.c (scm_init_readline): Added new arg to scm_init_mutex.
+
+       * coop-defs.h (scm_mutex_trylock): New macro: alias for
+       coop_mutex_trylock.
+       (scm_cond_init): Changed definition to
+       coop_new_condition_variable_init.
+       
+       * coop.c: #include <errno.h>
+       (coop_timeout_qinsert): Moved here from iselect.c
+       (coop_new_mutex_init, coop_new_condition_variable_init): New
+       functions.  The strange names are temporary.  Use scm_mutex_init
+       and scm_cond_init instead.
+       (coop_mutex_trylock): New function.  Uses errno.h:EBUSY.  errno.h
+       is ANSI C, but should we check for individual error codes in
+       configure.in?
+       (coop_condition_variable_timed_wait_mutex): New function.
+       (coop_key_create, coop_setspecific, coop_getspecific,
+       coop_key_delete): New functions.
+
+       * iselect.c (coop_timout_qinsert): Moved to coop.c
+
+2000-03-11  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
+
+       * pairs.h (SCM_SETAND_CAR, SCM_SETAND_CDR, SCM_SETOR_CAR,
+       SCM_SETOR_CDR): Corrected SCM_ASSCM/WORD fixes.
+
+       * tags.h (SCM_VOIDP_TEST): Renamed from VOIDP_TEST.
+       Layout cleanups.
+
+       * objects.h (SCM_CLASS_FLAGS, SCM_OBJ_CLASS_FLAGS,
+       SCM_SET_CLASS_INSTANCE_SIZE), struct.h (SCM_STRUCT_VTABLE_DATA),
+       proc.h (SCM_CLOSCAR): SCM_ASSCM/WORD fixes.
+
+       * eval.c (scm_lookupcar1): Inserted SCM_ASWORD in expressions
+       dealing with ilocs.
+
+2000-03-11  Dale P. Smith  <dpsm@en.com>, applied by Greg J. Badros, <gjb@cs.washington.edu>
+
+        * numbers.c (scm_copy_big_dec, scm_copy_smaller, scm_big_ior,
+        scm_big_xor, scm_big_and, scm_big_test): Added new lowlevel bignum
+        logical functions from SCM.
+
+        (logand, logior, logxor, logtest, logbit?): Extended scheme
+        logical functions to use bignums from SCM.
+
+        (lognot): Removed call to `SCM_VALIDATE_INUM' that prevented
+        lognot from using bignums.
+
+Thu Mar  9 11:33:25 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * vectors.h (SCM_VELTS_AS_STACKITEMS): Added this macro to help in 
+       eliminating some warnings.
+
+       * unif.c, strports.c, print.c, options.c: Fix some warnings on
+       mis-use of SCM/long
+
+       * gc.c, gc.h: Added scm_return_first_int(), and added comment re:
+       what the scm_return_first* functions do.
+
+2000-03-09  Han-Wen Nienhuys  <hanwen@cs.uu.nl>, applied by Greg J. Badros, <gjb@cs.washington.edu>
+
+       * libguile/*.[ch]: make a distinction between SCM as a generic
+       name for a Scheme object (now a void*), and SCM as 32 bit word for
+       storing tags and immediates (now a long int).  Introduced
+       SCM_ASWORD and SCM_ASSCM for conversion. Fixed various dubious
+       code in the process: arbiter.c (use macros), unif.c (scm_array_p),
+       
+Wed Mar  8 10:15:59 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * numbers.c:  Use SCM_VALIDATE_LONG_COPY, and longs, not ints, in
+       various logXXX primitives.  Thanks Eric Moore!
+
+Tue Mar  7 08:05:22 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * run-test, remaining-docs-needed:  Added these scripts.  The
+       second one is only temporary until the docstring additions are
+       complete.   run-test may best live on, but is here mostly for
+       convenience and awareness for now.
+
+       * hash.c: Docs, minor cleanup patch from Dirk Herrman.
+
+Thu Mar  2 16:06:58 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * error.h, error.c: Added `scm_wrong_type_arg_msg' to support
+       displaying the expected type.  Use SCM_LISTn in a couple places
+       instead of scm_cons-ing by hand.
+
+       * __scm.h: Added SCM_ASSERT_TYPE macro.
+
+       * validate.h, scm_validate.h: Added the former, as a renamed
+       version of the latter with SCM_ASSERT_TYPE used in
+       SCM_MAKE_VALIDATE (instead of just SCM_ASSERT)
+
+       * Makefile.am: Rename scm_validate.h to validate.h.
+
+       * *.c, *.h: Include validate.h, not scm_validate.h (old name's
+       prefix was superfluous).
+
+Thu Mar  2 15:33:12 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * hashtab.c: Improved documentation for lots of functions.  Added
+       handwritten docs for `hash-fold'.
+
+Thu Mar  2 15:13:25 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * list.c: Added hand-written docs for `del{q,v,ete}1!'.
+
+Thu Mar  2 12:38:30 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * list.c: Moved append docs to append! Thanks Dirk Hermann.  Also, 
+       added append docs from R4RS.
+
+       * strings.c: Docstring typo fix, + eliminate unneeded IMP tests.
+       Thanks Dirk Hermann!
+
+       * chars.h: Provide SCM_CHARP, SCM_CHAR, SCM_MAKE_CHAR and
+       deprecate SCM_ICHRP, SCM_ICHR, SCM_MAKICHR.  Thanks Dirk Hermann!
+       * *.h, *.c: Use SCM_CHARP, SCM_CHAR, SCM_MAKE_CHAR throughout.
+       Drop use of SCM_P for function prototypes... assume an ANSI C
+       compiler.  Thanks Dirk Hermann!
+
+Sat Feb 19 12:20:12 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * ports.c: Made `set-port-column!' and `set-port-line!' each
+       return SCM_UNSPECIFIED instead of a (not-scheme-object) integer
+       that caused a seg fault.  Also fixed `set-port-column!'s
+       docstring.  Thanks Han-Wen Nienhuys for finding the bug!
+
+Sun Feb 13 19:11:42 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * arbiters.c, eq.c, gc.c, guardians.c, list.c, ports.c, print.c,
+       regex-posix.c, scmsigs.c, stime.c, strings.c, variable.c, stime.c, 
+       strings.c, variable.c:  Added lots of documentation, cleaned up
+       some existing documentation.  Occasionally changed formal params
+       to match docs.  Also folded an #ifdef into the inners of a
+       primitive instead of having two copies of the primitive
+       (`get-internal-real-time', from stime.c)
+
+Sun Feb 13 18:12:19 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * ports.c: Added docs for primitives missing them.  Written by
+       hand.
+
+Sun Feb 13 09:40:36 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * guile-doc-snarf.in: Use ${AWK} -f guile-func-name-check, not
+       just execing guile-func-name-check.  Thanks Michael Livshin!
+
+Thu Feb 10 11:43:23 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * guile-snarf.awk.in: Tweak to work with Sun/HP awk, removed some
+       dead code.  Patch from Michael Livshin.
+
+       * guile-doc-snarf.in: Tweak to work with Sun/HP sh.  Patch from
+       Michael Livshin.
+
+2000-02-09  Gary Houston  <ghouston@arglist.com>
+
+       * init.c (scm_init_standard_ports): when stdout is a tty, make the
+       current-output-port unbuffered by default.  this is less confusing
+       for interactive use.  it was line-buffered because of a
+       performance problem with unbuffered ports, but I think it will be
+       OK now.
+
+2000-02-08  Gary Houston  <ghouston@arglist.com>
+
+       * __scm.h: don't define long_long or ulong_long if HAVE_LONG_LONGS
+       is not defined.
+
+       * stime.c (scm_localtime, scm_mktime): if neither HAVE_TM_ZONE nor
+       HAVE_TZNAME are defined, use an empty string instead of giving two
+       spurious compile-time errors.
+
+Tue Feb  8 13:57:46 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * ports.c: Doc patches from Richard Kim.  Pasted from MIT Scheme.
+       Thanks Richard!
+
+Mon Feb  7 09:07:31 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * macros.c: Doc patches from Richard Kim.  Pasted from scm.texi.
+
+Sun Feb  6 20:26:21 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * pairs.c: Doc patches from Richard Kim.  Pasted from MIT Scheme
+       (which is GNU GPL'd).
+
+2000-01-31  Gary Houston  <ghouston@arglist.com>
+
+       * strings.h: don't use SCM_P.  don't include <string.h>.
+       * error.c, gh_data.c, ports.c, script.c, strop.c: include <string.h>.
+       
+       * strings.c (scm_string_ref): make the 2nd argument compulsory.
+       previously it defaulted to zero for no good reason that I can see.
+       use a local variable for SCM_INUM (k).  replace
+       SCM_VALIDATE_INUM_DEF with SCM_VALIDATE_INUM_COPY.
+
+       (scm_makfromstr): cosmetic changes.
+
+       (scm_string): Accept only chars in the list, not strings, for
+       conformance to R5RS (particularly for list->string, which is
+       supposed to be the inverse of string->list.)  remove
+       SCM_DEFER_INTS/SCM_ALLOW_INTS, which is unnecessary since
+       scm_makstr handles the cell allocation.  when reporting wrong-type
+       arg, don't report the position as 1.
+
+       * posix.c (scm_init_posix): intern PIPE_BUF if it's defined.
+
+2000-01-29  Gary Houston  <ghouston@arglist.com>
+
+       * posix.c (scm_pipe): rewrote the docstring.
+
+       * filesys.c (scm_select, retrieve_select_type, get_element,
+       fill_select_type, set_element): modified so that Scheme
+       "select" tests port buffers for the ability to provide input
+       or accept output.  Previously only the underlying file descriptors
+       were checked.  Rewrote the docstring.
+Thu Jan 27 10:14:25 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * vectors.c, symbols.c, strorder.c: Documentation cut and pasted
+       from Gregg Reynolds.  Thanks Gregg!
+
+Thu Jan 27 09:59:38 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * strop.c (scm_i_index): Obfuscated commented-out SCM_DEFINE by
+       adding "x" prefix to the line so that guile-func-name-check
+       doesn't complain unnecessarily.
+
+Wed Jan 26 17:33:52 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * throw.c: Factor out an #ifdef/#else/#endif choice more finely
+       for maintainability.
+
+       * strop.c: Documentation added by Gregg A. Reynolds.   Pasted in
+       from qdocs, RnRs.
+
+Wed Jan 26 10:02:11 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * tag.c:  Added doc for `tag', but mark as deprecated since Mikael 
+       suggests removing tag.c altogether (and using a new `class-of'
+       instead).
+
+       * strings.c:  Added documentation from Gregg A. Reynolds.  Edited
+       a bit by me to use FOO instead of @var{foo} and to have the
+       summary come before preconditions on input.  Also dropped trailing 
+       (rnrs) note.
+
+       * gsubr.c: Do not use SCM_DEFINE for `gsubr-apply'. Register the
+       function with scm_make_subr_opt w/ last arg of 0 so it is not
+       visible at the Scheme level. Mikael says that this is the right
+       thing because the first arg to the proc is the guts of a compiled
+       closure and shouldn't be exposed to the Scheme level.
+
+Tue Jan 25 17:15:47 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * sort.c: typo in comment fixed.
+
+       * keywords.c: Added documentation.
+
+       * guardians.c: Added documentation (could be better).
+
+       * gc.c: Added docs for gc-set-debug-check-freelist.
+
+       * eq.c: Added docs for eq?, eqv? equal? abridged from R4RS.
+
+       * boolean.c: Added docs for `not', `boolean?' (by hand).
+       
+Tue Jan 25 13:28:56 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * random.c: Added documentation, from SLIB page:
+       http://angela.ctrl-c.liu.se/~calle/scheme/slib_toc.html
+
+Mon Jan 24 17:50:20 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * variable.c, version.c:  Added documentation, written by hand
+       since I could not find anything already written that was
+       relevant.
+
+2000-01-23  Gary Houston  <ghouston@arglist.com>
+
+       * filesys.c (scm_chown): omit port/fdes support if HAVE_FCHOWN is 
+       not defined (thanks to Richard Y. Kim).
+
+Thu Jan 20 13:00:38 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * Makefile.in: Removed, this is auto-generated.
+
+Thu Jan 20 11:33:47 2000  Dirk Hermann <dirk@ida.ing.tu-bs.de> --applied 01/20/00 gjb
+
+       * list.c: Put some variable initialization code at the point of
+       declaration; Added a comment for list*; Formatting changes.
+
+       * load.c: use SCM_NNULLP to make sure the end of a list is not
+       reached yet.
+
+2000-01-18  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * backtrace.c (scm_display_error_message): Bugfix: Don't use
+       result of scm_list_p as C boolean.
+       (scm_display_error_message, scm_set_print_params_x): Use new
+       validation macros. (Thanks to Dirk Herrmann.)
+
+       * net_db.c (scm_resolv_error): Cast result from hstrerror.
+
+       * strports.c (st_end_input): Inserted parenthesis to get operator
+       grouping correct.
+
+       * list.h (scm_init_list): Removed SCM_P around prototypes.
+
+       * fports.c, list.c, numbers.c, ports.c, stime.c, symbols.c,
+       filesys.c, posix.c: Converted docstrings to ANSI C format and
+       escaped " occurring inside string literals.
+
+Tue Jan 18 13:21:08 2000  Mikael Djurfeldt  <mdj@r11n07-s.pdc.kth.se>
+
+       * posix.c (scm_mknod): Escape " occuring inside docstring.
+
+2000-01-18  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * alist.c, chars.c, debug.c, dynl.c, dynwind.c, error.c, eval.c,
+          evalext.c, filesys.c, gc.c, hash.c, hashtab.c, ioext.c,
+          keywords.c, list.c, load.c, macros.c, net_db.c, numbers.c,
+          objprop.c, ports.c, posix.c, print.c, procprop.c, procs.c,
+          ramap.c, regex-posix.c, root.c, scmsigs.c, simpos.c, socket.c,
+          stacks.c, stime.c, strings.c, strop.c, strports.c, struct.c,
+          symbols.c, throw.c, unif.c, vectors.c, version.c, vports.c,
+          weaks.c: Converted docstrings to ANSI C format.
+       
+       * filesys.c (scm_chmod), simpos.c (scm_system), version
+       (scm_version), vports (scm_make_soft_port): Escape " occuring
+       inside docstring.
+
+Mon Jan 17 11:41:22 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * scm_validate.h: Added SCM_VALIDATE_ULONG_COPY,
+       SCM_VALIDATE_LONG_COPY
+
+       * numbers.c: Use SCM_VALIDATE_ULONG_COPY, instead of
+       SCM_VALIDATE_INUM_COPY to let bigger numbers be used.  Rename a
+       couple of formal arguments (and fix their uses) to make arguments
+       match the documentation.
+
+2000-01-14    <mstachow@alum.mit.edu>
+
+       * Makefile.am: Augment path when running guile-doc-snarf so
+       guile-func-name-check is found.
+
+Fri Jan 14 09:34:55 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * scm_validate.h (SCM_NUM2LONG_DEF): Fix this macro to just use
+       def, not SCM_MAKINUM(def);  thanks Janis Bzerins!
+
+Wed Jan 12 00:06:53 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * net_db.c (s_scm_inet_makeaddr): Use SCM_NUM2ULONG since that's
+       the way guile-1.3.4 worked, but #if 0 out the version using
+       SCM_VALIDATE_INUM_COPY for stricter testing.
+
+Tue Jan 11 18:24:18 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * guile-doc-snarf.in: Use new $fullfilename for running
+       guile-func-name-check, and put "$fullfilename" and "$filename" in
+       quotes at uses to make sure re-splitting on whitespace does not
+       occur (so filenames w/ embedded whitespace would work okay, though 
+       I sure hope we never have to deal with that! :-) ).  Thanks to
+       Mikael for pointing out the source_dir != build_dir was broken.
+
+Tue Jan 11 17:42:40 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * scm_validate.h: Added SCM_NUM2LONG_DEF macro.  Make
+       SCM_OUT_OF_RANGE use SCM_MAKINUM, not scm_long2num.  Added
+       SCM_COERCE_ROSTRING macro.  Added SCM_VALIDATE_NONEMPTYLIST
+       macro.  Fix SCM_VALIDATE_STRINGORSUBSTR macro to not use SLOPPY
+       variants.
+
+       * ports.c (scm_port_closed_p): Validate that the arg is a PORT,
+       then return whether it's an open port (was validating that it was
+       an open port -- this was a bug I introduced back in December, but
+       my careful reading of diffs caught it).
+
+       * numbers.c: Recombine the two conditional-compilation paths for
+       all the log* primitives -- they were split based on #ifndef
+       scm_long2num;  factored out a SCM_LOGOP_RETURN macro, and fixed
+       some bugs and inconsistencies in the two sets of implementations.
+       (scm_lognot) Fixed *atrocious* re-use of a SCM as an integer!
+
+       * ioext.c: Use SCM_ASSERT_RANGE in a couple places, and
+       SCM_VALIDATE_INUM_COPY once where it should've been used.
+
+       * fluids.c (scm_internal_with_fluids): Use
+       SCM_VALIDATE_LIST_COPYLEN.
+
+       * filesys.c: Use SCM_NUM2LONG instead of SCM_VALIDATE_INUM_COPY;
+       this is questionable as it relaxes type safety, but other changes
+       were useful and all SCM_NUM2LONG's should probably be
+       revisited. Use SCM_OUT_OF_RANGE, SCM_WRONG_TYPE_ARG.
+
+       * evalext.c: line-break change on 1 line.
+
+       * eval.c (nconc2last): Takes a non-empty list as its first
+       argument, not just a list.
+
+       * dynl.c: Use new SCM_COERCE_ROSTRING macro.
+
+Tue Jan 11 15:44:23 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * dynl.c, feature.c, filesys.c, fports.c, list.c, load.c,
+       net_db.c, sort.c, stacks.c, unif.c: Use SCM_WTA, SCM_MISC_ERROR
+       where possible.
+
+       * symbols.c (scm_sysintern0): Fixed the function name in a
+       scm_misc_error invocation.
+
+       * print.c (scm_simple_format): Do not need SCM_COERCE_SUBSTR, and
+       use scm_return_first to ward off latent GC bug that Mikael caught.
+
+       * async.c: Use SCM_VALIDATE_ASYNC_COPY one place where it wasn't
+       used before but should've been.
+
+2000-01-12  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
+
+       * snarf.h (SCM_PROC1): Replaced SCM (*) (...) with
+       SCM_FUNC_CAST_ARBITRARY_ARGS.
+
+Tue Jan 11 13:44:07 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * guile-func-name-check.in: Added this script to statically check
+       #define FUNC_NAME, #undef FUNC_NAME in the source.
+
+       * sort.c, posix.c: Fix #undef FUNC_NAME lines to not have trailing
+       redundant comment, semicolon; caught by new guile-func-name-check
+       script.
+
+       * debug.c: Fix mistaken #define FUNC_NAME for scm_make_iloc.
+       Caught by new guile-func-name-check-script.
+
+       * Makefile.am: Added guile-func-name-check to bin_SCRIPTS
+
+       * ramap.c: Fix #if 0'd out code to be syntactically acceptable to
+       guile-func-name-check.
+
+       * guile-doc-snarf.in: Run guile-func-name-check on the file before 
+       doing the snarf.
+
+Tue Jan 11 11:31:10 2000  Greg J. Badros  <gjb@cs.washington.edu>
+
+       * fports.c, ports.c, ports.h, strports.c, vports.c: Make write
+       port function take const void*, not void*.
+
 Tue Jan 11 11:18:07 2000  Greg J. Badros  <gjb@cs.washington.edu>
 
        * scm_validate.h, chars.c, ports.c, print.c, read.c, strings.c,