*** empty log message ***
[bpt/guile.git] / libguile / ChangeLog
index b0d5508..4096390 100644 (file)
@@ -1,3 +1,878 @@
+Wed Jun  4 23:47:01 1997  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * struct.c (struct_printer): New variable that holds a handle on
+       the Scheme variable *struct-printer*.  This variable can be set by
+       Scheme code to override the printing of structures.
+       (scm_print_struct): If struct_printer is set, call it.  If it is
+       not set, or returns #f, print the structure in the old fashion.
+       Include "eval.h" for scm_apply.
+       
+Tue Jun  3 23:01:39 1997  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * struct.c (scm_struct_ref, scm_struct_set_x): Use
+       scm_struct_i_n_words to get the number of fields, not
+       -scm_struct_n_extra_words.
+
+       On the route to fancier struct printing:
+       * struct.c (scm_print_struct): New function to print a structure.
+       Include "genio.h" to support it.  This function doesn't do
+       anything interesting right now, but I think it should be here
+       anyway.
+       * struct.h: Include "print.h" and add prototype for
+       scm_print_struct.
+       * print.c (scm_iprin1): Call scm_print_struct instead of trying to
+       print structures ourself.
+       
+Sun Jun  1 07:58:41 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * scmsigs.c (sys_deliver_signals): bug fix: reset got_signal[i]
+       before applying the handler in case it doesn't return.
+
+Sat May 31 18:57:51 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * scmsigs.h, async.h: updated.
+       
+       * _scm.h: if HAVE_RESTARTS is defined then don't use a SYSCALL
+       loop.
+
+       * posix.c (scm_uname): interpret only negative values as an error.
+       Solaris normally returns a positive value.
+
+       * script.c (scm_compile_shell_switches): if we are not going into
+       an interactive repl, set scm_mask_ints to zero so that asyncs can
+       run.
+
+       * simpos.c (scm_system):  don't ignore/unignore signals around
+       the "system" call.
+
+       * posix.c (scm_open_pipe): don't ignore/unignore signals around
+       the "popen" call.
+
+       * init.c (scm_boot_guile_1): don't call scm_init_signals, it's
+       done in boot-9.scm instead.
+
+       * scmsigs.c, async.c: Major rewriting of signal handling code.
+       (scm_sigaction): new procedure.
+       (scm_sleep): don't wrap sleep in SCM_SYSCALL, it would mess up the
+       timing.
+       (scm_raise): return unspecified, throw error on failure.
+
+Thu May 29 02:47:36 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * regex-posix.c (scm_init_regex_posix): Register the "regex"
+       feature, to help boot-9.scm decide whether to import the regex
+       module. 
+
+Thu May 29 02:19:40 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * eval.c: Include scmconfig.h at the beginning of the file so that
+       HAVE_ALLOCA_H may properly be defined.  Thanks to Bill Janssen for
+       pointing this out.
+
+       * regex-posix.c: #include "_scm.h" before conditionally #including
+       <regex.h>; the former defines HAVE_REGCOMP.
+
+       * regex-posix.c: #include <regex.h> conditionally, so the file is
+       CPP'able (for dependency scanning) even on systems that don't have
+       a <regex.h> header.
+
+Tue May 27 23:48:38 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       Add new R4RS-compliant syntax for keywords.
+       * read.c (scm_lreadr): Recognize `#:' as a prefix for keywords,
+       regardless of the setting of the `keywords' read option.
+       * kw.c (prin_kw): Print keywords using the `#:' syntax, so they
+       can be re-read no matter what the setting of the `keywords' read
+       option.
+
+Tue May 27 22:47:31 1997  Tim Pierce  <twp@twp.tezcat.com>
+
+       Add support for POSIX regular expressions.
+       
+       * regex-posix.c, regex-posix.h: New files. (Some code
+       is taken liberally from rx/rgx.c in the old Guile dist.)
+
+       * init.c: Include regex-posix.h.
+       (scm_boot_guile_1): Call scm_init_regex_posix.
+       
+       * Makefile.am (EXTRA_libguile_la_SOURCES, modinclude_HEADERS):
+       Add regex-posix.[ch] sources.
+       * Makefile.in: Regenerated.
+       
+       * scmconfig.h.in: Add HAVE_REGCOMP macro.  (automake is supposed
+       to do this automatically?  It didn't for me, bleh.)
+       
+Mon May 26 18:51:29 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * fports.c (print_pipe_port): New function.
+       (scm_fptob): Use print_pipe_port instead of scm_prinport; the
+       latter doesn't even take the right arguments.
+
+       * Makefile.am: Increment shared lib revision number.  I think
+       sometimes the uninstalled Guile finds the installed shared lib;
+       Gord says doing this might help.  As things turned out, I can't
+       say whether it does.
+       * Makefile.in: Regenerated.
+
+       * gh_init.c (gh_enter): Cast c_main_prog to a void * before
+       passing it as the closure argument to scm_boot_guile.  (Bill
+       Janssen)
+       
+       * ports.c (print_void_port, putc_void_port, puts_void_port,
+       write_void_port, flush_void_port, getc_void_port, close_void_port,
+       noop0): Use ANSI prototypes instead of K&R declarations, so the
+       initialization of void_port_ptob gets aggressively type-checked.
+       Fix arguments of print_void_port and write_void_port.  (Bill
+       Janssen)
+
+       * COPYING, __scm.h, _scm.h, alist.c, alist.h, append.c, append.h,
+       appinit.c, arbiters.c, arbiters.h, async.c, async.h, backtrace.c,
+       backtrace.h, boolean.c, boolean.h, chars.c, chars.h,
+       continuations.c, continuations.h, coop-defs.h, coop-threads.c,
+       coop-threads.c.cygnus, coop-threads.h, coop-threads.h.cygnus,
+       coop.c, debug.c, debug.h, dynl-dl.c, dynl-dld.c, dynl-shl.c,
+       dynl-vms.c, dynl.c, dynl.h, dynwind.c, dynwind.h, eq.c, eq.h,
+       error.c, error.h, eval.c, eval.h, extchrs.h, feature.c, feature.h,
+       filesys.c, filesys.h, fports.c, fports.h, fsu-pthreads.h, gc.c,
+       gc.h, gdbint.c, gdbint.h, genio.c, genio.h, gh.h, gh_data.c,
+       gh_eval.c, gh_funcs.c, gh_init.c, gh_io.c, gh_list.c,
+       gh_predicates.c, gh_test_c.c, gh_test_repl.c, gscm.c, gscm.h,
+       gsubr.c, gsubr.h, guile.c, hash.c, hash.h, hashtab.c, hashtab.h,
+       init.c, init.h, ioext.c, ioext.h, kw.c, kw.h, libguile.h, list.c,
+       list.h, load.c, load.h, mallocs.c, mallocs.h, markers.c,
+       markers.h, mbstrings.c, mbstrings.h, mit-pthreads.c,
+       mit-pthreads.h, net_db.c, net_db.h, numbers.c, numbers.h,
+       objprop.c, objprop.h, options.c, options.h, pairs.c, pairs.h,
+       ports.c, ports.h, posix.c, posix.h, print.c, print.h, procprop.c,
+       procprop.h, procs.c, procs.h, putenv.c, ramap.c, ramap.h, read.c,
+       read.h, root.c, root.h, scmhob.h, scmsigs.c, scmsigs.h, script.c,
+       script.h, sequences.c, sequences.h, simpos.c, simpos.h, smob.c,
+       smob.h, snarf.h, socket.c, socket.h, srcprop.c, srcprop.h,
+       stackchk.c, stackchk.h, stacks.c, stacks.h, stime.c, stime.h,
+       strings.c, strings.h, strop.c, strop.h, strorder.c, strorder.h,
+       strports.c, strports.h, struct.c, struct.h, symbols.c, symbols.h,
+       tag.c, tag.h, tags.h, threads.c, threads.h, throw.c, throw.h,
+       unif.c, unif.h, variable.c, variable.h, vectors.c, vectors.h,
+       version.c, version.h, vports.c, vports.h, weaks.c, weaks.h: New
+       address for FSF.
+
+Mon May 26 12:37:30 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * script.c (scm_find_executable): Use prototype-style definition
+       here; apparently it's not quite right to have const in a prototype
+       and then use a K&R declaration.  I wonder if stuff like this will
+       go away if we compile with -Wrequire-prototypes, or whatever that
+       is...  (Bernard URBAN)
+
+       * scmhob.h: New text from Bernard URBAN.
+
+Sat May 17 17:14:36 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * script.c: Don't #define const on hpux.  Configure takes care of
+       this.  (Thanks to Larry Schwimmer.)
+
+       * script.c: Use the HAVE_UNISTD_H symbol provided by autoconf to
+       decide whether to #include <unistd.h>, instead of listing a bunch
+       of systems.  Don't #include stdio twice.  Removed dyked-out
+       definition of scm_find_impl_file.
+
+Fri May 16 03:06:08 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * Makefile.am (libguile_la_LDFLAGS): Update libguile's shared
+       library version info to 1:0.
+       * Makefile.in: Regenerated.
+
+       * backtrace.c, backtrace.h, debug.c, debug.h, eq.c,
+       gdb_interface.h, gdbint.c, gdbint.h, gh_data.c, gh_init.c,
+       gh_io.c, gh_list.c, gh_predicates.c, gh_test_c.c, gh_test_repl.c,
+       init.c, net_db.c, options.c, options.h, ports.c, print.c, read.c,
+       script.h, snarf.h, srcprop.c, srcprop.h, stacks.c, stacks.h,
+       throw.c: Update copyright years; these files have been worked on
+       significantly in 1997, but only had copyright years for 1996.
+       Also, change name of copyright holder on some from Mikael
+       Djurfeldt to Free Software Foundation; he has signed papers
+       assigning the changes to the FSF.
+       
+       * script.c (scm_shell_usage): Pass FATAL to exit.  There's no
+       reason not to give the user the option.
+
+       * net_db.c (scm_gethost, scm_getnet, scm_getproto, scm_getserv):
+       Return #f on end-of-file when scanning table (i.e. when called
+       with no arguments).  Try to catch errors, when we can.
+       * posix.c (scm_getgrgid, scm_getpwuid): Same.
+       
+       * script.h (scm_shell_usage, scm_compile_shell_switches): New
+       external declarations.  These are useful.
+
+Thu May 15 05:21:36 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * posix.c: don't include <sys/select.h> or define macros for
+       select, since they were not used in this file.
+
+       * filesys.c (scm_select): make the fifth parameter microseconds,
+       not milliseconds.  let the fourth parameter be either a real value
+       or an integer or #f.  The first, second and third arguments can
+       now be vectors: the type of the corresponding return set will be
+       the same.
+       (set_element, get_element): new static procedures.
+
+Wed May 14 12:18:12 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * strports.c (scm_eval_string): New function.
+       (scm_eval_0str): Trivially re-implemented in terms of
+       scm_eval_string.
+       * strports.h (scm_eval_string): New extern decl.
+
+       * net_db.c (h_errno): Add extern decl for this.
+
+       * fports.c (local_pclose): New function.
+       (scm_pipob): Use it in the initializer here.
+
+       From Tim Pierce:
+       * net_db.c (scm_gethost, scm_getproto, scm_getnet, scm_getserv):
+       Use a meaningful error message when signalling an error.  For
+       this, scm_gethost must check h_errno rather than errno.
+
+Tue May 13 16:40:06 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * Makefile.in: Regenerated, using automake-1.1p.
+
+Tue May 13 04:34:52 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * socket.c (scm_addr_vector): use SCM_UNDEFINED in scm_listify,
+       not SCM_UNSPECIFIED.
+
+       * script.c (scm_compile_shell_switches): don't append (quit) if
+       interactive.
+       (scm_shell): call scm_exit_status and exit on the result of the
+       evaluation.
+
+Mon May 12 17:23:58 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       Ensure that shared substrings are handled properly when passed to
+       a system call or other foreign function.  Many thanks to Tim
+       Pierce!
+       * symbols.h (SCM_COERCE_SUBSTR): new macro.
+       * filesys.c (scm_chmod, scm_rename, scm_delete_file, scm_mkdir,
+       scm_rmdir, scm_opendir, scm_chdir, scm_symlink, scm_readlink,
+       scm_lstat), ports.c (scm_sys_make_void_port), posix.c (scm_utime,
+       scm_putenv, scm_setlocale, scm_mknod), stime.c (setzone,
+       scm_strftime), vports.c (scm_make_soft_port), backtrace.c
+       (scm_display_error_message): use RO macros when strings may be RO.
+       * error.c (scm_error_scm), filesys.c (scm_chown, scm_chmod,
+       scm_rename, scm_delete_file, scm_mkdir, scm_rmdir, scm_opendir,
+       scm_chdir, scm_symlink, scm_readlink, scm_lstat), ioext.c
+       (scm_freopen, scm_duplicate_port, scm_fdopen), net_db.c
+       (scm_gethost, scm_getnet, scm_getproto, scm_getserv), ports.c
+       (scm_sys_make_void_port), posix.c (scm_getgrgid, scm_utime,
+       scm_setlocale, scm_mknod), stime.c (setzone, scm_strptime,
+       scm_strftime), vports.c (scm_make_soft_port): use
+       SCM_COERCE_SUBSTR to make sure shared substrings are
+       null-terminated.
+
+Mon May 12 15:33:10 1997  Jim Blandy  <jimb@totoro.cyclic.com>
+
+       * error.c (scm_error): Add newline to error message.
+
+       * init.c (scm_init_standard_ports): Doc fix.
+
+Thu May  8 14:38:01 1997  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * dynl-shl.c: Completely replaced with new code from Bernard
+       URBAN.
+
+       * script.c (scm_ice_9_already_loaded): New variable.
+       (scm_compile_shell_switches): Use it.
+
+Mon May  5 20:35:08 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * filesys.c (scm_input_waiting_p): add missing third argument to
+       scm_misc_error.
+
+       * stime.c (scm_localtime): copy the result of localtime before
+       calling gmtime in case they share a buffer.
+       (scm_localtime, scm_mktime): throw an error if neither HAVE_TM_ZONE
+       nor HAVE_TZNAME.
+
+Fri May  2 19:07:11 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * eq.c (scm_equal_p): use SCM_TYP7SD (y) not SCM_TYP7SD (x).
+       
+Thu May  1 17:01:45 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * Makefile.am (check-local): New target, which causes 'make check'
+       to run gh_test_c and gh_test_repl, with some trivial input.
+       * Makefile.in: Rgnrtd.
+
+Tue Apr 29 19:00:40 1997  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * dynl.c (print_dynl_obj): Indicate whether the dynamic object has
+       been unlinked.
+
+Mon Apr 28 06:10:14 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * async.c (scm_sys_tick_async_thunk): commented out.  I'm not
+       sure how this was supposed to work.
+       (scm_async_click): don't send SCM_TICK_SIGNAL.
+       (scm_init_async): don't initialize %tick-thunk.
+
+       * the following change doesn't affect the Scheme interface:
+       gc-thunk is called at the end of garbage collection.  however it's
+       no longer implemented by pretending it's a signal.
+       
+       * gc.c (scm_gc_end): don't call scm_take_signal.  instead mark the
+       system async corresponding to scm_gc_thunk.
+       * async.h: declare scm_gc_async.
+       * async.c (scm_sys_gc_async_thunk): apply the thunk named by
+       gc-thunk directly, instead of going through a signal handler.
+       (scm_gc_async): new variable, points to the GC system-async.
+       (scm_init_async): save the GC async as scm_gc_async instead
+       of using system_signal_asyncs.
+       (scm_gc_vcell): new variable, stores the gc-thunk vcell.
+
+Mon Apr 28 19:14:44 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * Makefile.am (libpath.h, cpp_err_symbols.c, cpp_sig_symbols.c):
+       Don't screw up if we're interrupted.
+       * Makefile.in: Regeneradet.
+
+Sun Apr 27 17:57:15 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * aclocal.m4: Removed; unnecessary, given changes of Apr 24.
+
+       * Makefile.am (modincludedir): Use "ice-9" instead of "@module@";
+       we're not using AM_INIT_GUILE_MODULE any more.
+       * Makefile.in: Reneregated.
+
+Thu Apr 24 00:41:08 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       Functions for finding variable bindings, grace à Tim Pierce.
+       * gh_data.c (gh_lookup, gh_module_lookup): New functions.
+       * gh.h (gh_lookup, gh_module_lookup): New prototypes.
+
+       Get 'make dist' to work again.
+       * Makefile.am (EXTRA_DIST): Remove PLUGIN files.
+       * Makefile.in: Regenerated, like a surry without a fringe on top.
+
+       Changes for reduced Guile distribution: one configure script,
+       no plugins.
+       * configure.in, configure: Removed.
+       * acconfig.h, acinclude.m4: Moved to parent directory, where the
+       real configure script lives.
+       * Makefile.in, scmconfig.h.in: Regenerated.
+
+       * init.c: #include "script.h", to get prototype for script.c's
+       init function.
+
+Wed Apr 23 21:25:39 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * gh_data.c (gh_scm2newstr, gh_symbol2newstr): Use
+       scm_must_malloc, not raw malloc.
+
+       * script.c (scm_compile_shell_switches): Dyke out debugging output
+       code.
+
+Mon Apr 21 05:00:32 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * eq.c (scm_equal_p): use "SCM_TYP7SD", not "SCM (TYP7SD".
+
+       * stime.c: include both <sys/times.h> and <sys/timeb.h> if the
+       system has them.  Hope this is safe.  Previously
+       sys/timeb.h was included if HAVE_FTIME was defined or if
+       HAVE_SYS_TIMEB_H was defined but HAVE_SYS_TIMES_H was not,
+       but IRIX iris 5.3 apparently has ftime but not sys/timeb.h.
+
+       * ioext.c (scm_setfileno): add missing third argument to
+       scm_misc_error call.
+
+Sun Apr 20 15:09:31 1997  Jim Blandy  <jimb@totoro.cyclic.com>
+
+       * eq.c (scm_equal_p): Correctly compare strings of different
+       varieties.  (Thanks to Tim Pierce.)
+
+Sat Apr 19 03:59:02 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * read.c (skip_scsh_block_comment): SCSH says the !# that ends a
+       #! block comment must occur on a line all by itself.
+
+        Move most of the guts of shell command processing into libguile,
+       so guile.c can be very small (and eventuallly auto-generated.  (I
+       mean, generated mechanically, not self-generated.  Hmm.))
+       * guile.c, script.c, script.h: New source files.
+       * init.c (scm_boot_guile_1): Call scm_init_script.
+       * libguile.h: #include "script.h".
+       * Makefile.am (bin_PROGRAMS, guile_SOURCES, guile_LDADD): New
+       targets, for new executable.
+       (libguile_la_SOURCES): Mention script.c.
+       (modinclude_HEADERS): Add script.h.
+       * configure.in: Always check for -lm, -lsocket, -lnsl, whether or
+       not dynamic linking is enabled.  This is because we're generating
+       executables now.  Move CY_AC_WITH_THREADS call after those, so the
+       values of cy_cv_threads_libs captures the libs chosen above.
+       * Makefile.in, configure, aclocal.m4: Regenerated.
+
+       * Makefile.am (EXTRA_DIST): Don't distribute gscm.c or gscm.h.
+       We don't maintain this interface any more, and it just confuses
+       people.
+
+       * alloca.c: #include <scmconfig.h>, not <config.h>.
+       * Makefile.am (EXTRA_libguile_la_SOURCES): Mention alloca.c, so
+       it'll get included in disties.
+
+Thu Apr 17 17:45:10 1997  Jim Blandy  <jimb@totoro.cyclic.com>
+
+       * gscm.c, gscm.h: These aren't supported any more, and shouldn't
+       be distributed, because they confuse people.
+       * Makefile.am (EXTRA_DIST): Remove gscm.c, gscm.h.
+
+Sat Apr 19 11:56:18 1997  Tim Pierce  <twp@twp.tezcat.com>
+
+       * configure.in: check for presence of gethostent (not present on
+       OpenBSD by default).
+       * net_db.c (scm_gethost): Check HAVE_GETHOSTENT.
+       * configure, scmconfig.h.in: Regenerated.
+
+Wed Apr 16 17:52:38 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * backtrace.c (scm_backtrace): Split message string across
+       newlines properly.  GCC is more tolerant of this than other
+       compilers.
+
+Mon Apr 14 20:20:14 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       Merge threads directory into libguile.
+       * coop-defs.h, coop-threads.c, coop-threads.h, coop.c, threads.c,
+       threads.h: New source files.
+       * Makefile.am (EXTRA_libguile_la_SOURCES): Add threads.c.
+       (noinst_HEADERS): Add coop-threads.c, coop-threads.h, coop.c
+       here; see comment.
+       (modinclude_HEADERS): Add threads.h, coop-defs.h.
+       (EXTRA_DIST): Add fsu-pthreads.h, mit-pthreads.c, mit-pthreads.h,
+       coop-threads.c.cygnus, coop-threads.h.cygnus.
+       * configure.in: If we're using threads, include threads.o in
+       LIBOBJS.
+       * _scm.h, libguile.h: threads.h lives in this directory now.
+       * fsu-pthreads.h, mit-pthreads.c, mit-pthreads.h,
+       coop-threads.c.cygnus, coop-threads.h.cygnus: New files, not
+       currently used, but brought along for information's sake.
+       * ChangeLog-threads: log from old 'threads' directory.
+       * Makefile.in, configure: Rebuilt.
+
+Mon Apr 14 20:15:29 1997  Jim Blandy  <jimb@totoro.cyclic.com>
+
+       * stime.c (scm_mktime): #ifndef HAVE_TM_ZONE, Use lt.tm_zone, not
+       lt->tm_zone.
+
+Mon Apr 14 01:32:57 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * gh_init.c (gh_standard_handler): Return SCM_BOOL_F, not garbage.
+
+       Merge GH interface library into libguile.
+       * gh.h, gh_data.c, gh_eval.c, gh_funcs.c, gh_init.c, gh_io.c,
+       gh_list.c, gh_predicates.c, gh_test_c.c, gh_test_repl.c: New files.
+       * Makefile.am (libguile_la_SOURCES): Add gh_data.c, gh_eval.c,
+       gh_funcs.c, gh_init.c, gh_io.c, gh_list.c, gh_predicates.c.  Move
+       _scm.h to ...
+       (EXTRA_libguile_la_SOURCES): ... here.
+       (pkginclude_HEADERS): Add variable, to get gh.h installed.
+       (THREAD_LIBS, check_ldadd, check_PROGRAMS, gh_test_c_SOURCES,
+       gh_test_c_LDADD, gh_test_repl_SOURCES, gh_test_repl_LDADD):
+       New variables, describing how to build the gh test programs.
+       * configure.in: Check for -lm, -lsocket, -lnsl; we need this to
+       build the test programs, and we probably should have been linking
+       libguile.la against them all along, to support AIX shared libs.
+       Add cflags for threads to CFLAGS; add libs for threads to new
+       variable THREAD_LIBS, used in Makefile.am.
+       * ChangeLog-gh: log from old `gh' subdirectory. 
+       * Makefile.in, configure, scmconfig.h.in: Rebuilt.
+
+Sun Apr 13 23:03:55 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * acconfig.h: Undo change of Apr 9; including the definition of
+       PACKAGE in the guile headers conflicts with applications' own
+       definitions.
+       * scmconfig.h.in: Regenerated.
+
+Fri Apr 11 14:12:13 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * filesys.c (scm_fcntl): New function from Roland McGrath.
+       (scm_init_filesys): New symbols for use with fcntl.
+       * filesys.h: Added prototype.
+
+       * eval.c (SCM_APPLY): Set debug apply frame argument list correctly
+       when PROC is receiving no arguments.
+
+Fri Apr 11 19:39:32 1997  Jim Blandy  <jimb@totoro.cyclic.com>
+
+       * filesys.c (S_ISSOCK): Define this if it's missing, but we do
+       have S_IFSOCK.  This is the case under Ultrix.
+
+       * posix.c (scm_status_exit_val, scm_status_exit_val,
+       scm_status_term_sig, scm_status_stop_sig): Modified to work with
+       Ultrix versions of WIFSTOPPED, etc., which assume that their
+       arguments are lvalues (hmm).
+
+Thu Apr 10 15:10:07 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * eval.c: Doc fixes.
+
+       * throw.c: Doc fixes; rearranged.
+
+       * putenv.c: #include "libguile/scmconfig.h", not <config.h>.
+
+Wed Apr  9 18:01:20 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * acconfig.h: Added entry for PACKAGE.
+       * scmconfig.h.in: Regenerated.
+
+       Changes to work with automake-1.1n, which has better libtool support.
+       * Makefile.am: Use lib_LTLIBRARIES instead of lib_PROGRAMS.
+       Use libguile_la_LIBADD instead of libguile_la_LDADD.  (What's the
+       difference here?)
+       (libguile_la_SOURCES, modinclude_HEADERS, EXTRA_DIST): Format for
+       readability.
+       * Makefile.in: Rebuild.
+
+Wed Apr  9 09:08:54 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * stime.c (scm_mktime): take an optional zone argument.
+       (scm_localtime): check putenv return value.
+       (scm_strftime, scm_strptime): moved from posix.c.  move #include
+       sequences.h too.
+       stime.h, posix.h: update prototypes.
+       (bdtime2c, setzone, restorezone): new static procedures.
+       (scm_mktime, scm_strftime): use them.
+       (scm_strftime): don't call mktime before strftime.  Use
+       filltime for return value.
+       (filltime): convert NULL zname to #f.
+       (scm_strptime): return a count of characters consumed, not
+       the remaining string.
+
+Sun Apr  6 05:44:11 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * stime.c (scm_localtime): check HAVE_TM_ZONE and HAVE_TZNAME.
+       (scm_mktime): likewise.
+       Declare *tzname[].
+       Uncomment localtime and mktime.
+
+       * configure.in: add AC_STRUCT_TIMEZONE.
+
+Sat Apr  5 23:56:40 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * stime.c (scm_init_stime): don't define ticks/sec.
+       (scm_gettimeofday): renamed from scm_time_plus_ticks (avoids multiple
+       return value problem and is still portable.)
+
+Sat Apr  5 17:59:24 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * cpp_err_symbols.in: Renamed from cpp_err_symbols, to avoid
+       make's implicit cpp_err_symbols: cpp_err_symbols.c rule.
+       * cpp_sig_symbols.in: Renamed from cpp_sig_symbols.
+       * Makefile.am (check_errnos, check_signals, cpp_sig_symbols.c,
+       cpp_err_symbols.c): Corresponding changes.
+       * Makefile.in: Regenerated.
+
+Sat Apr  5 02:39:02 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * posix.c (scm_putenv): don't check HAVE_PUTENV.
+       * Makefile.am (EXTRA_libguile_la_SOURCES): add putenv.c.
+       * configure.in: move putenv from AC_CHECK_FUNCS to AC_REPLACE_FUNCS.
+       * putenv.c: new file, from sh-utils 1.12.
+
+       * posix.c (scm_environ): use malloc in place of scm_must_malloc
+       since allocation isn't for Scheme objects.
+       (scm_putenv): copy strings before placing in the environment.
+
+       * stime.c (scm_current_time): throw an error if time returns -1,
+       instead of returning #f.
+       (scm_get_internal_real_time, scm_get_internal_real_time): use
+       scm_long2num for return value instead of SCM_MAKINUM.
+
+       * stime.h: prototypes updated.
+
+       * stime.c (scm_time_in_msec): apparently unused, deleted.
+
+Fri Apr  4 08:53:41 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * configure.in: check for gettimeofday.
+
+       * stime.c (scm_time_plus_ticks): new procedure, an scsh interface
+       which may be more usefully portable than a gettimeofday interface.
+
+Wed Apr  2 17:11:39 1997  Jim Blandy  <jimb@totoro.cyclic.com>
+
+       * Makefile.am (EXTRA_DIST): It's cpp_err_symbols, not
+       cpp_err_signals.
+       * Makefile.in: Regenerated.
+
+Mon Mar 31 03:22:37 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * stime.c (filltime): recovered static procedure.
+       (scm_localtime, scm_gmtime, scm_mktime, scm_tzset): recovered from
+       an earlier Guile.
+
+       * posix.h: add prototype for scm_close_pipe, remove prototypes for
+       scm_open_input_pipe, scm_open_output_pipe, change scm_mknod prototype.
+
+       * posix.c (scm_mknod): split the mode argument into type and perms
+       arguments, like the extra fields returned by stat.
+
+       * fports.c (scm_pipob): set the close, free and print procedures.
+       (scm_close_pipe): new procedure.
+
+       * posix.c (scm_open_input_pipe, scm_open_output_pipe): deleted,
+       define them in boot-9.scm
+
+Wed Mar 26 04:10:32 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * ioext.c (scm_setfileno): throw a runtime error if SET_FILE_FD_FIELD
+       wan't defined.  Don't include fd.h.
+
+       * Previously fd.h was regenerated whenever configure was run,
+       forcing a couple of files to be recompiled.
+
+       * fd.h.in: deleted, SET_FILE_FD_FIELD moved to ioext.c.
+       * configure.in: AC_DEFINE FD_SETTER instead of HAVE_FD_SETTER.
+       Check for _fileno as well as _file.
+       Don't output fd.h.
+       * ioext.c: don't fd.h.
+       * acconfig.h: remove duplicate HAVE_FD_SETTER and change the
+       other to FD_SETTER.
+
+       * Change the stratigy for getting information about errno
+       (and now signal number) values, e.g., ENOSYS, SIGKILL.  Instead of
+       generating lists of symbols during the build process, which will
+       not always work, include comprehensive lists in the distribution.
+       To help keep the lists up to date, the "check_signals" and
+       "check_errnos" make targets can be used.
+       
+       * configure.in: don't check for a command to extract errno codes.
+       * Makefile.am: update file lists, remove errnos.list and errnos.c
+       targets, add cpp_err_symbols.c, cpp_sig_symbols.c, check_signals,
+       check_errnos targets.
+       (CLEANFILES): remove errnos.c and errnos.list, add
+       cpp_err_symbols_here cpp_err_symbols_diff cpp_err_symbols_new
+       cpp_sig_symbols_here cpp_sig_symbols_diff cpp_sig_symbols_new
+       * errnos.default: deleted.
+       * cpp_signal.c: new file.
+       * cpp_errno.c: renamed from errnos_get.c.
+       * cpp_err_symbols, cpp_sig_symbols: new files.
+       * cpp_cnvt.awk: renamed from errnos_cnvt_awk.
+       * error.c (scm_init_error): #include cpp_err_symbols instead of
+       errnos.c.
+       * posix.c (scm_init_posix): don't intern signal symbols.  #include
+       cpp_sig_symbols.c.
+
+Tue Mar 25 04:51:10 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * strop.c (scm_i_index): allow the lower bound to be equal to the
+       length of the string, so a null string doesn't always give an error.
+
+       * posix.h: new prototypes.
+       * posix.c (scm_status_exit_val, scm_status_term_sig,
+       scm_status_stop_sig): new functions, as in scsh.  They break down
+       process status values as returned by waitpid.
+
+Sat Mar 22 18:16:29 1997  Gary Houston  <ghouston@actrix.gen.nz>
+       
+       * net_db.c (scm_gethost): don't check HAVE_GETHOSTENT, since 
+       configure doesn't know about it.
+
+Fri Mar 21 23:49:28 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * snarf.h, backtrace.c: Name change SCM_GLOBAL --> SCM_VCELL.
+
+       * snarf.h: Added new macros SCM_GLOBAL_SYMBOL and SCM_GLOBAL_VCELL
+       which defines C variables with global linkage.
+
+Mon Mar 17 05:57:11 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * snarf.h (SCM_PROC1): Bugfix: Use (void) rather than (...) for
+       zero arg subrs.
+
+Sun Mar 16 11:43:49 1997  Mikael Djurfeldt  <mdj@floss.cyclic.com>
+
+       * eval.c (safe_setjmp): Temporarily use old setjmp until someone
+       has time to check why this doesn't work well with continuations.
+
+Sun Mar 16 05:09:55 1997  Jim Blandy  <jimb@totoro.cyclic.com>
+
+       * Fix shell syntax error; some shells won't tolerate 
+       multiple "fi" statements on a single line.  (Thanks to Fred Fish.)
+
+Sat Mar 15 01:11:40 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * posix.c (scm_uname): throw an error if uname fails instead
+       of returning errno.
+
+       * error.h (scm_errno, scm_perror): obsolete prototypes removed.
+
+       * error.c (err_head, scm_errno, scm_perror): obsolete procedures
+       removed.
+
+       * async.c (scm_ints_disabled): definition moved from error.c.
+
+Sat Mar 15 00:06:08 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * acconfig.h: Removed PACKAGE.
+
+       * scmconfig.h.in: Regenerated.
+
+       * snarf.h: g++ says it's non-portable not to specify the first
+       argument in a varargs declaration.  I introduced the first
+       argument by using preprocessor conditionals.
+
+Thu Mar 13 21:28:25 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * ioext.c (scm_read_delimited_x): use RO string macros for delims.
+       (scm_freopen): use RO string macros for filename and modes.
+       (scm_duplicate_port, scm_fdopen): use RO string macros for modes.
+
+       * posix.c (scm_getgrgid): simplify conversion of name to C string.
+       (scm_mknod): use RO string macros for path.
+
+       * socket.c (scm_fill_sockaddr, scm_send, scm_sendto):
+       use SCM_ROSTRINGP, SCM_ROCHARS, SCM_ROLENGTH.
+       
+       * net_db.c (scm_gethost, scm_getnet, scm_getproto, scm_getserv):
+       use SCM_ROSTRINGP and SCM_ROCHARS.
+
+Thu Mar 13 18:31:33 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * unif.c (scm_array_set_x): Cast ICHR (obj) to char if storing in
+       a scm_tc7_byvect.
+
+       * ramap.c (scm_ra_matchp, scm_array_fill_int, racp,
+       scm_array_index_map_x, raeql_1, scm_array_equal_p): Completed
+       support for byte vectors.
+
+       * print.c (scm_iprin1): Limit number of vector elements printed
+       according to pstate->length.
+
+Thu Mar 13 00:12:35 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * backtrace.c (scm_display_error_message): don't segv if message
+       is an immediate.
+
+       * error.h: prototype for scm_error_scm.
+
+       * error.c (scm_error_scm): new procedure, reimplements scm-error
+       in C and uses scm_error.
+
+Tue Mar 11 03:51:00 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * read.c (scm_read_hash_extend): make scm_read_hash_procedures a 
+       pointer to the Scheme variable read-hash-procedures and intern it
+       in scm_init_read. Modify scm_read_hash_extend and 
+       scm_get_hash_procedure to use the pointer.
+
+Mon Mar 10 06:28:54 1997  Gary Houston  <ghouston@actrix.gen.nz>       
+
+       * read.h (SCM_N_READ_OPTIONS): increase SCM_N_READ_OPTIONS to 4.
+       (SCM_KEYWORD_STYLE): defined.
+
+       * read.c (scm_read_opts): add a keywords option.  This isn't a
+       boolean option, in case someone wants to add support for DSSSL
+       keywords too.
+       Setup scm_keyword_prefix symbol.
+       (scm_lreadr): Only process keywords if SCM_KEYWORD_STYLE is
+       set to 'prefix.
+       I've left keyword support disabled by default, since it doesn't
+       seem to break the module system and it gives R4RS standard behaviour.
+       It can be reactivated with (read-set! keywords 'prefix).
+
+Sun Mar  9 14:14:39 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * arbiters.c (scm_make_arbiter): Bugfix: Must SCM_DEFER_INTS
+       before constructing arbiter.
+
+       * eval.c (scm_m_define): Bugfix: Check that the object is a
+       closure before setting the procedure property!
+
+       * ports.h: Removed prototype for scm_ungetc_char_ready_p.
+
+       * ports.c: Removed `ungetc-char-ready?'.
+
+Sat Mar  8 00:27:05 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * read.c (scm_init_read): intitialise scm_read_hash_procedures
+       (idea from Mikael: make it a pair so scm_permanent object only
+       called once.)
+       (scm_read_hash_extend): don't call scm_permanent_object.
+       (ideas from Mikael): if chr is already in the list, replace its
+       procedure instead of appending it again.  If proc is #f, remove
+       it from the list.
+       (scm_get_hash_procedure): take CDR of scm_read_hash_procedures.
+
+       * strports.c (scm_read_0str, scm_eval_0str): update scm_read usage.
+
+       * gdbint.c (gdb_read): update scm_lreadr usage.
+
+       * load.h: update prototypes.
+
+       * load.c (scm_primitive_load, scm_read_and_eval_x,
+       scm_primitive_load_path): remove case_insensitive_p, sharp arguments.
+
+       * read.h: add prototype for scm_read_hash_extend.  Change args for
+       other prototypes.
+       
+       * read.c (scm_read_hash_procedures): new variable.
+       (scm_read_hash_extend): new procedure.
+       (scm_get_hash_procedure): new procedure.
+       (scm_lreadr): use scm_get_hash_procedure instead of an argument
+       for extended # processing.
+       (scm_read, scm_lreadr, scm_lreadrecparen, scm_lreadparen,
+       scm_read_token): remove case_i, sharp arguments.  Change callers.
+
+Fri Mar  7 08:58:21 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * read.h (SCM_N_READ_OPTIONS): increase to 3.
+       (SCM_CASE_INSENSITIVE_P): define.
+
+       * read.c: add case-insensitive option to scm_read_opts.
+       (scm_read_token): use SCM_CASE_INSENSITIVE_P instead of an argument
+       to determine whether to convert symbol case.
+       (default_case_i): definition removed.
+       * read.c (scm_read_token): if case_i, downcase ic before doing
+       anything with it.
+
+Sat Mar  8 03:49:03 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * configure.in: Added configuration option `guile-debug'.
+       Configure with --enable-guile-debug if you want a bunch of extra
+       functions used for debugging when developing Guile.
+
+       * acconfig.h: Added new preprocessor symbol GUILE_DEBUG.
+
+       * procs.c (make-cclo): New undocumented debugging procedure: Make
+       compiled closure with internal procedure PROC and length LENGTH.
+       Only compiled if GUILE_DEBUG is defined.
+
+       * debug.c: Only include `debug-hang' if GUILE_DEBUG is defined.
+
+       * print.c: Put #ifdef GUILE_DEBUG around `current-pstate'.
+
+       * ports.c: Changed preprocessor symbol DEBUG --> GUILE_DEBUG.
+
+       * eval.c (SCM_CEVAL): Added code sections for handling of rpsubrs
+       with 3 or more args internally to the evaluator.
+
+Fri Mar  7 19:38:18 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * eval.c (SCM_CEVAL): Added code sections for handling of asubrs
+       with 3 or more args internally to the evaluator.  This is mainly
+       because we don't want to pass entry and exit points of the
+       debug support twice, but it also seems to increase the speed of
+       the evaluator for such calls (e. g. (+ 1 2 3)).
+
+       * backtrace.c (scm_display_application): New procedure:
+       display-application; Set fancy printing parameters individually
+       for different types of display (backtrace, error, application).
+       (These should of course be customizable!)
+
+       * debug.h (SCM_RESET_DEBUG_MODE): Bugfix: The old code didn't
+       clear the CHECK-flags.
+
 Thu Mar  6 00:53:02 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
 
        * tags.h, eval.c (iqq): Fixes to comments about SCM_ECONSP.
