*** empty log message ***
[bpt/guile.git] / libguile / ChangeLog
index 9914495..4096390 100644 (file)
@@ -1,3 +1,242 @@
+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,
@@ -108,7 +347,7 @@ Sun Apr 27 17:57:15 1997  Jim Blandy  <jimb@floss.cyclic.com>
 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_data.c (gh_lookup, gh_module_lookup): New functions.
        * gh.h (gh_lookup, gh_module_lookup): New prototypes.
 
        Get 'make dist' to work again.
@@ -256,7 +495,7 @@ Sun Apr 13 23:03:55 1997  Jim Blandy  <jimb@floss.cyclic.com>
 
 Fri Apr 11 14:12:13 1997  Jim Blandy  <jimb@floss.cyclic.com>
 
-*      * filesys.c (scm_fcntl): New function from Roland McGrath.
+       * filesys.c (scm_fcntl): New function from Roland McGrath.
        (scm_init_filesys): New symbols for use with fcntl.
        * filesys.h: Added prototype.
 
@@ -306,7 +545,7 @@ Wed Apr  9 09:08:54 1997  Gary Houston  <ghouston@actrix.gen.nz>
        (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
+       (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>
@@ -375,7 +614,7 @@ Mon Mar 31 03:22:37 1997  Gary Houston  <ghouston@actrix.gen.nz>
        * 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
+       * 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.
@@ -503,7 +742,7 @@ 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_ra_matchp, scm_array_fill_int, racp,
+       * 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.
 
@@ -538,7 +777,7 @@ Mon Mar 10 06:28:54 1997  Gary Houston  <ghouston@actrix.gen.nz>
        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
+       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).
 
@@ -580,7 +819,7 @@ Sat Mar  8 00:27:05 1997  Gary Houston  <ghouston@actrix.gen.nz>
        * 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
+       (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.
@@ -591,7 +830,7 @@ Fri Mar  7 08:58:21 1997  Gary Houston  <ghouston@actrix.gen.nz>
        (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
+       (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
@@ -626,7 +865,7 @@ Fri Mar  7 19:38:18 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
        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:
+       * 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!)
@@ -648,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.)
 
@@ -863,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>
 
@@ -882,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>
@@ -918,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).
@@ -933,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.
 
@@ -985,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.