+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.
+
+ * 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
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.
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.
(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>
* 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.
* 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.
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).
* 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.
(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
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!)
(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.)
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>
* 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>
* __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).
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.
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.