@@ -12,7 +887,7 @@ Wed Mar  5 23:31:21 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
        (scm_symbol_hash): Bugfix: Must msymbolize if tc7_ssymbol, othwise
        we get segmentation fault!
 
-*      * symbols.c: Added #include "weaks.h".  New functions:
+       * symbols.c: Added #include "weaks.h".  New functions:
        `builtin-bindings' and `builtin-weak-bindings'.  (These will be
        moved to an extraneous library when we split libguile.)
 
@@ -227,7 +1102,7 @@ Tue Feb  4 16:57:40 1997  Jim Blandy  <jimb@floss.cyclic.com>
 
 Tue Feb  4 05:07:35 1997  Gary Houston  <ghouston@actrix.gen.nz>
 
-*      * net_db.c (scm_lnaof): change scheme name from lnaof to inet-lnaof.
+       * net_db.c (scm_lnaof): change scheme name from lnaof to inet-lnaof.
 
 Mon Feb  3 06:12:37 1997  Gary Houston  <ghouston@actrix.gen.nz>
 
@@ -246,7 +1121,7 @@ Fri Jan 31 04:33:11 1997  Gary Houston  <ghouston@actrix.gen.nz>
 
        * ioext.c, ioext.h: remove obsolete _sys_ from 9 procedure names.
        
