+1999-06-09 Jim Blandy <jimb@savonarola.red-bean.com>
+
+ * Makefile.am (ice9_sources): Add popen.scm to list.
+ * Makefile.in: Regenerated.
+
+ Fixes for expect from Gary Houston <ghouston@easynet.co.uk>:
+
+ * expect.scm (expect-regexec): define 'eof-next?'. I don't
+ know why it was missing. also don't peek for end of lines
+ unless expect-strings-exec-flags contains regexp/noteol.
+ (expect-strings-exec-flags): initialise to regexp/noteol.
+
+ Gary Houston's open-buffer port patches:
+
+ 1999-04-01 Gary Houston <ghouston@easynet.co.uk>
+
+ * popen.scm: applied fixes from Greg Harvey. use a guardian
+ and a gc-thunk so that cleanup is done if a pipe is garbage
+ collected or closed with close-port. use a weak hash-table instead of
+ an alist.
+
+ 1999-03-20 Gary Houston <ghouston@easynet.co.uk>
+
+ * expect.scm (expect): call the match proc with the port instead.
+ (expect-strings): use peek-char to get the next char. this has
+ the advantage of getting the handling of $ "correct", but the
+ disadvantage of needing to get (and maybe block for) an extra character
+ from the port when it may not be needed. hence:
+ (expect-strings-exec-flags): new variable/parameter, supplies
+ flags for regexp-exec. if this includes regexp/noteol, then
+ automatic regexp/noteol handling (requiring an extra peeked char)
+ is enabled. default is regexp/noteol.
+ (expect-strings-compile-flags): new variable/parameter, supplies
+ flags for make-regexp. default is regexp/newline.
+
+ 1999-03-15 Gary Houston <ghouston@easynet.co.uk>
+
+ * expect.scm (expect): call the match proc with an extra char,
+ peeked from the stream.
+ (expect-strings): build a match proc which takes the extra char.
+ (expect-regexec): take an extra arg "eof-next?" and use it
+ to decide whether the regexp/noteol flag should be added.
+
+ 1999-02-26 Gary Houston <ghouston@easynet.co.uk>
+
+ * boot-9.scm (top-repl): don't flush all ports at exit.
+ (error-catching-loop): likewise.
+
+ 1998-12-23 Gary Houston <ghouston@easynet.co.uk>
+
+ * boot-9.scm (scm-style-repl): -read: don't call
+ consume-trailing-whitespace if val is eof object. Allows
+ exiting repl with single control-D.
+
+ 1998-12-06 Gary Houston <ghouston@easynet.co.uk>
+
+ * boot-9.scm (error-catching-loop): don't force output within
+ error catching loop after quit received.
+ (top-repl): flush all ports when the repl terminates.
+
+ * boot-9.scm (error-catching-loop): flush all ports before
+ primitive exit if non-interactive.
+ force-output on current-error-port if interactive.
+
+ * boot-9.scm (reopen-file): deleted.
+ * popen.scm (open-output-pipe, open-input-pipe): moved from
+ boot-9.scm.
+ * popen.scm: new file.
+
+1999-06-04 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * boot-9.scm (iota): replaced by a tail recursive version.
+ (reverse-iota): removed.
+
+1999-06-03 Mikael Djurfeldt <mdj@mdj-pc.nada.kth.se>
+
+ * optargs.scm (lambda*): Bugfix: Replaced ARGLIST -->
+ non-optional-args. (Thanks to David Lutterkort.)
+
+1999-05-09 Jim Blandy <jimb@savonarola.red-bean.com>
+
+ * string-case.scm: Removed; functions moved to libguile/strop.c
+ (which could be dynamically linked in the future anyway).
+ * Makefile.am (ice9_sources): Don't list string-case.scm.
+ * Makefile.in: Regenerated.
+ * format.scm: Don't bother importing (ice-9 string-case).
+
+1999-05-02 Jim Blandy <jimb@savonarola.red-bean.com>
+
+ * boot-9.scm (provided?): New function.
+
+ * Makefile.am: Add string-case.scm and format.scm to ice9_sources.
+ * Makefile.in: Regenerated.
+
+ * string-case.scm: New file, brought in from SLIB, and adapted to
+ Guile's module system.
+
+ * format.scm: New file, brought in from SLIB, with the following
+ changes:
+ (format:format): If the first argument is the format string, stick
+ a #f on the front of it, so it is now a valid CL format argument
+ list. This is easier than changing everyplace else (like the
+ error formatter) that expects it to be in CL form. The other
+ clause which explicitly tests for this case is now dead code.
+ (format:format-work): Allow `@' and `:' in either order, as per
+ modern CL behavior.
+ (format:num->cardinal): Don't assume that an elseless if returns
+ '() when the condition is false.
+
+1999-04-17 Jim Blandy <jimb@savonarola.red-bean.com>
+
+ * Makefile.in: Regenerated.
+
+1999-04-08 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * boot-9.scm: Provide 'values.
+
+1999-03-21 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
+
+ * boot-9.scm (process-define-module, use-syntax): Bugfix:
+ :use-syntax should add syntax to using module, not current module.
+ (internal-use-syntax): Removed.
+
+1999-03-21 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * session.scm (apropos-internal): Modified to comply with new
+ argument order for hash-fold.
+
+1999-03-19 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
+
+ * boot-9.scm (try-load-module): New procedure. Broken out from
+ resolve-module.
+ (resolve-module): Bugfix: Make it possible for a module at a
+ deeper level (x y z) to depend on a module on a higher (x y).
+
+ This also has the desired side-effect that multiple attempts to
+ load a module (e.g. with `use-modules') work until source is
+ actually found for the module (e.g. because the correct catalog
+ has been added to the load path).
+
+ Use try-load-module.
+
+1999-03-18 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * session.scm (system-module): New procedure. Used to switch a
+ module between system and user state.
+
+1999-03-16 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * session.scm (apropos-internal): Rewritten using hash-fold.
+
+ * emacs.scm, session.scm, slib.scm): Added :no-backtrace in module
+ definition.
+
+1999-03-14 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
+
+ * boot-9.scm (make-record-type): Use `set-struct-vtable-name!' to
+ associate a name to the record type descriptor so that the object
+ system can create a wrapper class for it.
+
+1999-03-12 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ Improvement of backtraces: Introduces a new stack narrowing
+ specifier, #t, for the inner cut. If the inner cut is specified
+ by #t, `make-stack' will throw away inner stack frames (most
+ recent calls on call chain) up to but excluding the first user
+ stack frame encountered.
+
+ This specifier is now used in `save-stack' so that the call
+ `(save-stack)' will get the new behaviour. [It is recommended that
+ any error reporting functions written by the user have this call
+ on the outermost expression level (i.e. as a member of the lambda
+ list).]
+
+ Modules are partitioned into "user" and "system" modules. [I know
+ that some names used here are silly, but I don't have more time to
+ spend on a better solution, especially considering that the module
+ system will be replaced. But if people have better ideas, then
+ please tell me!]
+
+ System modules are created by adding :no-backtrace among the
+ define-module switches:
+
+ (define-module (foo)
+ :no-backtrace)
+
+ Modules which doesn't have the :no-backtrace specifier are user
+ modules.
+
+ A stack frame is classified as a user frame if it has source code
+ associated with it and if this source code can be proven to come
+ from a user module. If it can be proven to come from a system
+ module it is a system frame.
+
+ Frames which can't be classified, e.g. application frames, are cut
+ away if they occur between system frames, but are left on the
+ stack if they occur between the last system frame and the first
+ user frame encountered. (Note that the first user frame
+ encountered is the last user code being evaluated!)
+
+ In some cases the system part of the call chain is introduced by
+ frames which should but can't be proven to be system frames. The
+ following workaround has been implemented: The cutting proceeds
+ over application frames where the operator is marked by the
+ `system-procedure' property. (This has been used to cut away
+ generic function dispatch code in the object system.)
+
+ * boot-9.scm (set-system-module!): New procedure: Set system/user
+ status of a module.;
+ Mark `the-root-module' and `the-scm-module' as system modules.
+ (process-define-module): Add new keyword :no-backtrace.
+
+ * boot-9.scm (environment-module): Bugfixed.
+ (set-module-eval-closure!): Add a pointer back from the eval
+ closure to the module.
+
+ * emacs.scm (emacs-load): Reset port filename after transfer.
+
+1999-03-03 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * slib.scm (make-random-state): Added for compatibility.
+
+1999-02-16 Maciej Stachowiak <mstachow@alum.mit.edu>
+
+ * optargs.scm (lambda*): Handle empty argument lists properly.
+
+1999-02-15 Jim Blandy <jimb@savonarola.red-bean.com>
+
+ Fix from Russ McManus:
+ * getopt-long.scm (parse-option-spec): Store 'optional as the
+ value-required? field for options that take optional values.
+ (process-short-option): Grab a value for the option when it takes
+ either an optional or required value.
+
+1999-02-12 Jim Blandy <jimb@savonarola.red-bean.com>
+
+ * getopt-long.scm: Remove debugging calls to `pk'.
+
+ * getopt-long.scm: Return list of ordinary arguments as the value
+ of the '() key, not `rest'.
+
+ A new argument-processing package from Russ McManus.
+ * getopt-long.scm: New file.
+ * Makefile.am (ice9_sources): Added getopt-long.scm.
+ * Makefile.in: Regenerated.
+
+1999-02-09 Maciej Stachowiak <mstachow@alum.mit.edu>
+
+ * optargs.scm: New file.
+ * Makefile.am (ice9_sources): Add optargs.scm here. Makefile.in
+ not regenerated because I don't have the right version of Automake.
+
+1999-02-06 Jim Blandy <jimb@zwingli.cygnus.com>
+
+ * and-let*.scm: New file, from Michael Livshin.
+ * Makefile.am (ice9_sources): Add and-let* here.
+ * Makefile.in: Regenerated.
+
+1999-01-11 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * slib.scm (install-require-module): Fixed the kludge which loads
+ the slib catalog: Doesn't anylonger assume that the feature tested
+ for isn't loaded.
+
+1998-12-14 Jim Blandy <jimb@zwingli.cygnus.com>
+
+ * Makefile.in: Regenerated.
+
+1998-12-14 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * boot-9.scm (process-define-module): Reverted the change of
+ 1998-11-23 which caused loading of object code if :use-module was
+ applied to the module itself.
+
+1998-12-11 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
+
+ * Makefile.am: Removed setf.scm.
+
+ * setf.scm: Removed. 1. It was buggy. 2. It was unschemey.
+ (These shortcomings were my fault.)
+
+1998-12-10 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * boot-9.scm (environment-module): New procedure.
+
+1998-12-07 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
+
+ * Makefile.am: Added setf.scm.
+
+1998-12-05 Christian Lynbech <chl@tbit.dk>
+
+ * setf.scm: New file. Adds the new forms `setf!' and `setter'
+ which implements generalized references a la Common LISP.
+
+1998-12-02 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
+
+ * boot-9.scm (process-define-module): Added new specifier
+ :autoload MODULENAME BINDINGS to the define-module form.
+ The autoload specifier tells the module system to load the module
+ MODULENAME at the first occasion that any variable with its name
+ among BINDINGS is referenced.
+ (make-autoload-interface): New procedure: Constructs a stand-in
+ for the public interface for the module to be autoloaded.
+
+1998-12-01 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
+
+ * boot-9.scm (*suppress-old-style-hook-warning*): Set this to #t
+ if you don't want the old style hook warnings.
+
1998-12-01 Christian Lynbech <chl@tbit.dk>
* boot-9.scm (try-using-libtool-name): Fix check on dlname to make