*** empty log message ***
[bpt/guile.git] / libguile / ChangeLog
index 9733db4..5cff4a7 100644 (file)
+Thu Apr 24 00:41:08 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       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"
@@ -14,7 +1070,7 @@ Sat Dec 21 00:33:03 1996  Gary Houston  <ghouston@actrix.gen.nz>
        (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 CDR in the car if
+       (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.
@@ -197,10 +1253,10 @@ Fri Dec 13 16:12:14 1996  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
                   (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
+       * 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
+       * 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>
@@ -372,7 +1428,7 @@ Wed Nov  6 16:01:20 1996  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
 
 Sat Nov  2 21:01:48 1996  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
 
-*      * stacks.c, stacks.h (scm_make_stack): Now takes arbitrary
+       * 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
@@ -380,21 +1436,21 @@ Sat Nov  2 21:01:48 1996  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
 
        * root.c (cwdr): Bugfix.
 
-*      * read.c: Recording of positions disabled by default.
+       * read.c: Recording of positions disabled by default.
 
-*      * procs.c (scm_closure_p): New function.
+       * procs.c (scm_closure_p): New function.
 
-*      * posix.c (scm_tmpnam): 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
+       (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.
+       * load.c, load.h (scm_read_and_eval_x): New function.
 
-*      * eval.c: Renamed debug option "deval" to "debug".
+       * eval.c: Renamed debug option "deval" to "debug".
        
-*      (scm_eval_x): `eval!' is no longer accessible from the scheme
+       (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.
@@ -406,7 +1462,7 @@ Sat Nov  2 21:01:48 1996  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
        (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
+       * debug.h: Changed semantics of debug option "backtrace".  This
        option now only indicates whether we want automatic backtrace at
        an error.
        
@@ -472,26 +1528,26 @@ Mon Oct 28 16:48:32 1996  Jim Blandy  <jimb@floss.cyclic.com>
        * Makefile.in (strports.o): Update dependencies.
        * strports.h: New prototype.
 
-*      * numbers.c (scm_integer_p): Renamed from scm_int_p; change its
+       * 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,
+       * 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
+       * 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
+       (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
+       * 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.
 
@@ -553,7 +1609,7 @@ Tue Oct 22 20:54:42 1996  Jim Blandy  <jimb@floss.cyclic.com>
        (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
+       * 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.
@@ -581,11 +1637,11 @@ Tue Oct 22 20:54:42 1996  Jim Blandy  <jimb@floss.cyclic.com>
        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
+       * 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.c (scm_set_program_arguments): New function.
        * feature.h: New declaration for the above.
 
        * ports.c: Formatting tweak.
@@ -782,7 +1838,7 @@ Mon Oct 14 04:21:51 1996  Mikael Djurfeldt  <mdj@woody.nada.kth.se>
        * print.h: Added declarations for scm_make_print_state,
        scm_free_print_state.
        
-*      * debug.c (scm_m_start_stack): New acro.
+       * debug.c (scm_m_start_stack): New acro.
 
        * debug.h: Small cleanup.
 
@@ -992,7 +2048,7 @@ Tue Oct  1 00:00:10 1996  Mikael Djurfeldt  <mdj@woody.nada.kth.se>
        allocate the basic dynamic root object.
        (scm_boot_guile): Added call to scm_init_root.
 
-*      * root.c, root.h: Added root smob.
+       * 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
@@ -1073,7 +2129,7 @@ Tue Sep 24 06:48:38 1996  Gary Houston  <ghouston@actrix.gen.nz>
 
 Mon Sep 23 00:42:15 1996  Mikael Djurfeldt  <mdj@kenneth>
 
-*      * print.c (scm_iprin1, scm_prin1, scm_iprlist): Circular
+       * 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
@@ -1172,7 +2228,7 @@ Thu Sep 19 00:00:29 1996  Gary Houston  <ghouston@actrix.gen.nz>
 
        * 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_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,
@@ -1305,7 +2361,7 @@ Fri Sep 13 12:58:08 1996  Mikael Djurfeldt  <mdj@woody.nada.kth.se>
 
 Fri Sep 13 01:19:08 1996  Mikael Djurfeldt  <mdj@woody.nada.kth.se>
 
-*      * print.c: Added code for detection of circular references during
+       * 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:
@@ -1758,7 +2814,7 @@ Wed Sep  4 00:55:49 1996  Jim Blandy  <jimb@floss.cyclic.com>
        * 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).
@@ -1948,19 +3004,19 @@ Tue Aug 20 18:48:40 1996  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
 
        * 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.
@@ -1982,35 +3038,35 @@ Tue Aug 20 18:48:40 1996  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
        
        * 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.
 
@@ -2038,7 +3094,7 @@ Wed Aug 14 21:41:37 1996  Jim Blandy  <jimb@totoro.cyclic.com>
        
 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.
@@ -2151,16 +3207,16 @@ Sat Aug  3 01:27:14 1996  Gary Houston  <ghouston@actrix.gen.nz>
 
        * 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.
 
@@ -2193,10 +3249,10 @@ Thu Aug  1 08:22:24 1996  Gary Houston  <ghouston@actrix.gen.nz>
 
 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.