*** empty log message ***
[bpt/guile.git] / ice-9 / ChangeLog
index 5cf88b7..3f14cf6 100644 (file)
@@ -1,3 +1,312 @@
+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