* errno.h: prototype for scm_strerror.
[bpt/guile.git] / libguile / ChangeLog
index b80a2d1..182fb3f 100644 (file)
@@ -1,5 +1,667 @@
+Sat Aug 23 18:45:44 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * errno.h: prototype for scm_strerror.
+       * error.c (scm_strerror): new procedure.
+
+Mon Aug 18 14:58:22 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * list.c (scm_list_append_x): Allow non-pair as last argument.
+       This is consistent with the R4RS append and is probably the
+       correct behaviour as specified by R2RS.  (Thanks to Radey Shouman)
+
+Sat Aug 16 18:42:15 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * stime.h: prototype for scm_times.
+       * stime.c (scm_times): new procedure.
+       * ioext.c (scm_fseek): if the first argument is a file descriptor
+       call lseek.
+       (scm_ftell): if the first argument is a file descriptor call lseek
+       (sic).
+       * filesys.h: prototypes for scm_open_fdes, scm_fsync.
+       * filesys.c (scm_chmod): if the first argument is a file descriptor,
+       call fchmod.
+       (scm_chown): if the first argument is a port or file descriptor,
+       call fchown.
+       (scm_truncate_file): new procedure.
+       Add DEFER/ALLOW INTS to a few other procedures.
+       (scm_fsync): new procedure.
+       (scm_open_fdes): new procedure.
+       (scm_open): use scm_open_fdes.  If mode isn't specified, 666 will
+       now be used.
+       (scm_fcntl): the first argument can now be a file descriptor.  The
+       third argument is now optional. 
+
+       * posix.c (scm_execl, scm_execlp): make the filename argument
+       compulsory, since omitting it causes SEGV.
+       (scm_sync): return unspecified instead of #f.
+       (scm_execle): new procedure.
+       (environ_list_to_c): new procedure.
+       (scm_environ): use environ_list_to_c.  disable interrupts.
+       (scm_convert_exec_args): take pos and subr arguments and
+       improve error checking.
+
+1997-08-14  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * stacks.c (scm_make_stack), coop-threads.c, mit-pthreads.c
+       (scm_call_with_new_thread): Bugfix: SCM_WNA should go as third
+       argument to SCM_ASSERT.  Furthermore, the name of the function
+       should be passed as first argument when signalling
+       SCM_WNA. (Thanks to Thomas Morgan)
+
+       * gsubr.c (scm_gsubr_apply): From Radey Shouman
+       <shouman@zianet.com>: "The switch in scm_gsubr_apply that
+       dispatches on the number of actual args has a default case
+       reporting an internal error.  This is a vestige from a version
+       that mallocated a SCM vector to hold the arguments.  In the
+       current version this check is too late: if it ever happens we will
+       have already overstepped the bounds of the array.
+
+       Also, the patch [...] adds a check for too many actual arguments."
+
+       mdj: Removed check for "internal programming error".
+
+Wed Aug 13 15:38:44 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+*      * gh_io.c (gh_write): New function.
+
+*      * gh_eval.c (catch_with_saved_stack): Removed.  Replaced by:
+       throw.c (scm_internal_stack_catch): New sibling to the other catch
+       functions.  Code moved from gh_eval.c.
+       throw.h: Added header.
+       gh_eval.c (gh_eval_str_with_stack_saving_handler): Renamed call to
+       scm_internal_stack_catch.
+
+Tue Jul 29 01:03:08 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * ioext.h: fix up prototypes.
+       * ioext.c (scm_dup_to_fdes): renamed from scm_primitive_dup2.
+       Scheme name is now dup->fdes.
+       (scm_dup_to_fdes): make the second argument optional and
+       fold in the functionality of scm_primitive_dup.
+       (scm_primitive_dup): deleted.
+
+Mon Jul 28 05:24:42 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * fports.h (SCM_P): prototypes for scm_setvbuf, scm_setfileno.
+       * fports.c (scm_setbuf0): don't disable the setbuf if MSDOS or
+       ultrix are defined.  Use setvbuf instead of setbuf.
+       (scm_setvbuf): new procedure.
+       (scm_init_fports): intern _IOFBF, _IOLBF, _IONBF.
+       (scm_setfileno): moved from ioext.c.
+       (scm_fgets): cast SCM_STREAM to (FILE *), remove unused lp variable.
+       (top of file): Delete 25 lines of probably obsolete CPP hair for MSDOS.
+
+Sun Jul 27 10:54:01 1997  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * fluids.c (scm_fluid_p): New function.
+       * fluids.h (scm_fluid_p): New prototype.
+
+Sat Jul 26 21:33:37 1997  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * print.c (scm_iprin1): Enter printed structures into the print
+       state as nested data while they are printed.
+       (print_state_fluid, print_state_fluid_num): New variables.
+       (scm_init_print): Initialize them.
+       (scm_iprin): If print_state_fluid carries a print_state, use that
+       instead of creating a new one.
+       (scm_printer_apply, apply_stub, struct apply_data): New
+       definitions to help with calling printer functions written in
+       Scheme.
+       * print.h (scm_printer_apply): New prototype.
+
+       * struct.c (scm_print_struct): Use scm_printer_apply to call the
+       user defined struct printer.
+       
+       * dynwind.c (scm_dowinds): Handle fluids on the wind list.
+       * fluids.h (scm_internal_with_fluids, scm_with_fluids,
+       scm_swap_fluids, scm_swap_fluids_reverse): New prototypes.
+       * fluids.c (scm_internal_with_fluids, scm_with_fluids,
+       scm_swap_fluids, scm_swap_fluids_reverse): New functions.
+
+Fri Jul 25 12:05:46 1997  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * fluids.c (scm_fluid_ref, scm_fluid_set_x): Fixed use of
+       SCM_ASSERT: arg comes before pos.
+
+Fri Jul 25 17:00:38 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * eval.c (scm_apply): Handle the case when a tc7_sybr_2 is applied
+       to a list of length zero correctly.
+
+Wed Jul 23 16:17:46 1997  Tim Pierce  <twpierce@bio-5.bsd.uchicago.edu>
+
+       Supply an `fgets' method for port objects to do fast line i/o.
+       * ioext.c (scm_read_line): New function.
+       * genio.c (scm_gen_read_line): New function.
+       * fports.c (scm_fgets): New function.
+       (scm_fptob, scm_pipob): Add scm_fgets method.
+       * ports.c (fgets_void_port, scm_generic_fgets): New functions.
+       (void_port_ptob): Add void fgets method.
+       (scm_newptob): Initialize fgets method from ptob struct.
+       * ports.h (scm_ptobfuns): Add fgets method.
+       * vports.c (scm_sfptob): Supply generic fgets method.
+       * strports.c (scm_stptob): Supply generic fgets method.
+
+Mon Jul 21 04:03:42 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * ioext.h: removed scm_duplicate_port prototype.
+
+       * ioext.c (scm_primitive_dup2): return the new file descriptor
+       instead of SCM_UNSPECIFIED, since similarity to scm_primitive_dup
+       is convenient.
+       (scm_fdopen): bug fix: don't try to make port unbuffered until its
+       stream has been set.
+       (scm_duplicate_port): deleted, there's now an implementation in
+       boot-9.scm.
+       (scm_primitive_dup2): do nothing if newfd == oldfd.
+
+Sun Jul 20 03:55:49 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * filesys.c (scm_close): oops, don't call SCM_INUM twice on the
+       argument.
+
+       * ioext.h: new prototypes.
+       * ioext.c (scm_primitive_dup, scm_primitive_dup2): new procedures.
+
+       * fluids.c (next_fluid_num): don't do
+       SCM_THREAD_CRITICAL_SECTION_START/END unless USE_THREADS is defined.
+
+       * ports.h: prototypes too.
+       * ports.c (scm_mode_bits, scm_port_mode): moved from fports.c.
+
+       * fports.h: prototype too.
+       * fports.c (scm_evict_ports): moved from ioext.c.
+
+Sat Jul 19 04:56:52 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * ports.c (scm_close_port): return a boolean instead of unspecified.
+       throw an error if an error other than EBADF occurs.
+
+       * filesys.h: scm_close prototype.
+       * filesys.c (scm_close): new procedure, can close file descriptors
+       and ports (scsh compatible).
+
+       * ports.c (scm_flush_all_ports): SCM_PROC incorrectly allowed an
+       optional argument.
+
+Fri Jul 18 11:19:53 1997  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * fluids.c, fluid.h: New files.
+       * Makefile.am (libguile_la_SOURCES): Added "fluids.c".
+       (modinclude_HEADERS): Added "fluids.h"
+       
+       * init.c: Include "fluids.h".  (scm_boot_guile_1): Added call to
+       scm_init_fluids to initialize the fluid machine.
+       (scm_start_stack): Initialize the fluids of the first root with
+       scm_make_initial_fluids.
+
+       * root.h: Added "fluids" member to scm_root_state.
+       * root.c: Include "fluids.h".  (scm_mark_root): Mark "fluids".
+       (scm_make_root): Call scm_copy_fluids to make fluid bindings
+       unique for the new root when it has a parent.
+       
+       * smob.h: Include "libguile/print.h" to make scm_print_state
+       visible.
+
+       * dynl.c (free_dynl_obj): New function to free the dynamic object
+       data. (dynl_smob): Use it.
+       * dynl.c (scm_dynamic_link): Moved allocating of the memory for
+       the dynamic object data below the linking of the object to avoid
+       memory leak when the linking code throws an error.  Now the code
+       leaks a whole dynamically linked library when must_malloc throws,
+       but that should be much less likely.
+
+Fri Jul 11 00:19:47 1997  Jim Blandy  <jimb@floss.red-bean.com>
+
+       Changes to compile under gnu-win32, from Marcus Daniels:
+       * stime.c (tzset): If tzset isn't provided, make it a NOP.
+       (scm_localtime): Change SCM_EOF to SCM_EOL.
+       (scm_mktime): Likewise.
+       * socket.c: Don't include sys/un.h unless autoconf tells
+       us Unix domain sockets are available.
+       (scm_fill_sockaddr): Ignore Unix domain code.
+       (scm_addr_vector): Likewise.
+       (scm_init_addr_buffer): Likewise.
+       (scm_socketpair): Don't include unless socketpair was
+       found during autoconf.
+       * simpos.c (SYSTNAME): Treat cygwin like Unix.
+       * scmsigs.c (scm_pause): Don't include unless pause was found
+       during autoconf.
+       * posix.c (scm_getgroups): Don't include unless support function
+       was found during autoconf (in this case, getgroups).
+       (scm_setpwent): For setpwent.
+       (scm_setegid): For setegid.
+       * net_db.c (scm_inet_netof): Don't include unless support
+       function was found during autoconf (in this case, inet_netof).
+       (scm_lnaof): For inet_lnaof.
+       (scm_inet_makeaddr): For inet_makeaddr.
+       (scm_getnet): For getnetent, getnetbyname, getnetbyaddr.
+       (scm_getproto): For getprotoent.
+       (scm_getserv): For getservent.
+       (scm_sethost): For sethostent, endhostent.
+       (scm_setnet): For setnetent, endnetent.
+       (scm_setproto): For setprotoent, endprotoent.
+       (scm_setserv): For setservent, endservent.
+       * scmconfig.h.in: Regenerated.
+
+Thu Jul 10 00:22:24 1997  Jim Blandy  <jimb@floss.red-bean.com>
+
+       * stime.c (scm_localtime, scm_mktime): Pass SCM_EOL to
+       scm_misc_error, not SCM_EOF.
+
+       * error.c (scm_wta): Pass SCM_EOL to scm_misc_error as the list of
+       arguments for formatting the error message, not SCM_BOOL_F.  I
+       think this is left over from the (eq? '() #f) days.
+
+       * read.c (recsexpr): Give this a dummy definition if
+       DEBUG_EXTENSIONS isn't #defined.
+
+Fri Jul  4 23:42:17 1997  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * coop-threads.c (scm_wait_condition_variable): Lock mutex again
+       after waiting.
+
+Thu Jul  3 16:31:24 1997  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * root.c (cwdr_outer_body): Bugfix: Pass `c' instead of `&c' to
+       scm_internal_catch.
+
+Sat Jun 28 16:14:09 1997  Tim Pierce  <twp@twp.tezcat.com>
+
+       * Makefile.am (libguile_la_LIBADD): Remove @ALLOCA@, since
+       alloca.lo will be included in @LIBLOBJS@.  Something better than
+       this should be possible.
+       * Makefile.in: Regenerated.
+
+Sat Jun 28 03:40:15 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * simpos.h: prototype for scm_primitive_exit.
+       * simpos.c (scm_primitive_exit): new procedure, terminates the 
+       process without unwinding the stack.
+
+Sat Jun 28 03:45:25 1997  Tim Pierce  <twp@twp.tezcat.com>
+
+       * regex-posix.c (scm_make_regexp): Make `flags' a variable-length
+       argument and logior its components together, so the user doesn't
+       have to do this explicitly.  Also, if regexp/basic is supplied, then
+       turn off REG_EXTENDED.
+       (scm_init_regex_posix): New regexp/basic symbol.
+       (REG_BASIC): #define this if it is not already present.
+
+Fri Jun 27 20:36:35 1997  Tim Pierce  <twpierce@bio-5.bsd.uchicago.edu>
+
+       * Makefile.am (libguile_la_LIBADD): Include @ALLOCA@.
+       (MOSTLYCLEANFILES): New target, changed from CLEANFILES.
+       (CLEANFILES): New target, clean versiondat.h, libpath.h.
+       (DISTCLEANFILES): New target, clean *.x.
+       * Makefile.in: Regenerated.
+
+Tue Jun 24 00:29:07 1997  Jim Blandy  <jimb@floss.red-bean.com>
+
+       * script.c (scm_compile_shell_switches): Add 1997 to copyright
+       years in usage message.
+
+       * Makefile.am (libguile_la_LDFLAGS): Bump library version.
+       * Makefile.in: Regenerated.
+
+       * regex-posix.c (scm_init_regex_posix): Delete the regexp/nosub
+       flag; I don't think we support it.
+       (scm_make_regexp): Make sure the user doesn't pass the
+       regexp/nosub flag.
+
+       * regex-posix.c (scm_make_regexp, scm_regexp_exec): Add optional
+       FLAGS arguments.
+       (scm_init_regex_posix): Define constants for the REG_mumble flags;
+       name them according to the SCSH convention: regexp/mumble.
+
+       * regex-posix.h (scm_make_regexp, scm_regexp_exec): Update prototypes.
+
+Mon Jun 23 18:44:49 1997  Jim Blandy  <jimb@floss.red-bean.com>
+
+       * Makefile.am (libpath.h): Include the values of all the standard
+       Makefile directory variables.  Print a message, but don't print
+       all the commands.
+       (versiondat.h): Print a message, but don't print all the commands.
+       * load.c: #include "alist.h".
+       (init_build_info): New function.
+       (scm_init_load): Call it.
+       * Makefile.in: Regenerated.
+
+Sun Jun 22 19:12:58 1997  Jim Blandy  <jimb@floss.red-bean.com>
+
+       * root.c: Establish a reliable catch-all handler for the new root.
+       After all the Scheme handler function might signal an error too,
+       and we don't want to lose that.
+       (cwdr_inner_body): Renamed from cwdr_body.
+       (cwdr_outer_body): New function, to establish the user's handler,
+       and pass control to cwdr_inner_body.
+       (cwdr): Establish the reliable catch-all handler here, and pass
+       control to cwdr_outer_body.
+       (struct cwdr_body_data): New field, handler, to allow cwdr to pass
+       the user's handler through to cwdr_outer_body.
+       * throw.c (scm_handle_by_message): Move guts into....
+       (handler_message): New static function.
+       (scm_handle_by_message_noexit): New function.
+       * throw.h (scm_handle_by_message_noexit): New prototype.
+
+       * __scm.h: (SCM_FENCE): New macro: optimizer will not move code
+       across this.  Only works on GCC.  Otherwise, we hope for the best.
+       (SCM_DEFER_INTS, SCM_ALLOW_INTS): Use FENCE appropriately.  I have
+       the feeling that real thread systems will not need this...
+
+Sun Jun 22 15:46:35 1997  Jim Blandy  <jimb@floss.red-bean.com>
+
+       Try to detect when people are using one version of libguile and a
+       different version of ice-9.  People have been skewing things and
+       sending in bug reports.
+       * Makefile.am (versiondat.h): New file to generate.
+       * version.c: #include "versiondat.h", to get version info.
+       (scm_libguile_config_stamp): New function.
+       * script.c: #include "version.h".
+       (scm_compile_switches): Call scm_version to get version number.
+       * scmconfig.h.in, Makefile.in: Regenerated.
+       * Makefile.in: Regenerated.
+
+       * Makefile.am (ETAGS_ARGS): Catch SCM_PROC, etc. so we can find
+       primitive definitions under their Scheme names.
+
+       * Makefile.am (libguile_la_LDFLAGS): Update library version to
+       1:2.  Helps avoid confusion between installed and uninstalled libs.
+
+       * scmconfig.h.in: Regenerated.  (Needed after June 3 change to
+       ../configure.in.)
+
+       * gdb_interface.h (GDB_INTERFACE): Remove semicolon and trailing
+       backslash from definition; this should be used like: GDB_INTERFACE;
+
+Sun Jun 22 04:00:32 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * ioext.c (scm_duplicate_port): bug fix: don't try to make the
+       new port unbuffered until its stream has been set.
+
+Sat Jun 21 18:44:03 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * ports.h: new prototype.
+       * ports.c (scm_flush_all_ports): new procedure, scsh compatible.
+
+Sat Jun 21 00:25:03 1997  Jim Blandy  <jimb@floss.red-bean.com>
+
+       Make things compile neatly under Sun's C compiler.
+       * dynl.c (scm_dynamic_func): Cast return value from sysdep_dynl_func.
+       * extchrs.c (xmbtowc): Make the second arg a normal char, not
+       unsigned, because that's what the ANSI function takes.
+       * extchrs.h (xmbtowc): Corresponding change to prototype.
+       * genio.c (scm_gen_getc): Make buf plain chars.  Nobody wants
+       uchars here.
+       * mbstrings.c (scm_mb_ilength): Use ANSI arg syntax.  Make DATA
+       argument plain char *.
+       * strings.c (scm_string): Use SCM_ROCHARS, since c is a plain
+       char.
+       * tag.c (scm_tag): Remove unreachable statement.
+       * unif.c (scm_array_to_list): If we want to shift a 1 bit to the
+       top of the word, it should be unsigned.
+
+       * eval.c (scm_lookupcar1): Don't declare var2 unless USE_THREADS
+       is defined, to avoid warnings; it's only used in the
+       conflict-checking code.  Which might go away anyway.
+       (SCM_CEVAL): All goto's targeting the `dispatch' label are in
+       conditionals; put the label definition in an #if too, to stifle
+       warnings.
+
+       * Makefile.am (EXTRA_DIST): Include ChangeLog-gh and
+       ChangeLog-threads in the distribution.
+       * Makefile.in: Regenerated.
+
+Fri Jun 20 10:03:41 1997  Tim Pierce  <twpierce@bio-5.bsd.uchicago.edu>
+
+       * guile-snarf.in: Changed regexp to support CPPs that insert
+       whitespace between lexical tokens (which munges the `%%%' snarf
+       cookie).
+
+Tue Jun 17 13:49:56 1997  Tim Pierce  <twpierce@bio-5.bsd.uchicago.edu>
+
+       * load.c (scm_init_load_path): Append $(datadir)/guile to
+       %load-path, so modules do not have to be installed in Guile's
+       current version directory.
+
+Mon Jun 16 17:20:55 1997  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * dynl.c (scm_dynamic_call, scm_dynamic_args_call): Wrap dynamic
+       function call in SCM_DEFER_INTS/SCM_ALLOW_INTS.
+       (scm_dynamic_link, scm_dynamic_unlink, scm_dynamic_func): Always
+       call the sysdep functions with deferred ints.
+       * dynl.c, dynl-dl.c, dynl-dld.c, dynl-shl.c (sysdep_dynl_link,
+       sysdep_dynl_unlink, sysdep_dynl_func): Expect to be called with
+       deferred interrupts and insert SCM_ALLOW_INTS before throwing an
+       error.
+
+       * dynl.c (scm_dynamic_unlink, scm_dynamic_call): Return
+       SCM_UNSPECIFIED.
+
+Sat Jun 14 19:00:58 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * scmsigs.c (sys_deliver_signals): add a comment about a probable bug.
+
+Wed Jun 11 00:33:00 1997  Jim Blandy  <jimb@floss.red-bean.com>
+
+       * Makefile.in: Regenerated after xtra_PLUGIN_guile_libs change in
+       ../configure.in.
+
+Sun Jun  8 14:37:26 1997  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * eval.c (scm_lookupcar1): New procedure to cope with a race
+       condition during lookup (when using threads).
+       (scm_lookupcar): Implement in terms of scm_lookupcar1.
+       (SCM_CEVAL): Use scm_lookupcar1 instead of scm_lookupcar in one
+       place.
+
+Fri Jun  6 19:05:07 1997  Jim Blandy  <jimb@totoro.cyclic.com>
+
+       * regex-posix.c (scm_regexp_exec): Use the `start' argument if
+       supplied.  (Change from Tim Pierce.) 
+
+Thu Jun  5 16:38:19 1997  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * struct.c (init_struct): Forget to mention this in the "Wed Jun 4
+       23:47:01 1997" changelog: Slots are now initialized with `#f' by
+       default and not `()'.  `#f' is the canonical non-value in Scheme,
+       right?
+
+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.