+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_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.
+
+Wed Mar 5 23:31:21 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * tags.h (SCM_ECONSP, SCM_NECONSP): Bugfix: Discriminate structs
+ from pairs with a GLOC in the car.
+
+ * symbols.c (msymbolize): Bugfix: Also initialize SCM_SYMBOL_HASH,
+ otherwise `symbol-hash' will behave badly.
+ (scm_symbol_hash): Bugfix: Must msymbolize if tc7_ssymbol, othwise
+ we get segmentation fault!
+
+* * 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 Mar 4 19:50:07 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * filesys.c (scm_stat): stat now takes fport arguments too as
+ documented in the manual.
+
+Mon Mar 3 07:11:33 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * debug.c (scm_single_step): Bugfix: Call continuation with
+ scm_call_continuation instead of throwing to it.
+
+Mon Mar 3 09:07:56 1997 Gary Houston <ghouston@actrix.gen.nz>
+
+ * ports.c (scm_char_ready_p): bug fix: in SCM_PROC char-ready's
+ argument wasn't declared to be optional.
+
+Sun Mar 2 16:34:40 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * stime.c (scm_init_stime): Add feature "current-time".
+
+Sun Mar 2 06:37:31 1997 Gary Houston <ghouston@actrix.gen.nz>
+
+ * throw.h: prototype for scm_exit_status.
+ * throw.c (scm_handle_by_message): if a 'quit is caught, use its
+ args to derive an exit status. Allows (quit) to work from a
+ script.
+ (scm_exit_status): new function.
+ #include "eq.h".
+
+Sat Mar 1 00:09:15 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * eval.c (scm_deval): Removed some old code.
+ (ENTER_APPLY): Bugfix: Reset apply-frame trap on trap as is done
+ with the others.
+ (ENTER_APPLY, scm_deval): Reset trace flag on apply-frame and
+ exit-frame traps.
+
+ * symbols.c (msymbolize): Bugfix: Must initialize property list to
+ SCM_EOL.
+
+ * procs.c: Introduce the existent C function scm_thunk_p at the
+ Scheme level as well.
+
+Wed Feb 26 12:53:58 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * symbols.c, symbols.h (scm_symbol_value0): New function. Can be
+ used from C to easily lookup the value of a symbol in the current
+ module.
+
+Tue Feb 25 00:14:10 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * unif.c (scm_init_unif): Added #include "unif.x". (There are two
+ scm_init_unif in this file. This will also fix a previous problem
+ with guile-snarf.)
+
+ * configure.in: Added AM_MAINTAINER_MODE
+
+Fri Feb 21 23:07:26 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * gdb_interface.h (GDB_INTERFACE): Added some (void *) casts to
+ avoid warnings.
+
+Fri Feb 21 18:00:38 1997 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * Makefile.am (EXTRA_libguile_la_SOURCES): New variable to hold
+ source files that are not always included in libguile but should
+ have their dependencies calculated by automake. This variable is
+ recognized by automake, no further magic is needed.
+ (libguile_la_DEPENDENCIES): Changed to @LIBLOBJS@. Libtool wants
+ to deal exclusively with *.lo files, as it seems. The *.o files
+ are built automatically when the corresponding *.lo file gets
+ built.
+
+Wed Feb 19 14:04:23 1997 Jim Blandy <jimb@floss.cyclic.com>
+
+ * list.h (scm_list_cdr_ref): Delete prototype; function no longer
+ exists.
+
+Thu Feb 13 21:44:07 1997 Gary Houston <ghouston@actrix.gen.nz>
+
+ * unif.c (scm_array_set_x): minor change to argument error checking.
+
+Tue Feb 11 18:19:47 1997 Jim Blandy <jimb@floss.cyclic.com>
+
+ * Makefile.am (libguile_la_SOURCES): Remove backtrace.c, debug.c,
+ inet_aton.c, srcprop.c, stacks.c, and strerror.c from this list.
+ They should only be included in the library at configure.in's
+ discretion.
+ (libguile_la_LDADD): Include the appropriate .lo files here.
+ (libguile_la_DEPENDENCIES): List the corresponding .o files here,
+ so we know when to build them (and their .lo bretheren).
+ * configure.in (LIBLOBJS): New substituted variable. We let
+ configure decide which .o files to include in LIBOBJS, and then
+ put the corresponding list of .lo files in LIBLOBJS. The latter
+ is what we pass to libtool.
+ * Makefile.in, configure: regenerated.
+
+Mon Feb 10 00:08:08 1997 Mikael Djurfeldt <mdj@kenneth>
+
+ * symbols.c (scm_sysintern0): New function. Contains the core of
+ old scm_sysintern but doesn't take a second value argument.
+ (scm_sysintern): Now uses scm_sysintern0.
+ (scm_sysintern_no_module_lookup): Renamed to
+ scm_sysintern0_no_module_lookup and doesn't take a second value
+ argument any longer.
+
+ * symbols.h (scm_sysintern0: Added declaration.
+
+ * options.c (scm_init_opts): Use scm_sysintern0 instead of
+ scm_sysintern when interning option keys. Otherwise we risk
+ destroying the values of already interned variables.
+
+ * symbols.c (scm_sym2vcell): Bugfix: Treat definedp as
+ scheme-level boolean (use SCM_NFALSEP).
+
+ * backtrace.c (scm_init_backtrace): Make Scheme-level variable
+ `the-last-stack'.
+ (scm_backtrace): New function. (C version of old function from
+ boot-9.scm) Motivation: Make it possible to display backtraces
+ without depending on boot-9.scm. (I'm uncertain if this
+ motivation is good enough...)
+
+ * root.h (scm_root_state): Add member the_last_stack_var.
+ (scm_the_stack_var): Defined to scm_root->the_last_stack_var.
+
+ * root.c (mark_root): Mark scm_the_last_stack_var.
+
+ * init.c (scm_start_stack): Initialize scm_the_last_stack_var to
+ SCM_BOOL_F.
+
+Sun Feb 9 18:04:41 1997 Mikael Djurfeldt <mdj@kenneth>
+
+ * throw.c (mark_lazy_catch, free_lazy_catch): Removed.
+ 1. mark_lazy_catch didn't mark the smob.
+ 2. Both functions above have standard variants:
+ (lazy_catch_funs): Changed mark_lazy_catch --> scm_mark0,
+ free_lazy_catch --> scm_free0.
+
+Fri Feb 7 17:30:26 1997 Jim Blandy <jimb@floss.cyclic.com>
+
+ * throw.c (scm_internal_lazy_catch): New function.
+ (scm_lazy_catch): Rewritten to use it.
+ (scm_ithrow): Handle the new lazy catch representation.
+ Use SCM_LAZY_CATCH_P, instead of assuming that any wind list entry
+ that doesn't have a jmpbuf is a lazy catch clause.
+ (tc16_lazy_catch, struct lazy_catch, mark_lazy_catch,
+ free_lazy_catch, print_lazy_catch, lazy_catch_funs,
+ make_lazy_catch, SCM_LAZY_CATCH_P): Support funs, including a new
+ smob.
+ (scm_init_throw): Register the new lazy-catch smob type.
+ * throw.h (scm_internal_lazy_catch): decl for new function.
+
+ * throw.c (scm_internal_catch): Doc fixes.
+
+ * alloca.c: New file, needed to support the AC_FUNC_ALLOCA call in
+ configure.in. Including this might cause problems if applications
+ that link against libguile include their own copies of alloca, but
+ if they're using autoconf, they should be adding libguile to LIBS
+ before calling AC_FUNC_ALLOCA anyway, in which case they'll find
+ the copy in libguile, and things will be okay. (I think.)
+
+Thu Feb 6 03:10:32 1997 Gary Houston <ghouston@actrix.gen.nz>
+
+ * strop.c (scm_string_upcase_x, scm_string_downcase_x): moved from
+ unif.c.
+ strop.h: move prototypes too.
+
+Wed Feb 5 08:33:00 1997 Gary Houston <ghouston@actrix.gen.nz>
+
+ * posix.c (scm_init_posix): don't intern EINTR since it's now done
+ elsewhere.
+
+ * ioext.c (scm_init_ioext): don't intern stat macros, S_IRUSR
+ etc. I deleted them from filesys.c long ago, but didn't
+ notice they were here too (although ineffective since
+ sys/stat.h wasn't included).
+
+Tue Feb 4 18:17:50 1997 Tom Tromey <tromey@cygnus.com>
+
+ * eval.c: Don't define alloca in GCC case. gcc will automatically
+ use __builtin_alloca if appropriate.
+
+Tue Feb 4 16:57:40 1997 Jim Blandy <jimb@floss.cyclic.com>
+
+ * eval.c (safe_setjmp): New function: trivial wrapper for setjmp.
+ (SCM_CEVAL, SCM_APPLY): Call it, instead of setjmp, to make sure
+ that values of automatic variables are preserved. See comments
+ for safe_setjmp for details.
+
+ Change from Thomas Morgan:
+ * variable.c: Include eq.h.
+ (var_equal): New function.
+ (variable_smob): Use var_equal as the discriminator for variables.
+
+ * throw.c (s_throw): Remove extraneous declaration.
+
+ * configure.in: Call AC_FUNC_ALLOCA, to see if we have alloca.
+ * eval.c: Add necessary CPP cruft to support that.
+ * configure, Makefile.in, scmconfig.h.in: regenerated.
+
+ Change from Thomas Morgan:
+ * procprop.c (scm_procedure_properties): Convert the Scheme
+ boolean returned by scm_procedure_p into a C boolean before using
+ it as a condition for SCM_ASSERT.
+ (scm_procedure_property): Likewise.
+
+ * simpos.c (SYSTNAME): Accept both 'unix' and '__unix' as
+ indications of Unixness.
+ * stime.c: Same.
+
+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.
+
+Mon Feb 3 06:12:37 1997 Gary Houston <ghouston@actrix.gen.nz>
+
+ * read.c (scm_lreadr): use scm_misc_error to improve one of the
+ "unknown # object" error messages.
+
+ * strop.c (scm_i_index, scm_i_rindex): combine into one procedure
+ (scm_i_index) and declare it static. Add a 'direction' argument
+ to indicate what way the search should go.
+ (scm_i_index): throw out-of-range error instead of wrong-type-arg
+ if indices are bad.
+ (scm_string_index, scm_string_rindex): adjust usage of scm_i_index.
+ strop.h: remove scm_i_index, scm_i_rindex prototypes.
+
+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,
+ to avoid clash with various scsh forks.
+
+Thu Jan 30 20:14:09 1997 Mikael Djurfeldt <mdj@syk-0606.pdc.kth.se>
+
+ The following two changes (ramap.c, throw.c) are motivated by the
+ apparent unportability of forward declarations of static arrays of
+ the form `static foo bar[];'.
+
+ * ramap.c (scm_array_fill_x): Moved above scm_array_fill_int.
+ (ra_rpsubrs, ra_asubrs): Moved to the top of array code.
+
+ * throw.c (scm_throw): Moved above scm_ithrow.
+
+ * options.h: Removed the extern declarations of scm_yes_sym and
+ scm_no_sym since these are static.
+
+Fri Jan 24 06:16:32 1997 Gary Houston <ghouston@actrix.gen.nz>
+
+ * ports.c: add SCM_PROC declarations for pt-size and pt-member.
+
+ * Makefile.am: remove AWK=@AWK@.
+ Add a rule for generating errnos.list.
+ (CLEANFILES): put errnos.list here instead of in DISTCLEANFILES.
+
+ * configure.in: add AC_SUBST(AWK) and AC_SUBST(ERRNO_EXTRACT).
+ don't extract errnos, just set a variable (avoids the
+ need to recompile error.c just because configure is run.)
+
+ * unif.h: update prototypes.
+ * unif.c (scm_uniform_array_read,write): change the offset and
+ length arguments to start and end, for consistency.
+
+ * __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
+ 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
+ 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).
+ scm_read_line, scm_read_line_x: deleted. (read-line port 'split)
+ returns a pair, but is converted to multiple values if the scsh
+ module is loaded.
+
+ 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
+ to be a size, only a buffer. Change the scheme names to
+ recv! and recvfrom!. Don't return the buffer.
+
+ * ioext.h, posix.h: move prototypes too.
+ * ioext.c, posix.c (scm_read_line, scm_read_line_x, scm_write_line:
+ moved back from posix.c to ioext.c. Also move #includes of "genio.h"
+ "read.h" and "unif.h".
+ * ioext.c: include "chars.h"
+
+Mon Jan 20 19:54:49 1997 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * dynl.c: The dynamic linking and module registration functions
+ are now defined even when dynamic linking is not available for the
+ host system. Some of their functionality can be done without
+ dynamic linking; when it's really needed, they throw errors.
+
+Thu Jan 16 16:39:29 1997 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * configure.in: Only define DYNAMIC_LINKING when one of the system
+ dependent functions is detected.
+ * dynl.c (scm_dynamic_func): New function to get the address of a
+ function in a dynamic object.
+ (scm_dynamic_call, scm_dynamic_args_call): Accept the values
+ produced by scm_dynamic_func as the thing to call.
+
+Sun Jan 12 21:09:42 1997 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * dynl.c, dynl-dl.c, dynl-dld.c, dynl-shl.c: Restructured.
+ (scm_register_module_xxx, scm_registered_modules,
+ scm_clear_registered_modules): New functions.
+
+Sat Jan 11 21:37:15 1997 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * symbols.c (scm_sysintern): Renamed to
+ scm_sysintern_no_module_lookup.
+ (scm_sysintern): New function to take the place of the old
+ scm_sysintern. It uses the current toplevel lookup closure to give
+ the symbol its value. This is a temporary hack to put packages
+ like gtcltk into their own module.
+ (scm_can_use_top_level_lookup_closure_var): New variable to tell
+ us whether `scm_top_level_lookup_closure_var' has been initialized
+ and is usable.
+ * eval.c (scm_init_eval): Set it.
+
+Sat Jan 18 00:03:31 1997 Gary Houston <ghouston@actrix.gen.nz>
+
+ * fports.c (scm_open_file): pass errno to scm_syserror_msg.
+ * filesys.h: update prototypes. Remove macros: SCM_FD_P, SCM_FD_FLAGS,
+ 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_dup): deleted: FD capability will be added to other
+ procedures.
+* 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
+ an FD object. Make the mode argument optional.
+* (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.
+ don't newsmob fd.
+ (numerous _sys_ procedures): remove gratuitous _sys_ from names.
+ include "fports.h" and <stdio.h>
+ (scm_stat, scm_select): don't support FD objects.
+
+ * error.h: adjust scm_syserror_msg prototype.
+ * error.c (scm_syserror_msg): take an extra argument for errno.
+ Using the global value didn't always work, since it could be
+ reset by procedure calls in the message or args arguments.
+
+ * fports.c (scm_setbuf0): call setbuf even if FIONREAD is not defined.
+ I don't understand why the check was there (and what about the
+ ultrix check?)
+
+ * strop.c (scm_string_copy): allow shared substrings to be copied.
+
+ * unif.h: corresponding change to prototypes.
+ * unif.c (scm_uniform_array_read_x, scm_uniform_array_write_x):
+ recognize two new optional arguments: offset and length. Allow
+ the port argument to be an integer (file descriptor, for scsh).
+ Include <unistd.h> for "read" prototype.
+
+Tue Jan 14 02:42:02 1997 Gary Houston <ghouston@actrix.gen.nz>
+
+ * socket.c: don't include filesys.h.
+
+Mon Jan 13 03:47:04 1997 Gary Houston <ghouston@actrix.gen.nz>
+
+ * Makefile.am: add AWK=@AWK@ (?)
+
+ * Makefile.am (EXTRA_DIST): add errnos_cnvt.awk, errnos.default,
+ errnos_get.c.
+ Add a rule to generate errnos.c from errnos.
+ * error.c (scm_init_error): include errnos.c.
+ * errnos_cnvt.awk: new file, converts the list of errno codes to
+ C expressions.
+ * errnos_get.c: new file.
+ * errnos.default: new file, contains errnos to try if they can't
+ be extracted from errno.h.
+ * configure.in: if using GCC, try and extract errno codes from
+ errno.h.
+ Added AC_PROG_AWK.
+
+Sat Jan 11 14:47:00 1997 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * configure.in: Replaced AC_PROG_RANLIB with AM_PROG_LIBTOOL.
+ * Makefile.am: Made libguile into a libtool library.
+ * PLUGIN/guile.config: Removed "-L ../libguile" from xtra_cflags.
+ Set libtool_libs to indicate that libguile is a libtool library.
+ See guile/ChangeLog for details.
+ * .cvsignore: ignore "*.lo", the libtool library objects.
+
+Wed Jan 8 06:54:54 1997 Gary Houston <ghouston@actrix.gen.nz>
+
+ * net_db.c (scm_getserv): add missing SCM_ALLOW_INTS.
+ use htons in getservbyport argument.
+
+Tue Jan 7 18:11:24 1997 Jim Blandy <jimb@floss.cyclic.com>
+
+ * ports.h (SCM_PTOBNUM): Removed extraneous semicolon.
+ * smob.h: (SCM_PTOBNUM): Removed entirely; this definition is a
+ duplicate.
+
+ * objprop.c (scm_object_property): No need to take the CDR of the
+ value returned by scm_object_properties, since Aug 20 change.
+
+ * configure.in: When checking for struct linger, #include
+ <sys/types.h> as well as <sys/socket.h>. I've never known
+ <sys/types.h> to cause any portability problems, and Solaris's
+ <sys/socket.h> needs it.
+ * configure: Rebuilt.
+
+ I think the Sun compiler has chosen a perverse way to interpret
+ ANSI declarations combined with K&R definitions. We'll
+ appease it a little bit. But when it invades France, we fight.
+ * print.c (scm_iprlist): Change 'tlr' argument to an int.
+ * print.h (scm_iprlist): Here too.
+ * numbers.c (scm_divbigdig): Change definition to match
+ declaration in numbers.h.
+ * unif.c (scm_makflo): Change definition to match declaration in
+ unif.h.
+
+ * init.c (scm_boot_guile): Don't return the value of
+ scm_boot_guile_1. This function doesn't return a value;
+ scm_boot_guile_1 doesn't return a value (or return at all).
+
+ * eval.c (unmemocopy): Add a semicolon to appease the Sun
+ compiler.
+
+ * simpos.c (SYSTNAME): Add case for AIX; otherwise it won't
+ compile. I have a feeling this function is a bad idea anyway ---
+ one should always test for features, not systems.
+
+ * smob.h (SCM_SMOBNUM, SCM_PTOBNUM): Remove extraneous
+ semicolons. Only pure luck kept this from being noticed earlier.
+
+Tue Jan 7 15:04:06 1997 Mikael Djurfeldt <mdj@kenneth>
+
+ * socket.c (scm_recvfrom): Added missing semicolon.
+
+Mon Jan 6 20:39:08 1997 Gary Houston <ghouston@actrix.gen.nz>
+
+ * socket.c (scm_recvfrom): allow buff_or_size to be a list containing
+ the buffer and start and end positions for scsh networking
+ implementation.
+
+Sun Jan 5 13:53:53 1997 Jim Blandy <jimb@floss.cyclic.com>
+
+ * configure.in: Revert previous change to this file; the problem
+ is due to transient automake weirdness.
+ * configure: Rebuilt.
+
+ * Makefile.am (EXTRA_DIST): Distribute PLUGIN/guile.libs.in, not
+ PLUGIN/guile.libs. configure generates the latter from the former.
+ * Makefile.in: Rebuilt.
+
+ * configure.in: Call AM_PROG_INSTALL; the automake manual says we
+ need this if we install scripts, like guile-snarf.
+ * configure: Rebuilt.
+
+Thu Jan 2 01:56:38 1997 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * Makefile.am (EXTRA_DIST): Added DYNAMIC-LINKING
+
+Sat Dec 28 19:14:01 1996 Gary Houston <ghouston@actrix.gen.nz>
+
+ * socket.c (scm_addr_vector): fix faulty scm_listify.
+
+Sat Dec 28 13:55:58 1996 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * read.c (scm_lreadr): Encountering EOF after skipping a SCSH
+ style block comment is no longer considered an error.
+
+Fri Dec 27 13:44:23 1996 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * PLUGIN/guile.libs.in: New file.
+ * PLUGIN/guile.libs: Removed from repository.
+ * configure.in: Create PLUGIN/guile.libs from
+ PLUGIN/guile.libs.in. This is for including additonal libraries
+ needed for dynamic linking.
+ * Makefile.am (EXTRA_DIST): Distribute PLUGIN/guile.libs.in
+ instead of PLUGIN/guile.libs.
+
+ * Makefile.am: Added explicit dependency "dynl.o: dynl.x".
+
+Sun Dec 22 23:06:14 1996 Jim Blandy <jimb@floss.cyclic.com>
+
+ * list.c (scm_delq_x, scm_delv_x, scm_delete_x): Delete all
+ occurrences of the given element from the list, not just the
+ first. This is how the Emacs Lisp functions behave, how the
+ analogous Common Lisp functions behave, and (I believe) how the
+ older Maclisp functions worked. I realize that this change may
+ break code, but it seemed better to break it before the Guile
+ release than after.
+
+ * gc.c (scm_protect_object, scm_unprotect_object): New functions.
+ Their prototypes were already present in gc.h, but they weren't
+ implemented.
+ (scm_init_storage): Initialize scm_protects.
+ * root.c (scm_protects): New element of scm_sys_protects.
+
+ * net_db.h (scm_init_net_db): Fix spelling from scm_init_netdb.
+
+Sat Dec 21 15:38:32 1996 Jim Blandy <jimb@floss.cyclic.com>
+
+ * libguile.h: Added #include "libguile/net_db.h".
+
+ * libguile.h: Don't #include "libguile/libpath.h", contrary to Oct
+ 30 change. That file is only meant for communication between the
+ configuration process and load.c. If code linked against libguile
+ wants to get at the paths mentioned in libpath.h, it can call
+ functions declared in load.h.
+
+Sat Dec 21 14:50:42 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * libguile.h: Removed #include "libguile/fdsocket.h"
+
+ * net_db.c: Added #include <sys/socket.h>.
+
+Sat Dec 21 00:33:03 1996 Gary Houston <ghouston@actrix.gen.nz>
+
+ * filesys.c (scm_input_waiting_p): use select in preference to
+ FIONREAD, since the latter doesn't detect EOF.
+ Throw error if neither select nor FIONREAD available.
+
+ * socket.c (scm_connect): take a port, not a fd object.
+ (scm_fill_sockaddr): throw an error if fam is not recognised.
+ (scm_bind): use scm_fill_sockaddr.
+ (scm_listen): take a port, not a fd object.
+ (scm_accept): take and return a port. return #f in the car if
+ address can't be got
+ (scm_sock_fd_to_port): new procedure.
+ (scm_socket): use scm_sock_fd_to_port.
+ (scm_addr_vector): throw error if unrecognised address type.
+ take an extra argument with the calling procedure name.
+ (scm_getsockname): take a port. return #f if address can't be got.
+ (scm_getpeername): take a port. return #f if address can't be got.
+ (scm_recvfrom): take a port. return #f for address component if can't
+ be got.
+ (scm_sendto, scm_socketpair, scm_getsockopt scm_shutdown,
+ scm_setsockopt, scm_recv, scm_send): take a port not a fd object.
+
+Fri Dec 20 23:06:53 1996 Jim Blandy <jimb@floss.cyclic.com>
+
+ * throw.c (scm_internal_catch): Make body funcs and handler funcs
+ use separate data pointers, to allow them to be designed
+ independently and reused.
+ (scm_body_thunk, scm_handle_by_proc, scm_handle_by_message):
+ Renamed from catch_body, catch_handler, and uncaught_throw; made
+ generically useful.
+ (struct scm_catch_body_data): Renamed from catch_body_data; moved
+ to throw.h.
+ (scm_catch): Use the above.
+ (scm_throw): Don't bother printing a message for an uncaught
+ throw; we establish a default handler in init.
+ * throw.h (scm_internal_catch): Prototype updated.
+ (scm_body_thunk, scm_handle_by_proc, scm_handle_by_message): New
+ decls.
+ (struct scm_body_thunk_data): New structure, used as data
+ argument to scm_body_thunk.
+ * init.c (struct main_func_closure): New structure, packaging up
+ the data to pass to the user's main function.
+ (scm_boot_guile): Create one. Pass it to scm_boot_guile_1.
+ (scm_boot_guile_1): Pass it through to invoke_main_func. Use
+ scm_internal_catch to establish a catch-all handler, using
+ scm_handle_by_message. This replaces the special-case code in
+ scm_throw.
+ (invoke_main_func): Body function for scm_internal_catch; invoke
+ the user's main function, using the main_func_closure pointer to
+ decide what to pass it.
+ * root.c (struct cwdr_body_data): Remove handler_proc member.
+ (cwdr): Use scm_handle_by_proc instead of cwdr_handler.
+ (cwdr_handler): Removed.
+
+Thu Dec 19 00:00:26 1996 Gary Houston <ghouston@actrix.gen.nz>
+
+ * socket.h (SCM_P): update bind prototype.
+ * socket.c (scm_init_socket): intern PF_UNSPEC, PF_UNIX, PF_INET.
+ include "feature.h".
+ (scm_socket): return a port, not a file descriptor object.
+ include "fports.h" and <unistd.h>
+ (scm_bind): take a port, not a file descriptor object.
+ take an extra argument for address args.
+
+ * net_db.c (scm_init_net_db): intern INADDR_ANY, INADDR_BROADCAST,
+ INADDR_NONE, INADDR_LOOPBACK.
+
+Tue Dec 17 22:58:26 1996 Gary Houston <ghouston@actrix.gen.nz>
+
+ * init.c: include net_db.h and not fdsocket.h.
+ (scm_boot_guile_1): call scm_init_net_db and not scm_init_fdsocket.
+
+ * Makefile.am: corresponding changes.
+ * socket.h: renamed from fdsocket.h, fix names.
+ * net_db.h: renamed from socket.h, fix names.
+ * socket.c: renamed from fdsocket.c.
+ remove _sys from procedure names.
+ (scm_init_socket): rename from scm_init_fdsocket. include socket.x.
+ add "socket" to features list.
+ * net_db.c: renamed from socket.c.
+ remove _sys from procedure names.
+ (scm_init_net_db): rename from scm_init_socket. include net_db.x.
+ add "net-db" to features list.
+ include "net_db.h". don't include <sys/socket.h> or
+ <sys/un.h>.
+
+Thu Dec 19 14:03:24 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * tags.h (scm_tags): Removed comma at end of last enumerator.
+
+Thu Dec 19 02:54:59 1996 Jim Blandy <jimb@floss.cyclic.com>
+
+ Don't use GCC extensions to allocate space for debugging frames.
+ (Here he goes again! Why do we put up with this?!)
+ * debug.h (scm_debug_frame): Make the 'vect' member a pointer to
+ an scm_debug_info structure, not an in-line array of them. Add
+ 'info' member, to say how many vect elements we've used, for eval
+ frames.
+ * eval.c (SCM_CEVAL): Use alloca to allocate space for vect. Use
+ a new variable debug_info_end to mark the end of vect, instead of
+ the address of the 'info' pointer itself.
+ [DEVAL] (ENTER_APPLY, SCM_CEVAL, SCM_APPLY): Remove casts of
+ &debug to scm_debug_frame *; debug is a real scm_debug_frame now.
+ (SCM_APPLY): Explicitly allocate space for debug.vect.
+ * debug.c (scm_m_start_stack): Same, for vframe.vect.
+ * stacks.c: Adjusted for new debug frame structure.
+ (RELOC_INFO, RELOC_FRAME): New macros.
+ (stack_depth, read_frames): Use them, and new scm_debug_frame
+ element 'info', instead of magically knowing that eval frames have
+ an info pointer sitting after vect.
+ (scm_make_stack, scm_stack_id, scm_last_stack_frame): Use
+ RELOC_FRAME.
+ (scm_init_stacks): Formatting tweaks.
+
+Wed Dec 18 14:57:57 1996 Jim Blandy <jimb@floss.cyclic.com>
+
+ Give GCC more control flow information, so it can be sure that
+ variables aren't used uninitialized.
+ * error.h (scm_error, scm_syserror, scm_syserror_msg,
+ scm_sysmissing, scm_num_overflow, scm_out_of_range,
+ scm_wrong_num_args, scm_wrong_type_arg, scm_memory_error,
+ scm_misc_error): Tell GCC that these functions never return.
+ * struct.c (scm_struct_ref, scm_struct_set_x): If we can't figure
+ out the field type, call abort if SCM_ASSERT returns, to placate
+ the optimizer.
+ * stacks.c (scm_make_stack, scm_last_stack_frame): abort if
+ scm_wta ever returns. We can't handle this case anyway, and this
+ gives the optimizer more information.
+ * unif.c (scm_uniform_vector_ref, scm_array_set_x): Abort if
+ scm_wta ever returns.
+
+ In some cases, the code is fine, but GCC isn't smart enough to
+ figure that out; this usually happens when one variable is only
+ initialized and used when a particular condition holds true, and
+ we know that condition will never change within a given invocation
+ of the function. In this case, we simply initialize the variables
+ to placate the compiler, hopefully to a value which will cause a
+ crash if it is ever actually used.
+ * print.c (scm_iprin1): Initialize mw_pos.
+ * read.c (scm_lreadrecparen): Initialize tl2, ans2.
+ * throw.c (scm_ithrow): Initialize dynpair.
+ * unif.c (scm_uniform_vector_ref): Initialize cra.
+ * struct.c (init_struct): Initialize prot.
+ * mbstrings.c (scm_print_mb_symbol): Initialize mw_pos and inc.
+
+ * strports.c (scm_eval_0str): Don't return uninitialized garbage
+ if EXPR contains no expressions.
+
+Wed Dec 18 11:43:22 1996 Jim Blandy <jimb@totoro.cyclic.com>
+
+ * eval.c, debug.h: Revert changes of Dec 16 and Nov 21. They
+ cause an infinite loop (???). So much for the algebraic
+ equivalency of variable-sized arrays and alloca...
+
+Tue Dec 17 20:29:03 1996 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * backtrace.c (scm_display_error): Bugfix: scm_procedure_p returns
+ a SCM boolean, not a C boolean.
+
+Sat Dec 14 23:21:45 1996 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * gc.c (SCM_MTRIGGER_HYSTERESIS): New memory management parameter.
+ (scm_must_malloc, scm_must_realloc): Added a hysteresis to the
+ rules for raising scm_mtrigger. Previously, unfortunate but not
+ unlikely circumstances could result in almost constant invokation
+ of the gc. Now, this situations should be less likely, but they
+ are not prevented completely.
+
+Tue Dec 17 16:19:07 1996 Jim Blandy <jimb@totoro.cyclic.com>
+
+ * numbers.c (scm_fuck): Procedure removed; looks like old test
+ code.
+ * numbers.h: Prototype removed.
+
+Mon Dec 16 18:20:32 1996 Jim Blandy <jimb@totoro.cyclic.com>
+
+ * debug.h (scm_debug_frame): Change `vect' member from an in-line
+ array to a pointer, to match my Nov 21 change in eval.c.
+
+Fri Dec 13 16:12:14 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * libguile.h: Added #include "libguile/backtrace.h", #include
+ "libguile/stacks.h".
+
+ * strings.c (scm_string scm_make_string scm_string_ref
+ scm_string_set_x scm_string_equal_p scm_string_append):
+ Bugfix according to scm patch from Aubrey Jaffer:
+ Corrected long-standing
+ (not (eqv? (integer->char 128)
+ (string-ref (make-string 1 (integer->char 128)) 0)))
+ bug found by John Kozak <jk@noontide.demon.co.uk>.
+
+ * strports.c, strports.h: Make scm_eval_0str return the value of
+ the last expression evaluated (previously, it returned void).
+
+ * strports.c, strports.h: New function: scm_read_0str. Does what
+ it sounds like.
+
+Tue Dec 10 23:38:43 1996 Gary Houston <ghouston@actrix.gen.nz>
+
+ * simpos.c (scm_getenv): return #f if string can't be found in the
+ environment instead of throwing an exception, for compatibility
+ with numerous other systems.
+
+Mon Dec 9 23:23:35 1996 Tom Tromey <tromey@cygnus.com>
+
+ * Makefile.am (.c.x): Use guile-snarf.
+ * configure.in (AC_OUTPUT): Generate guile-snarf; make it
+ executable.
+ * guile-snarf.in: New file, resurrected from old guile-snarf.sh.
+
+Mon Dec 9 18:36:50 1996 Jim Blandy <jimb@duality.gnu.ai.mit.edu>
+
+ * backtrace.c (scm_display_error_message): Made non-static, and
+ renamed from display_error_message.
+ * backtrace.h (scm_display_error_message): Added extern decl.
+ * throw.c (uncaught_throw): Use it to display the error message.
+
+Mon Dec 9 10:10:38 1996 Tom Tromey <tromey@cygnus.com>
+
+ * inet_aton.c: Use #if 0, not #ifdef 0.
+
+Mon Dec 9 06:36:48 1996 Gary Houston <ghouston@actrix.gen.nz>
+
+ * ioext.c (scm_sys_ftell): use scm_long2num instead of SCM_MAKINUM
+ to convert the returned value.
+ (scm_sys_fseek): use scm_num2long instead of SCM_INUM to convert
+ the offset argument.
+
+Sun Dec 8 21:06:38 1996 Jim Blandy <jimb@duality.gnu.ai.mit.edu>
+
+ Add new interface to catch/throw, usable from C as well as
+ Scheme.
+ * throw.h (scm_catch_body_t, scm_catch_handler_t): New types.
+ (scm_internal_catch): New function, replaces...
+ (scm_catch_apply): Deleted.
+ * throw.c (scm_catch_apply): Deleted; replaced with a more general
+ mechanism which is a bit more code, but can be used nicely from C
+ and implement the Scheme semantics as well.
+ (scm_internal_catch): This is the replacement; it's named after
+ the analogous function in Emacs.
+ (scm_catch): Reimplemented in terms of the above.
+ (struct catch_body_data, catch_body, catch_handler): New
+ functions, used by scm_catch.
+ * root.c (cwdr): Reimplemented in terms of scm_internal_catch.
+ (struct cwdr_body_data, cwdr_body, cwdr_handler): New functions;
+ support for new cwdr.
+
+ * Makefile.am (libpath.h): Re-incorporate Mikael's changes of Wed
+ Oct 30.
+
+Sun Dec 8 17:55:34 1996 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * acconfig.h: Added DYNAMIC_LINKING symbol.
+ * configure.in: Add option and checks for dynamic linking.
+ * dynl.c, dynl-dl.c, dynl-dld.c, dynl-shl.c, dynl-vms.c,
+ dynl.h: New files for dynamic linking support.
+ * Makefile.am (libguile_a_SOURCES):
+ Added "dynl.c".
+ (modinclude_HEADERS): Added "dynl.h".
+ (EXTRA_DIST): Added "dynl-dl.c", "dynl-dld.c", "dynl-shl.c" and
+ "dynl-vms.c".
+ * init.c (scm_boot_guile_1): Call
+ scm_init_dynamic_linking to initialize dynamic linking support.
+
+Thu Dec 5 22:47:53 1996 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * init.c (scm_boot_guile_1): Moved `live' variable to the toplevel
+ (as we Schemers say). It needs to be global, so that I can tweak
+ it for the proper operation of unexec.
+ (scm_boot_guile_1_live): New variable, see above.
+
+Sun Dec 1 00:00:49 1996 Tom Tromey <tromey@cygnus.com>
+
+ * guile-snarf.sh: Removed.
+ * PLUGIN/guile.libs: Added dependency for -lm.
+ * acinclude.m4: Renamed from aclocal.m4.
+ * PLUGIN/greet: Removed.
+ * Makefile.am, aclocal.m4: New files.
+ * configure.in: Updated for Automake.
+
+Thu Nov 28 00:23:55 1996 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * eval.c (scm_definedp): Use top_level_lookup_closure_var
+ and not top_level_lookup_thunk_var.
+
+Wed Nov 27 22:04:19 1996 Jim Blandy <jimb@baalperazim.frob.com>
+
+ * Makefile.in (ancillary): List ChangeLog-scm, not ChangeLog.scm.
+
+Wed Nov 27 14:14:56 1996 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * eval.c (scm_definedp): Incompatibly changed to be a builtin
+ Scheme function, instead of syntax. Single argument is now a
+ symbol.
+
+Thu Nov 21 20:26:36 1996 Jim Blandy <jimb@totoro.cyclic.com>
+
+ * ramap.c (scm_ra_sum, scm_ra_difference, scm_ra_product,
+ scm_ra_divide): Properly terminate statements passed as arguments
+ to IVDEP macros. (Thanks to Bernard Urban.)
+
+ * eval.c (SCM_CEVAL): Use alloca, not GCC's extensions for arrays
+ with non-constant sizes. (Thanks to Bernard Urban.)
+
+Thu Nov 21 11:17:42 1996 Jim Blandy <jimb@floss.cyclic.com>
+
+ It's an "eval closure", not an "eval thunk." A thunk is a
+ function of no arguments.
+ * root.h (struct scm_root_state): Renamed
+ top_level_lookup_closure_var from top_level_lookup_thunk_var.
+ (scm_top_level_lookup_closure_var): Renamed from
+ scm_top_level_lookup_thunk_var.
+ * root.c (mark_root): Uses changed.
+ * gdbint.c (gdb_eval, gdb_binding): Uses changed.
+ * init.c (scm_start_stack): Uses changed.
+ * eval.c (scm_eval, scm_eval_x, scm_init_eval): Rename uses.
+ Change scheme-visible name to *top-level-lookup-closure* from
+ *top-level-lookup-thunk*.
+
+Tue Nov 19 22:43:31 1996 Jim Blandy <jimb@totoro.cyclic.com>
+
+ * gc.c (scm_igc, scm_gc_mark): Round up the size of the stack we
+ pass to scm_mark_locations. (Thanks to Aubrey Jaffer.)
+
+Sun Nov 10 13:35:05 1996 Jim Blandy <jimb@floss.cyclic.com>
+
+ * gc.c (struct scm_heap_seg_data): Doc fixes.
+
+ * gc.c (scm_gc_sweep): Empty all segments' freelists before
+ sweeping. Then, prepend each segment's free cells to its
+ freelist, rather than wiping out the old value. (Thanks to Marius
+ Vollmer.)
+
+ * gc.c (which_seg, scm_map_free_list, scm_newcell_count,
+ scm_check_freelist, scm_debug_newcell): New functions and
+ variables, for debugging freelist problems.
+ * pairs.h (SCM_NEWCELL): New debugging version added.
+ * gc.h (scm_debug_newcell): Added extern declaration, used by
+ debugging version of SCM_NEWCELL.
+
+Sat Nov 9 19:02:46 1996 Jim Blandy <jimb@floss.cyclic.com>
+
+ On some systems <libc.h> conflicts with <unistd.h>, and should not
+ be #included at all.
+ * aclocal.m4 (GUILE_HEADER_LIBC_WITH_UNISTD): New autoconf macro.
+ * acconfig.h (LIBC_H_WITH_UNISTD_H): New CPP symbol.
+ * configure.in: Call it.
+ * posix.c, filesys.c: Use its results to decide whether or not to
+ #include <libc.h>.
+ * configure, scmconfig.h.in: Rebuilt with autoconf and
+ autoheader.
+
+Wed Nov 6 16:19:50 1996 Jim Blandy <jimb@totoro.cyclic.com>
+
+ * fports.c (scm_stdio_to_port, scm_open_file): Set the port's
+ pointer to the stdio stream before calling scm_setbuf0, so the
+ latter will be able to retrieve it. I'm surprised this didn't
+ segfault earlier. (Thanks to Christopher Lee.)
+
+Wed Nov 6 16:01:20 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * throw.c (scm_lazy_catch, scm_ithrow): Completed implementation
+ of `lazy-catch'.
+
+Sat Nov 2 21:01:48 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * stacks.c, stacks.h (scm_make_stack): Now takes arbitrary
+ number of stack narrowing specifier pairs. The first specifier in
+ a pair controls inner border, the second the outer border. A
+ number means cut that number of frames, a procedure object means
+ cut until that object is found in operator position in a frame.
+
+ * root.c (cwdr): Bugfix.
+
+ * read.c: Recording of positions disabled by default.
+
+ * procs.c (scm_closure_p): New function.
+
+ * posix.c (scm_tmpnam): New function.
+
+ * load.c: Added #include "throw.h".
+ (scm_sys_search_load_path): Bugfix: Don't add an extra '/' if path
+ ends with '/'.
+
+ * load.c, load.h (scm_read_and_eval_x): New function.
+
+ * eval.c: Renamed debug option "deval" to "debug".
+
+ (scm_eval_x): `eval!' is no longer accessible from the scheme
+ level. Motivation: We can't allow operations which introduce
+ glocs into the scheme level. Guile's type system can't handle
+ these as data. Use `eval' or `read-and-eval!' as replacement.
+
+ * debug.c (scm_m_start_stack): Bugfix: Use SCM_ECONSP instead of
+ SCM_CONSP since this is a macro!; Set vframe.prev to
+ scm_last_debug_frame instead of 0. In this way we can look
+ "above" the virtual start stack frame if we wish.
+ (scm_debug_hang): New function: Useful for debugging Guile in
+ certain tricky situations. Will probably be removed later...
+
+ * debug.h: Changed semantics of debug option "backtrace". This
+ option now only indicates whether we want automatic backtrace at
+ an error.
+
+Wed Oct 30 00:31:55 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * ports.c: #include "filesys.h"
+ (scm_char_ready_p): input_waiting renamed and moved to filesys.c.
+
+ * filesys.c, filesys.h (scm_input_waiting_p): Moved from ports.c.
+ Motivation: This is system specific code which is related to file
+ I/O. It also may use select. Added code by Gary Houston to
+ detect presence of character in stdio buffers.
+
+ * libguile.h: #include "libguile/libpath.h"
+
+ * Makefile.in (libpath.h): Renamed definition of: LIBRARY_PATH -->
+ SCM_LIBRARY_DIR; Added definitions of: SCM_PKGDATA_DIR,
+ SCM_SITE_DIR; Install libpath.h among the other include files.
+
+ * load.c, load.h (scm_sys_package_data_dir): New function.
+
+Mon Oct 28 11:43:41 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * stacks.h: Bugfix: Don't use tail-array length field as stack
+ length field! This screwed GC.
+
+Tue Oct 22 01:01:00 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * _scm.h: Added #ifndef around definition of macros min and max.
+
+ * __scm.h: Added hooks for threads to plugin to in ints protection
+ macros: SCM_THREAD_DEFER, SCM_THREAD_ALLOW, SCM_THREAD_REDEFER,
+ SCM_THREAD_ALLOW_1, SCM_THREAD_ALLOW_2. Motivation: We don't want
+ the main code in these macros duplicated and spread over multiple
+ files. Renamed SCM_THREADS_SWITCHING_CODE ->
+ SCM_THREAD_SWITCHING_CODE.
+
+Tue Oct 29 14:55:40 1996 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * snarf.h: New file.
+ * guile-snarf.sh: New file.
+ * Makefile.in (inner_h_files): Added snarf.h
+ (ancillary, install, uninstall, distclean): Added actions for
+ guile-snarf.
+ (.c.x): Use guile-snarf.
+ (guile-snarf): New rule, to produce guile-snarf from guile-snarf.sh.
+ (gen_c_files): Note that these depend on guile-snarf.
+ * _scm.h: Removed the snarfing macros (SCM_PROC, etc). They are
+ now in "snarf.h". Added #include "snarf.h" to get them.
+ * libguile.h: Added #include "snarf.h".
+ (Patches applied and tweaked by Jim Blandy.)
+
+Tue Oct 29 13:21:13 1996 Jim Blandy <jimb@totoro.cyclic.com>
+
+ * socket.c: Use K&R style declaration for 'close'; the GNU coding
+ standards suggest against providing prototypes for system
+ functions. Thanks to Greg Troxel.
+
+Mon Oct 28 16:48:32 1996 Jim Blandy <jimb@floss.cyclic.com>
+
+ * strports.c (scm_eval_0str): New function.
+ #include "read.h", to get prototype for scm_read.
+ * Makefile.in (strports.o): Update dependencies.
+ * strports.h: New prototype.
+
+ * numbers.c (scm_integer_p): Renamed from scm_int_p; change its
+ scheme name from "int?" to "integer?". It seems to do the job.
+ * numbers.h: Rename prototype too.
+ * scmhob.h (intp): Change definition to refer to scm_integer_p. I
+ hope this is right.
+
+ * numbers.c (scm_less_p, scm_gr_p, scm_leq_p, scm_geq_p,
+ scm_num_eq_p): Rename these according to R4RS conventions: call
+ them <, <=, =, >, and >=, not <?, <=?, =?, >?, and >=?. En route
+ to making libguile R4RS compliant without ice-9...
+
+ * load.c (scm_sys_search_load_path): Search for files under all
+ extensions listed in the %load-extensions variable. If FILENAME
+ is absolute, return it unchanged, without searching the load path.
+ (scm_loc_load_extensions): New variable, pointing to
+ %load-extensions' value cell.
+ (scm_init_load): Initialize it, and the value it points to.
+ (scm_primitive_load_path): Improve error reporting.
+
+ * load.c (scm_loc_load_hook): New variable, pointing to value cell
+ of new Scheme variable %load-hook.
+ (scm_primitive_load): Apply %load-hook to filename.
+
+Mon Oct 28 06:28:28 1996 Gary Houston <ghouston@actrix.gen.nz>
+
+ * configure.in: add tests for figuring out whether buffered data
+ is available in a FILE structure, which is needed by char-ready.
+
+ * acconfig.h: define FILE_CNT_FIELD, FILE_CNT_GPTR and
+ FILE_CNT_READPTR.
+
+ * simpos.c (scm_getenv): renamed from scm_sys_getenv. Throw
+ exceptions using misc_error instead of syserror. It seems a bit
+ odd to throw an exception if a string can't be found in the
+ environment, but it's consistent with open-file, stat etc.
+ (simpos.h): remove sys_ from getenv.
+
+ * posix.c (scm_putenv): renamed from scm_sys_putenv. If an error
+ occurs, throw an error instead of returning errno. Return value
+ is now unspecified.
+ (numerous in posix.c and posix.h): removed superfluous sys_ from names.
+
+Sun Oct 27 01:22:04 1996 Gary Houston <ghouston@actrix.gen.nz>
+
+ * filesys.c (scm_stat2scm): derive file type and permissions from
+ the stat mode and append them to the returned vector.
+ There isn't much overhead in doing this and it avoids the need to
+ work with S_IRUSR et al. in Scheme.
+ Define symbols scm_sym_regular etc.
+ (scm_init_filesys): don't intern S_IRUSR etc.
+
+ * load.c: change s_try_load and s_try_load_path to s_primitive_load
+ and s_primitive_load_path.
+
+ * eval.c, load.c, error.c (scm_wta): use scm_misc_error.
+
+ * error.h: don't declare error symbols. prototype for scm_misc_error.
+
+ * stackchk.c (scm_stack_overflow_key): defined here instead of in
+ error.c.
+
+ * error.c: use SCM_SYMBOL to set up error keys.
+ scm_misc_error: new procedure.
+
+Fri Oct 25 01:56:30 1996 Jim Blandy <jimb@floss.cyclic.com>
+
+ * read.c (scm_lreadr): Recognize SCSH-style block comments; text
+ between `#!' and `!#' is ignored.
+ (skip_scsh_block_comment): New function.
+
+ * feature.c (scm_set_program_arguments): New argument, FIRST.
+ * feature.h: Update prototype.
+ * init.c (scm_boot_guile_1): Pass new argument to
+ scm_set_program_arguments.
+
+Tue Oct 22 20:54:42 1996 Jim Blandy <jimb@floss.cyclic.com>
+
+ * init.c (scm_start_stack): Don't initialize scm_progargs here.
+ (scm_boot_guile): Call scm_set_program_arguments here, later than
+ the old initialization.
+
+ * init.c: (scm_boot_guile, scm_boot_guile_1): New, simplified
+ initialization procedure.
+ - Delete in, out, err arguments; there are other perfectly good
+ ways to override these when desired.
+ - Delete result argument; this function shouldn't ever return.
+ - Rename init_func argument to main_func, for less confusion.
+ - Delete boot_cmd argument; main_func is more general.
+ -Add 'closure' argument, to help people pass data to main_func
+ without resorting to global variables.
+ - Abort if reentered; don't bother returning an error code.
+ - Call scm_init_standard_ports to set up the default/current
+ standard ports; no need to pass them to scm_start_stack.
+ - Remove code to evaluate the boot_cmd, and start the repl; let
+ the user do something like that in main_func if they want.
+ - Remove code to package up a return value; main_func can do any
+ of that as needed.
+ - Call exit (0), instead of returning.
+ (scm_start_stack): Don't initialize the I/O ports here; that's
+ weird. Delete in, out, err arguments. Move guts to
+ scm_init_standard_ports, scm_stdio_to_port.
+ (scm_init_standard_ports): New function, to set up current and
+ default standard ports.
+ (scm_start_stack, scm_restart_stack): Make these static.
+ * init.h (scm_boot_guile): Adjust declaration.
+ (scm_start_stack, scm_restart_stack): Remove externally
+ visible declarations for these.
+ (enum scm_boot_status): Removed; now scm_boot_guile never returns.
+
+ * fports.c (scm_stdio_to_port): New function. Its guts used to be
+ written out several times in scm_start_stack.
+ * fports.h: New declaration for the above.
+
+ * feature.c (scm_set_program_arguments): New function.
+ * feature.h: New declaration for the above.
+
+ * ports.c: Formatting tweak.
+
+Sun Oct 20 03:29:32 1996 Mikael Djurfeldt <mdj@kenneth>
+
+ * pairs.h, eval.c, eval.h, feature.c, gc.c, list.c, load.c,
+ ramap.c, symbols.c: Added new selectors SCM_CARLOC and SCM_CDRLOC
+ for obtaining the address of a car or cdr field. Motivation:
+ &SCM_CXR make assumptions about the internal structure of the
+ SCM_CXR selectors.
+
+ * eval.h, eval.c: Added new selector SCM_GLOC_VAL_LOC.
+ Motivation: see SCM_CXRLOC.
+
+ * pairs.h, eval.c, gc.c, init.c, ioext.c, ports.c, ports.h,
+ srcprop.h, tags.h, throw.c, unif.c: Added new selectors
+ SCM_SETAND_CAR, SCM_SETAND_CDR, SCM_SETOR_CAR and SCM_SETOR_CDR.
+ Motivation: Safer use. Some other macros are defined in terms of
+ these operations. If these are defined using the SCM_SETCXR
+ (<e1>, SCM_CXR (<e1>) <op> <e2>) pattern a complex <e1> will lead
+ to inefficiency and an <e1> with side-effects could potentially
+ break. Also, these particular operations are heavily utilized in
+ the garbage collector. In unoptimized code there will be a
+ measurable speedup.
+
+ * alist.c, arbiters.c, continuations.c, debug.c, debug.h, eval.c,
+ eval.h, feature.c, filesys.c, fports.c, gc.c, gsubr.c, init.c,
+ ioext.c, kw.c, list.c, load.c, mallocs.c, numbers.c, numbers.h,
+ pairs.c, pairs.h, ports.c, ports.h, posix.c, procprop.c, procs.c,
+ procs.h, ramap.c, read.c, root.c, srcprop.c, srcprop.h,
+ strports.c, symbols.c, tags.h, throw.c, unif.c, variable.c,
+ vports.c: Cleaned up use of pairs: Don't make any special
+ assumptions about the internal structure of selectors and
+ mutators: SCM_CXR (<e1>) = <e2> --> SCM_SETCXR (<e1>, <e2>),
+ SCM_CXR (<e1>) &= <e2> --> SCM_SETAND_CXR (<e1>, <e2>) etc.
+ (Among other things, this change makes it easier to build Guile
+ with certain compilers which have problems with casted lvalues.)
+
+Fri Oct 18 01:11:56 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * stacks.c: Improve selection of relevant stack frames when making
+ a stack object. Introduce one level of indirection in the stack
+ object to make it possible to "narrow" to a certain region of the
+ stack. This facilitates making use of more clever algorithms (not
+ implemented) for selecting relevant frames and gives a cleaner
+ design since selection of frames can be done independently of
+ extraction of frames from the real stack.
+ (scm_stack_id): Also take #t as argument which means look at
+ current stack.
+
+ * stacks.h: In struct scm_stack: Turn field frames into a pointer.
+ Turn n_tail into an integer directly representing current number
+ of frames in stack. Add field tail.
+
+ * ports.c (scm_port_line_x, scm_port_column_x): New mutators.
+
+ * debug.c (scm_make_memoized): Made it available at scheme level.
+ (scm_unmemoize, scm_memoized_environment): Bugfix: Check for
+ SCM_NIMP before applying heavier predicates in argument checking.
+ (scm_local_eval): Also take memoized object as argument.
+
+ * backtrace.c (scm_display_error): Just a safety measure: Stacks
+ aren't created with zero length, but should such a strange
+ creature suddenly turn up...
+
+Wed Oct 16 11:08:41 1996 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * hashtab.h (scm_hashx_remove_x): Renamed `delete' parameter to
+ `del', for the sake of C++ compilers. (Patch applied by JimB.)
+
+Tue Oct 15 17:06:13 1996 Jim Blandy <jimb@floss.cyclic.com>
+
+ * variable.c (scm_make_variable): Make the name hint optional, as
+ documented.
+ (anonymous_variable_sym): Renamed from variable_sym. All uses
+ changed.
+
+ * load.c (scm_primitive_load, scm_primitive_load_path): Renamed
+ from scm_sys_try_load and scm_sys_try_load_path. The Scheme name
+ of scm_primitive_load_path was also changed to
+ "primitive-load-path", from "%try-load-path". Callers changed.
+ We'd like to respect the convention that a function named
+ "try-mumble" should behave just like the function called "mumble",
+ but return #f instead of signalling some error.
+ * load.h: Rename prototypes.
+
+Tue Oct 15 05:34:10 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
+
+ * print.c (make_print_state, grow_print_state), print.h: Modified
+ the print state representation: Don't use a tail array for
+ recording of circular references. Resizing of the print state
+ structure invalidates the print state pointer. To avoid passing
+ around an indirect print state reference to all printing
+ functions, we instead let the print state reference a resizable
+ vector.
+
+Mon Oct 14 19:25:00 1996 Jim Blandy <jimb@totoro.cyclic.com>
+
+ * alist.c (scm_sloppy_assq, scm_sloppy_assv, scm_sloppy_assoc):
+ Don't crash when passed an improper list terminated by a
+ non-immediate value.
+
+Mon Oct 14 19:08:33 1996 Jim Blandy <jimb@floss.cyclic.com>
+
+ Allocate data for structures on an eight-byte boundary, as
+ required by the tagging system.
+ * struct.c (alloc_struct): New function.
+ (scm_make_struct, scm_make_vtable_vtable): Call it.
+ * struct.h (scm_struct_n_extra_words): Bump to 3.
+ (scm_struct_i_ptr): New "field".
+ * gc.c (scm_gc_sweep): When we need to free the data, use the
+ information stored by alloc_struct to find the beginning of the
+ block allocated to the structure, so we can free it.
+
+Mon Oct 14 17:07:55 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
+
+ * init.c (scm_boot_guile_1): Moved scm_init_struct in front of
+ scm_init_stacks.
+
+ * debug.h (SCM_VOIDFRAME, SCM_VOIDFRAMEP): New macros.
+ (scm_debug_info): New member: id.
+
+ * stacks.c: Stacks are now represented as structs; Stacks have an
+ id given to them by `start-stack'.
+ (scm_last_stack_frame): Added predicates `stack?' and `frame?'.
+
+ * stacks.h: Added declarations of scm_stack_p and scm_frame_p;
+ Changed stack representation.
+
+ * debug.c (scm_procedure_name): Try procedure property `name' for
+ compiled closures aswell.
+
+ * gc.c (scm_init_storage): Initialize scm_stand_in_procs to SCM_EOL.
+
+ * eval.c: scm_i_name moved to gsubr.c
+ (scm_m_define): Record names of all kinds of procedure
+ objects. (Earlier, only closures were recorded.)
+
+ * procprop.h: Added declaration of scm_i_name.
+
+ * gsubr.c: Added global scm_i_name. Added #include "procprop.h".
+ (scm_make_gsubr): Record names of compiled closures.
+
+Mon Oct 14 04:21:51 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
+
+ * debug.c, debug.h: Removed obsolete code.
+
+ * continuations.c, continuations.h, debug.c, gc.c, init.c, root.c,
+ stacks.c: Renamed regs --> scm_contregs.
+
+ * print.c (scm_free_print_state): Cleanup print state before
+ returning it to pool. It is better to do it here than in
+ scm_prin1 since scm_prin1 is called often.
+
+ * srcprop.c (scm_source_properties, scm_set_source_properties_x,
+ s_set_source_property_x): Check that first argument is a pair or a
+ memoized object.
+
+ * srcprop.c, srcprop.h: Made scm_i_filename, scm_i_copy,
+ scm_i_line, scm_i_column and scm_i_breakpoint global.
+
+ * init.c: Added #include "backtrace.h" and #include "stacks.h".
+ (scm_boot_guile_1): Added calls to scm_init_backtrace and
+ scm_init_stacks.
+
+ * debug.h: Added debug object smob declaration and macro
+ definitions.
+
+ * configure.in: Build with backtrace.o and stacks.o if debug
+ support enabled.
+
+ * Makefile.in: Added entries for new files: backtrace.c,
+ backtrace.h, stacks.c and stacks.h.
+
+ * symbols.c (scm_sym2ovcell): Fixed documentation.
+
+ * _scm.h (min, max): Added.
+
+ * async.c: Moved `min' macro to _scm.h.
+
+ * debug.h: New debug options SCM_BACKTRACE_MAXDEPTH and
+ SCM_BACKTRACE_INDENT.
+
+ * eval.c: Added new debug options `maxdepth' and `indent'.
+
+ * print.c (make_print_state): Bugfix: Initialize pstate->ceiling.
+
+ * print.h: Added selector SCM_PRINT_STATE.
+
+ * print.c: New functions: scm_make_print_state,
+ scm_free_print_state.
+
+ * print.h: Added declarations for scm_make_print_state,
+ scm_free_print_state.
+
+ * debug.c (scm_m_start_stack): New acro.
+
+ * debug.h: Small cleanup.
+
+ * init.c (scm_boot_guile_1): Moved scm_init_debug below
+ scm_init_eval.
+
+Sun Oct 13 20:14:53 1996 Jim Blandy <jimb@totoro.cyclic.com>
+
+ * __scm.h, alist.c, alist.h, append.c, append.h, appinit.c,
+ arbiters.c, arbiters.h, async.c, async.h, boolean.c, boolean.h,
+ chars.c, chars.h, continuations.c, continuations.h, debug.c,
+ debug.h, dynwind.c, dynwind.h, eq.c, eq.h, error.c, eval.c,
+ eval.h, extchrs.c, extchrs.h, fdsocket.c, fdsocket.h, filesys.c,
+ filesys.h, fports.c, fports.h, gc.c, gdb_interface.h, gdbint.c,
+ gdbint.h, genio.c, genio.h, gscm.c, gscm.h, gsubr.c, gsubr.h,
+ hash.c, hash.h, hashtab.c, hashtab.h, init.c, ioext.c, ioext.h,
+ kw.c, kw.h, libguile.h, mallocs.c, mallocs.h, markers.c,
+ markers.h, mbstrings.c, mbstrings.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, ramap.c, ramap.h, read.c, read.h,
+ root.c, scmsigs.c, scmsigs.h, sequences.c, sequences.h, simpos.c,
+ simpos.h, smob.c, socket.c, socket.h, srcprop.c, srcprop.h,
+ stackchk.c, stackchk.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, unif.c,
+ unif.h, variable.c, variable.h, vectors.c, vectors.h, version.c,
+ version.h, vports.c, vports.h, weaks.c, weaks.h: Use SCM_P to
+ declare functions with prototypes. (Patch thanks to Marius
+ Vollmer.)
+
+ More prototype-related changes from Marius Vollmer:
+ * gdb_interface.h: Wrapped header file in #ifdef/#endif
+ * gscm.h (gscm_run_scm): Added prototype for `initfn' paramter.
+ * ports.h (ptobfuns): Added prototypes. This means some casting in
+ fports.c.
+ * fports.c: Added casts for initializations, since the functions
+ are defined to take FILE * as their stream argument, not SCM.
+ * fdsocket.c, fdsocket.h: Made `init_addr_buffer' static.
+ * genio.c (scm_gen_puts): Changed `unsigned char *str_data' parameter
+ to `char *str_data' to conform to prototype.
+
+Sat Oct 12 21:49:29 1996 Gary Houston <ghouston@actrix.gen.nz>
+
+ * error.c, eval.c, load.c, stackchk.c: use scm_error not lgh_error.
+
+ * __scm.h (lgh_error): removed, lgh shouldn't be in libguile.
+
+ * stime.c, stime.h: use SCM_P method.
+
+Sat Oct 12 16:16:25 1996 Jim Blandy <jimb@floss.cyclic.com>
+
+ * eval.c (scm_nconc2last): Don't accept an empty list; apply must
+ be given at least two arguments. Insist that lst's last element
+ be a list, but don't make any requirements of its predecessors.
+
+Fri Oct 11 03:58:25 1996 Jim Blandy <jimb@floss.cyclic.com>
+
+ * eval.c (scm_nconc2last): Revert last change; there seems to be
+ other stuff going on here.
+
+Fri Oct 11 02:43:59 1996 Jim Blandy <jimb@totoro.cyclic.com>
+
+ * eval.c (scm_nconc2last): Make sure that each element of lst
+ (which is a list of argument lists, except for the tail) is a
+ proper list, i.e., finite and terminated by '().
+
+Thu Oct 10 21:09:13 1996 Jim Blandy <jimb@totoro.cyclic.com>
+
+ * unif.c (scm_ra_set_contp): Localize `inc' declaration.
+ Clarifies flow.
+
+ * struct.c (scm_make_struct, scm_make_vtable_vtable): Use the
+ symbolic name for the tag, scm_tc3_cons_gloc, instead of just
+ saying "1".
+
+ * vectors.c (scm_make_vector): Fill vectors with the undefined
+ value, to help make Guile Scheme code more portable to other
+ Schemes.
+
+ * symbols.c (scm_intern_obarray_soft, scm_sysintern): Doc fixes.
+ * symbols.h, tags.h: Doc fixes.
+
+Wed Oct 9 19:39:29 1996 Jim Blandy <jimb@floss.cyclic.com>
+
+ * async.c (scm_take_signal): Doc fixes.
+
+Mon Oct 7 22:30:34 1996 Jim Blandy <jimb@totoro.cyclic.com>
+
+ * numbers.c (scm_divbigint): When the remainder is zero, we don't
+ want to subtract it from the modulus; we just want to leave it
+ alone.
+
+Mon Oct 7 00:14:17 1996 Mikael Djurfeldt <mdj@kenneth>
+
+ * init.c (scm_boot_guile_1): Bugfix: i --> base in argument to
+ `scm_init_threads'.
+
+ * throw.h (scm_catch_apply): Removed the `lazyp' argument.
+
+ * throw.c (scm_catch_apply): Finished implementation of
+ `lazy-catch'.
+
+Sun Oct 6 05:26:05 1996 Gary Houston <ghouston@actrix.gen.nz>
+
+ * filesys.c (scm_sys_select): move SCM_ALLOW_INTS past the sreturn
+ check.
+ (scm_init_filesys): set "i/o-extensions" feature.
+ include feature.h.
+
+Sat Oct 5 12:22:00 1996 Jim Blandy <jimb@floss.cyclic.com>
+
+ * Makefile.in (root.o): Correct dependencies.
+
+Sat Oct 5 18:40:42 1996 Mikael Djurfeldt <mdj@kenneth>
+
+ * Makefile.in: Added dependency entry for root.o.
+
+ * continuations.c, debug.[ch], eval.c, gscm.c init.c, root.c,
+ throw.c: Renamed last_debug_info_frame -> scm_last_debug_frame.
+
+ * init.c (scm_start_stack): Set initial root continuation number
+ to 0.
+
+ * procs.c: New function: scm_thunk_p.
+
+ * procs.h: Added declarations of scm_thunk_p.
+
+ * root.c: Renamed `call-with-new-root' -->
+ `call-with-dynamic-root'.
+ (cwdr): Removed allocation of new root state. This should be done
+ separately by use of scm_make_root.
+ (scm_apply_with_dynamic_root): New function: Does what it
+ sounds like. Needed when spawning threads.
+
+ * root.h: Added member last_debug_frame to root state.
+ Added #include "libguile/debug.h"
+
+ * throw.c: Renamed scm_catch --> scm_catch_apply and added more
+ arguments. The motivation is that code in root.c needs catch
+ functionality, and we want to avoid code duplication.
+ New functions: scm_catch, scm_lazy_catch. These are wrappers for
+ scm_catch_apply. scm_lazy_catch is intended to introduce catch
+ handlers that run without popping the stack into the dynwind
+ chain.
+
+ * throw.h: Added prototypes for scm_catch_apply and
+ scm_lazy_catch.
+
+Thu Oct 3 11:12:33 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
+
+ * root.h (scm_root, scm_set_root): Decouple thread support details
+ by introducing the selector SCM_THREAD_LOCAL_DATA and the mutator
+ SCM_SET_THREAD_LOCAL_DATA.
+
+ * print.c (scm_iprlist): Bugfix: Added SCM_ECONSP tests in hare
+ and tortoise scanning loop.
+
+Thu Oct 3 00:04:53 1996 Jim Blandy <jimb@totoro.cyclic.com>
+
+ * Makefile.in: Rebuild dependencies.
+
+ * libguile.h: #include "libguile/print.h" before "smob.h", since
+ the latter uses the print_state structure.
+
+ * throw.c (scm_ithrow): Use the correct variable when checking to
+ see if a given element of scm_dynwinds is a valid catch.
+
+ * throw.c (scm_ithrow): If scm_dynwinds has invalid list
+ structure, abort; don't just silently ignore the garbage.
+
+ * _scm.h: #include "print.h" here, since it seems to be used just
+ about everywhere.
+ * eval.c, gdbint.c, genio.h, numbers.h, smob.h, srcprop.c,
+ strports.c, unif.h: Don't #include "print.h".
+
+Tue Oct 1 05:15:10 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
+
+ * feature.h (scm_loc_features): Removed external declaration.
+ (Bug fix suggested by Petr Adamek <adamek@mit.edu>.)
+
+Tue Oct 1 00:00:10 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
+
+ * feature.c (scm_init_feature): Added threads feature (needs to be
+ initialized here, since features doesn't exist when
+ scm_init_threads is called).
+
+ * libguile.h: Added #include "libguile/../threads/threads.h".
+ (This is a kludge to get thread support working. This should be
+ fixed.)
+
+ * configure.in, acconfig.h: Added flags for thread support.
+
+ * scmsigs.c: Define `signal' to be `pthread_signal' if using
+ mit-pthreads.
+
+ * gc.c (scm_igc): Added SCM_THREAD_CRITICAL_SECTION_START and
+ SCM_THREAD_CRITICAL_SECTION_END. Moved marking of root data to
+ root.c:mark_root.
+
+ * _scm.h: Added conditional #include "threads.h"
+
+ * __scm.h (SCM_ASYNC_TICK): Added call to macro
+ SCM_THREADS_SWITCHING_CODE.
+
+ * init.c (scm_start_stack): Call `scm_make_root' to dynamically
+ allocate the basic dynamic root object.
+ (scm_boot_guile): Added call to scm_init_root.
+
+ * root.c, root.h: Added root smob.
+ (cwdr, scm_call_with_new_root, scm_dynamic_root, scm_app_wdr): New
+ functions: Implements dynamic roots mostly according to spec in
+ SCM manual. Main difference is that the second argument is a
+ throw handler rather than an error "thunk".
+
+ * root.h: Added declaration of scm_init_root.
+
+ * root.c: Added #include "genio.h", #include "smob.h", #include
+ "pairs.h", #include "throw.h", #include "dynwind.h", #include
+ "eval.h"
+ (scm_init_root): Added #include "root.x".
+
+ * throw.c: Added #include "stackchk.h"
+ (scm_catch): Changed SCM_DEFER_INTS --> SCM_REDEFER_INTS and
+ SCM_ALLOW_INTS --> SCM_REALLOW_INTS. This is so that scm_catch
+ can be used in scm_call_with_new_root; Added reenabling of stack
+ checking when catching a throw.
+
+Mon Sep 30 21:48:11 1996 Jim Blandy <jimb@totoro.cyclic.com>
+
+ * list.c, list.h: Use SCM_P instead of CPP hair. Doc fixes.
+
+ * list.c (scm_member, scm_memv, scm_memq): Return #f if a matching
+ element is not found, as per R4RS.
+
+Sat Sep 28 18:13:01 1996 Jim Blandy <jimb@totoro.cyclic.com>
+
+ * list.c: Doc fixes throughout.
+
+Sat Sep 28 02:07:43 1996 Gary Houston <ghouston@actrix.gen.nz>
+
+ * strings.c, strings.h: (scm_makfrom0str, scm_makefrom0str_opt:
+ declare the char * to be const. Avoids a warning in rgx.c.
+
+ * ports.h: spelling fix.
+
+ * filesys.c (scm_sys_stat, scm_sys,lstat): include file name in
+ error messages.
+
+ * load.c (scm_sys_try_load_path): throw an error if file not found
+ (like it says it in NEWS).
+
+Fri Sep 27 18:27:01 1996 Jim Blandy <jimb@totoro.cyclic.com>
+
+ * symbols.c (scm_intern_obarray_soft): Initialize the new symbol's
+ PROPS slot to '(), not #f; it's an empty alist.
+
+ * throw.h, throw.c: Use SCM_P instead of #if hair.
+
+ Remove special support for uncaught throws; see throw.c for
+ rationale.
+ * throw.c (uncaught_throw): New function.
+ (scm_ithrow): Call uncaught_throw if we don't find a throw
+ target; don't mess with scm_bad_throw_vcell.
+ (scm_bad_throw_vcell): Variable deleted.
+ (scm_init_throw): Don't initialize it.
+
+ * throw.c (scm_ithrow): Don't let outer key matches shadow inner
+ #t catches.
+
+Wed Sep 25 04:35:50 1996 Jim Blandy <jimb@totoro.cyclic.com>
+
+ * numbers.c (scm_istr2int): If the number is short (as most
+ numbers are), just call scm_small_istr2int to deal with it.
+ (scm_small_istr2int): New function, created by un-#ifdefing the
+ non-bignum version of scm_istr2int and renaming it.
+
+Tue Sep 24 06:48:38 1996 Gary Houston <ghouston@actrix.gen.nz>
+
+ * load.c (scm_sys_try_load): don't check whether value returned
+ by scm_open_file is #f, it won't be. Always return SCM_UNSPECIFIED.
+ Change the Scheme name from %try-load to primitive-load.
+
+ * error.c (scm_error): convert a NULL message to SCM_BOOL_F.
+ Can avoid passing a message, allowing it to be derived in the
+ error handler (e.g., if we want to throw to the key both from
+ Scheme and C).
+
+Mon Sep 23 00:42:15 1996 Mikael Djurfeldt <mdj@kenneth>
+
+ * print.c (scm_iprin1, scm_prin1, scm_iprlist): Circular
+ references now have a new appearance which is more compact and
+ also gives a clue about what the target of the reference is.
+ By setting parameters in the print state, more fancy printing can
+ be achieved. This is used by the (not yet commited) backtrace
+ code.
+
+Sun Sep 22 17:10:06 1996 Mikael Djurfeldt <mdj@kenneth>
+
+ * eval.c, numbers.h, unif.h, smob.h, srcprop.c: Added #include
+ "print.h"
+
+ * print.c: Added #include "struct.h". Removed function
+ scm_prlist.
+
+ * print.h: Modified prototypes for scm_iprlist, scm_prin1 and
+ scm_iprin1. Removed prototype for scm_prlist.
+
+ * arbiters.c (prinarb),
+ async.c (print_async),
+ debug.c (prindebugobj, prinmemoized),
+ eval.c (prinprom, prinmacro),
+ filesys.c (scm_fd_print, scm_dir_print),
+ kw.c (print_kw),
+ mallocs.c (prinmalloc),
+ numbers.c, numbers.h (scm_floprint, scm_bigprint),
+ smob.h (scm_smobfuns),
+ srcprop.c (prinsrcprops),
+ throw.c (prinjb),
+ unif.c, unif.h (scm_raprin1, rapr1),
+ variable.c (prin_var): Changed argument `int writing' to
+ `scm_print_state *pstate'.
+
+ * init.c (scm_boot_guile): Moved scm_init_struct upwards so
+ that it will be called before scm_init_print.
+
+ * print.c (scm_prin1): Print states are now allocated when calling
+ scm_prin1 and then passed around to all printing functions as an
+ argument. A cache `print_state_pool' enables reuse of print
+ states.
+ (scm_make_print_state): New function.
+ (scm_iprin1): Adaption to print states.
+ (scm_iprlist): An initial "hare and tortoise" scan brings down
+ time complexity to O (depth * N). (Better time complexity will be
+ achieved when the printing code is completely rewritten.)
+
+Fri Sep 20 22:01:36 1996 Jim Blandy <jimb@totoro.cyclic.com>
+
+ * aclocal.m4 (GUILE_STRUCT_UTIMBUF): Use AC_CACHE_CHECK instead of
+ AC_CACHE_VAL; #define UTIMBUF_NEEDS_POSIX outside AC_CACHE_VAL, so
+ it gets done whether or not the cache variable has a value.
+
+Thu Sep 19 17:06:39 1996 Jim Blandy <jimb@totoro.cyclic.com>
+
+ Distinguish #f and ().
+ * __scm.h: #undef SICP.
+ * pairs.h (SCM_EOL): Delete this definition, equating it with
+ SCM_BOOL_F.
+ * tags.h (SCM_EOL): Give it a new definition here; I think I found
+ the value it used to have. Doc fixes, too.
+
+Thu Sep 19 15:33:51 1996 Mikael Djurfeldt <mdj@kenneth>
+
+ * struct.c (scm_make_struct_layout, init_struct, scm_struct_ref,
+ scm_struct_set_x), struct.h, gc.c (scm_gc_mark): Completed Tom
+ Lord's implementation of structs, allowing for tail arrays as
+ described in the manual. Also fixed some bugs. (Both the interface
+ and the implementation should be improved.)
+
+ * read.c (scm_init_read): Removed #ifdef READER_EXTENSIONS
+
+ * print.c, print.h: Closures now print like #<procedure foo (x)>.
+ People who whish to see the source can do `(print-enable 'source)'.
+ Removed #ifdef DEBUG_EXTENSIONS.
+
+Thu Sep 19 00:00:29 1996 Gary Houston <ghouston@actrix.gen.nz>
+
+ * filesys.c (scsm_sys_stat): don't SIGSEGV if argument is an
+ integer (assuming for now accepting an integer is a good thing).
+
+ * error.c, fports.c: replace use of %S in lgh_error args with %s.
+ %S will be used instead for write'ing arguments.
+
+ * unif.c (scm_transpose_array): change arguments in the SCM_WNA
+ asserts. fix a few other asserts.
+ (scm_aind, scm_enclose_array, scm_array_in_bounds_p,
+ scm_uniform_vector_ref, scm_array_set_x,
+ scm_dimensions_to_unform_array): change args in
+ SCM_WNA SCM_ASSERTS and change scm_wta's to scm_wrong_num_args.
+ strop.c (scm_substring_move_left_x, scm_substring_move_right_x,
+ scm_substring_fill_x): likewise.
+ gsubr.c (scm_gsubr_apply): likewise.
+ eval.c (SCM_APPLY): likewise.
+
+ * eval.c (4 places): replace scm_everr with lgh_error or
+ scm_wrong_num_args.
+
+ * error.c, error.h (scm_wrong_num_args, scm_wrong_type_arg,
+ scm_memory_error): new procedures.
+ scm_everr: deleted. can use scm_wta, dropping first two args.
+ scm_error: convert NULL subr to SCM_BOOL_F.
+
+ * __scm.h: don't define SCM_STACK_OVFLOW, SCM_EXIT, SCM_ARG6, SCM_ARG7,
+ SCM_ARGERR.
+
+ * stackchk.c (scm_report_stack_overflow): use lgh_error instead
+ of scm_wta.
+
+ * error.c, error.h: new error keys: scm_arg_type_key,
+ scm_args_number_key, scm_memory_alloc_key, scm_stack_overflow_key,
+ scm_misc_error_key.
+ scm_wta: reimplement using lgh_error instead of scm_everr.
+
+Wed Sep 18 17:13:35 1996 Mikael Djurfeldt <mdj@kenneth>
+
+ * gdbint.c: scm_lread now has one more argument.
+
+ * ports.c, ports.h: Name change: scm_\(line\|column\)_number -->
+ scm_port_\1; Added mutator scm_set_port_filename_x (used when
+ loading source from non-file ports, which, e. g., happens when
+ using the Emacs interface).
+
+ * fports.c (scm_open_file): Don't call scm_makfrom0str on a scheme
+ object.
+
+ * read.c: Added code for recording of positions of source code
+ expressions; New functions: recsexpr, scm_lreadrecparen;
+ _scm_make_srcprops --> scm_make_srcprops
+ (scm_flush_ws): Removed updating of positions counters. This work
+ is already done by scm_gen_getc
+
+ * read.h: Added prototype for scm_lreadrecparen
+
+ * print.c: Added #include "alist.h"
+
+ * eval.c: Added #include "hash.h"
+
+ * eq.c: Added #include "ramap.h"
+
+ * options.c: Documentation fixes.
+
+ * srcprop.c (scm_finish_srcprop): Bugfix: update ptr.
+ (scm_init_srcprop): Adjusted size of initial source-whash. Name
+ changes: tc16_srcprops --> scm_tc16_srcprops, _scm_make_srcprops
+ --> scm_make_srcprops
+
+ * srcprop.h: Name changes: tc16_srcprops --> scm_tc16_srcprops,
+ _scm_make_srcprops --> scm_make_srcprops; Remove one layer of
+ function calls in the definition of the whash access macros.
+
+Tue Sep 17 11:33:16 1996 Lee Iverson <leei@Canada.AI.SRI.COM>
+
+ * init.c (scm_boot_guile): Add level of indirection to
+ scm_boot_guile_1() to ensure that stack base pointer is properly
+ initialized. There was no guarantee that variable i was the
+ highest/lowest variable on stack (i.e. the call frame of
+ scm_boot_guile was not completely protected from gc).
+
+Tue Sep 17 01:40:56 1996 Gary Houston <ghouston@actrix.gen.nz>
+
+ * ports.h (scm_port_table): put back file_name, it will be used to
+ support debugging. Undo related changes in fports.c, ioext.c,
+ ports.c, gc.c.
+
+Sun Sep 15 03:58:29 1996 Gary Houston <ghouston@actrix.gen.nz>
+
+ * ports.h (scm_port_table): remove file_name member for now, it seems
+ undesirable.
+ * fports.c (scm_open_file): don't set file_name in PTAB.
+ (prinfport): don't use file_name in PTAB.
+ * ioext.c (scm_sys_duplicate_port): don't set file_name in PTAB.
+ * ports.c (scm_add_to_port_table): don't intialize file_name.
+ (scm_port_file_name): remove for now.
+ * gc.c (scm_gc_mark): don't mark PTAB file_name.
+
+ * fports.h (scm_mkfile): prototype deleted.
+ * fports.c (scm_mkfile): merged into scm_open_file to simplify.
+
+ * debug.c, unif.c: use scm_out_of_range instead of
+ wta for range errors (ASSERT still needs work).
+
+ * error.c, error.h (scm_out_of_range): new procedure.
+
+ * error.c, error.h (scm_out_of_range_key): new key.
+
+ * posix.c (scm_sync): #else was missing.
+
+ * error.c, error.h: append _key to names scm_num_overflow and
+ scm_system_error.
+
+ * __scm.h (SCM_SYSMISSING, SCM_NUM_OVERFLOW): use SCM_BOOL_F instead
+ of consing an empty list.
+ (SCM_SYSERROR etc.): move into error.c, make them procedures instead
+ of macros, saves code and string space.
+ error.c, fports.c, numbers.c, posix.c, ioext.c, filesys.c, socket.c,
+ fdsocket.c, simpos.c: change names of SCM_SYSERROR etc., to
+ lower case. Rename scm_syserror_m to scm_syserror_msg.
+ error.h: prototypes for new procedures.
+
+Sat Sep 14 03:35:41 1996 Gary Houston <ghouston@actrix.gen.nz>
+
+ * numbers.c: use SCM_NUM_OVERFLOW instead of scm_wta or ASSERT.
+
+ * error.c, error.h: setup scm_num_overflow key.
+
+ * __scm.h: SCM_NUM_OVERFLOW: macro for reporting numerical overflow.
+ Remove definition of SCM_OVSCM_FLOW.
+
+ * fports.c (scm_open_file): use SCM_SYSERROR_M.
+
+ * __scm.h: SCM_SYSERROR_M: new macro for system errors with an
+ explicit message and args.
+
+ * error.c, error.h, __scm.h: change system_error_sym to
+ scm_system_error.
+
+ * error.c (system_error_sym): remove leading %% from the Scheme name
+ "%%system-error".
+
+ * __scm.h (SCM_SYSMISSING): Redefine using lgh_error.
+
+Fri Sep 13 12:58:08 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
+
+ * __scm.h, chars.c, debug.c, eval.c, eval.h, extchrs.c, extchrs.h,
+ fdsocket.c, feature.c, mbstrings.c, mbstrings.h, numbers.c,
+ numbers.h, print.c, scmhob.h, simpos.h, symbols.c, symbols.h,
+ tags.h, throw.c, variable.h: Name cleanup. Lots of xxxSCM_yyy
+ renamed. (These were introduced by unsupervised name
+ substitution.)
+
+Fri Sep 13 01:19:08 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
+
+ * print.c: Added code for detection of circular references during
+ printing. (init_ref_stack, grow_ref_stack): New functions. Added
+ a hook for printing of closures (accessible via print options).
+ This leads to a split of calls to scm_iprin1 into two classes:
+ elementary print operations (e. g. the code which prints a smob)
+ still use scm_iprin1 while top level calls (like scm_display) use
+ scm_prin1. scm_prin1 begins by clearing the data structure used
+ to record reference information.
+
+ * print.h: Added declarations of scm_prin1 and scm_prlist.
+
+ * strports.c (scm_strprint_obj): scm_iprin1 --> scm_prin1
+
+ * gscm.c (gscm_portprint_obj): scm_iprin1 --> scm_prin1
+
+ * gscm.h (gscm_print_obj): scm_iprin1 --> scm_prin1
+
+ * error.c (err_head): scm_iprin1 --> scm_prin1
+
+ * debug.c: Adjusted header comment.
+
+ * tags.h: Typo.
+
+Wed Sep 11 17:55:59 1996 Jim Blandy <jimb@totoro.cyclic.com>
+
+ * strerror.c: Doc fix.
+
+Thu Sep 12 00:00:32 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
+
+ * gdbint.c (gdb_read): Now possible to run during GC.
+ (unmark_port, remark_port): New functions.
+
+ * symbols.h (SCM_SETLENGTH): Use SCM_SETCAR.
+
+ * read.c (scm_grow_tok_buf): Use scm_vector_set_length_x instead
+ of allocating a new string object. Also, increase size by
+ the factor 2 instead of 1.5.
+
Wed Sep 11 15:10:38 1996 Petr Adamek <jimb@floss.cyclic.com>
* __scm.h (SCM_P): Corrected to run under traditional C.
* feature.c: ... #include "libpath.h" here.
* .cvsignore: Ignore libpath.h.
-* Don't install the unwashed masses of Guile header files in the
+ Don't install the unwashed masses of Guile header files in the
main #include path; put most of them in a subdirectory called
'libguile'. This avoids naming conflicts between Guile header
files and system header files (of which there were a few).
* acconfig.h: Added symbols for debugging support.
-* * configure.in: Added user option for debugging support.
+ * configure.in: Added user option for debugging support.
--enable-debug will include the debugging code into libguile.a.
* continuations.c (scm_make_cont): Enlarged the #if 0 around
scm_relocate_chunk_to_heap.
-* * debug.c: New file: low-level debugging support. It also
+ * debug.c: New file: low-level debugging support. It also
includes support for debugging with gdb. (The extensions to gdb
are written by Per Bothner at Cygnus.)
* debug.h: New file: low-level debugging support.
-* * eval.c: scm_m_set and SCM_IM_SET no longer supports multiple
+ * eval.c: scm_m_set and SCM_IM_SET no longer supports multiple
argument pairs. Extensive modifications to the debugging
evaluator. Added "SECTION:" commentaries to clarify what happens
when, during double compilation. Renamed EVALIMP --> EVALIM.
* libguile.h: Conditionally include debug.h
-* * objprop.c (scm_object_properties, scm_set_object_properties_x):
+ * objprop.c (scm_object_properties, scm_set_object_properties_x):
scm_object_properties shouldn't return handle. `handle' now gets
initialized in scm_set_object_properties_x. scm_object_properties
doesn't any longer create an entry in scm_object_whash.
-* * options.c: New file: handling of run time options.
+ * options.c: New file: handling of run time options.
* options.h: New file: handling of run time options.
* posix.c (scm_getpgrp): Cast pointer to getpgrp.
-* * print.c: New procedure: scm_print_options
+ * print.c: New procedure: scm_print_options
* print.h: Defines for print options.
-* * read.c: New procedure: scm_read_options
+ * read.c: New procedure: scm_read_options
* read.h: Defines for reader options.
* root.h: Added scm_source_whash among scm_sys_protects.
-* * srcprop.c: New file: source properties.
+ * srcprop.c: New file: source properties.
* srcprop.h: New file: source properties.
* throw.c (jbsmob): Jump buffers are now correctly allocated.
(Bug found by A. Green.)
-* * weak.c: Renamed scm_weak_hash_table --> scm_weak_key_hash_table.
+ * weak.c: Renamed scm_weak_hash_table --> scm_weak_key_hash_table.
* weak.h: Renamed scm_weak_hash_table --> scm_weak_key_hash_table.
Fri Aug 9 11:09:28 1996 Jim Blandy <jimb@totoro.cyclic.com>
-* * init.c (scm_boot_guile): Add init_func argument; call
+ * init.c (scm_boot_guile): Add init_func argument; call
(*init_func) instead of calling scm_appinit; it's ucky to
hard-code names for the user's procedures.
* init.h (scm_boot_guile): Adjust declaration.
* ioext.c (scm_sys_fdopen): fix the port-table assignment.
-* * fports.c (scm_open_file): don't return #f, throw error.
+ * fports.c (scm_open_file): don't return #f, throw error.
-* * ioext.c (fileno): renamed from %fileno.
+ * ioext.c (fileno): renamed from %fileno.
(soft-fileno): deleted.
* ports.c (scm_port_revealed): don't need to check for -1 from
scm_revealed_count.
(scm_set_port_revealed_x): return unspecified, not #f.
-* * ioext.c (primitive-move->fdes): return #t or #f, not 1 or 0.
+ * ioext.c (primitive-move->fdes): return #t or #f, not 1 or 0.
* fdsocket.c: getsockopt, setsockopt: use HAVE_STRUCT_LINGER.
Wed Jul 31 23:43:05 1996 Gary Houston <ghouston@actrix.gen.nz>
-* * numbers.c: rename %expt -> $expt, %atan2 -> $atan2, as it must
+ * numbers.c: rename %expt -> $expt, %atan2 -> $atan2, as it must
have been once.
-* * posix.c, ioext.c, socket.c, fdsocket.c, files.c, filesys.c, simpos.c:
+ * posix.c, ioext.c, socket.c, fdsocket.c, files.c, filesys.c, simpos.c:
Remove leading % from scheme names.
Do not return error values, call SCM_SYSERROR or similar.