-*      * posix.c (scm_fork): Scheme name changed from fork to primitive-fork,
+       * posix.c (scm_fork): Scheme name changed from fork to primitive-fork,
        to avoid clash with various scsh forks.
 
 Thu Jan 30 20:14:09 1997  Mikael Djurfeldt  <mdj@syk-0606.pdc.kth.se>
@@ -282,11 +1157,11 @@ Fri Jan 24 06:16:32 1997  Gary Houston  <ghouston@actrix.gen.nz>
        * __scm.h: uncomment SCM_ARG6 and SCM_ARG7, I needed SCM_ARG6.
 
        * ioext.h: update prototypes.
-*      * ioext.c (scm_read_delimited_x): replaces scm_read_line and
+       * ioext.c (scm_read_delimited_x): replaces scm_read_line and
        scm_read_line_x, it's a more general procedure using an
        interface from scsh.  read-line and read-line! are now defined
        in boot-9.scm.
-*      Note that the new read-line trims the terminator
+       Note that the new read-line trims the terminator
        by default, previously it was appended to the returned string.  An
        optional argument specifies how to process the terminator (scsh
        compatible).  For the old behaviour: (read-line port 'concat).
@@ -297,7 +1172,7 @@ Fri Jan 24 06:16:32 1997  Gary Houston  <ghouston@actrix.gen.nz>
        socket.h: update prototypes.
        * socket.c (scm_recvfrom): for consistency with other procedures,
        take start and end as separate optional arguments.
-*      (scm_recv, scm_recvfrom): don't allow the second argument
+       (scm_recv, scm_recvfrom): don't allow the second argument
        to be a size, only a buffer.  Change the scheme names to
        recv! and recvfrom!.  Don't return the buffer.
 
@@ -349,14 +1224,14 @@ Sat Jan 18 00:03:31 1997  Gary Houston  <ghouston@actrix.gen.nz>
        SCM_FD.
        * filesys.c (scm_sys_stat, scm_sys_lstat): pass errno to
        scm_syserror_msg.
-*      (scm_sys_read_fd, scm_sys_write_fd, scm_sys_close, scm_sys_lseek,
+       (scm_sys_read_fd, scm_sys_write_fd, scm_sys_close, scm_sys_lseek,
        scm_sys_dup): deleted: FD capability will be added to other
        procedures.
-*      Remove support for the FD object type: scm_tc16_fd, scm_fd_print,
+       Remove support for the FD object type: scm_tc16_fd, scm_fd_print,
        scm_fd_free, fd_smob, scm_intern_fd.
-*      (scm_open): renamed from scm_sys_open.  Return a port instead of
+       (scm_open): renamed from scm_sys_open.  Return a port instead of
        an FD object.  Make the mode argument optional.
-*      (scm_sys_create): deleted, it's just a special case of open.
+       (scm_sys_create): deleted, it's just a special case of open.
        (scm_init_filesys): move interning of constants O_CREAT etc.,
        here (were previously using SCM_CONST_LONG macro).
        Add missing constants: O_RDONLY, O_WRONLY, O_RDWR, O_CREAT.