+2004-01-04 Kevin Ryde <user42@zip.com.au>
+
+ * boot-9.scm (false-if-exception): Unquote catch and lambda, so as not
+ to depend on expansion environment.
+
+2003-11-19 Neil Jerram <neil@ossau.uklinux.net>
+
+ * boot-9.scm (error-catching-loop): Defer lookup of
+ lazy-handler-dispatch.
+
+2003-11-17 Marius Vollmer <mvo@zagadka.de>
+
+ * boot-9.scm (@, @@): New macros.
+
+2003-11-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * boot-9.scm: Started comment about module system workings.
+
+2003-11-11 Neil Jerram <neil@ossau.uklinux.net>
+
+ * debugger.scm: Change ui-* calls to gds-*.
+ (debug-on-error): Debug if throw key is in specified syms, not if
+ it isn't! Also throw 'abort after debugging, so as to skip the
+ REPL's backtrace.
+
+ * debugger/behaviour.scm (*trap*): New variable, stores trap type.
+ (before-enter-frame-hook, before-apply-frame-hook,
+ before-exit-frame-hook): Set here.
+ (debug-if-flag-set): Passed into flags on debug-stack call.
+ (at-step, at-next): Changed to debug at frame exit points as well.
+
+ * debugger/utils.scm: Big comment added.
+
+2003-10-30 Neil Jerram <neil@ossau.uklinux.net>
+
+ * debugger/ui-client.scm: Moved to ../emacs/gds-client.scm.
+
+2003-10-16 Neil Jerram <neil@ossau.uklinux.net>
+
+ * debugger/ui-client.scm (ui-connect): Add arg to say whether to
+ debug immediately on connection.
+ (ui-eval): Handle exceptions during read and evaluation.
+
+ * debugger.scm (debug-on-error, default-default-lazy-handler):
+ Remove an unnecessary level of indirection in calling lazy
+ handler.
+
+2003-10-12 Marius Vollmer <mvo@zagadka.de>
+
+ * ftw.scm (directory-files): Close dir-stream when done. Thanks
+ to Paul Jarc!
+
+2003-10-09 Kevin Ryde <user42@zip.com.au>
+
+ * poe.scm (funcq-assoc): Rewrite, don't assume '() is false, and
+ actually traverse the given alist.
+
+2003-10-06 Neil Jerram <neil@ossau.uklinux.net>
+
+ * debugger/ui-client.scm (handle-instruction): Add evaluation
+ support.
+ (ui-eval): New.
+
+2003-10-04 Neil Jerram <neil@ossau.uklinux.net>
+
+ * debugger/ui-client.scm (ui-disable-async-thread,
+ ui-continue-async-thread, start-async-ui-thread): New.
+ (ui-command-loop): Call ui-disable-async-thread and
+ ui-continue-async-thread.
+ (handle-instruction): Read terminating newline char so it doesn't
+ cause following select to pop immediately.
+
+2003-09-25 Neil Jerram <neil@ossau.uklinux.net>
+
+ * debugger/ui-client.scm, debugger/ui-server.scm: New (work in
+ progress on new debugging front end).
+
+2003-09-24 Neil Jerram <neil@ossau.uklinux.net>
+
+ * debugger.scm (default-default-lazy-handler, debug-on-error):
+ New.
+
+ * debugger/behaviour.scm (debug-if-flag-set): Display debug entry
+ messages through (debugger-output-port).
+ (after-exit-frame-hook): Trace through (debugger-output-port).
+ (trace-here): Trace through (debugger-output-port).
+
+ * debugger/commands.scm (evaluate): If supplied expression is a
+ string, read from it before evaluating.
+ (evaluate): Change output format to "EXPR => VALUE".
+
+2003-09-19 Kevin Ryde <user42@zip.com.au>
+
+ * popen.scm (open-process): Correction to previous fdes closing
+ change, need to watch out for stdin==stderr or stdout==stderr.
+
+2003-09-15 Marius Vollmer <mvo@zagadka.de>
+
+ * format.scm (format): Rewritten as a big letrec to make it
+ reentrant. No mutex is necessary. Thanks to Clinton Ebadi!
+
+2003-09-13 Kevin Ryde <user42@zip.com.au>
+
+ * boot-9.scm (file-exists?): Use stat rather than access?, so as to
+ follow the effective UID/GID not the real ID. file-exists? is
+ normally used as a prelude to opening or some other operation, and
+ it's the effective ID which will apply there. Emacs file-exists-p
+ uses stat, presumably for the the same reason.
+
+2003-09-12 Marius Vollmer <mvo@zagadka.de>
+
+ * boot-9.scm (make-autoload-interface): Use a proper hashtable as
+ the obarray, not an empty vector.
+ (make-module): Always construct a hashtable for the obarray, even
+ for empty ones.
+
+ * format.scm (format:error): Use 'format:format' instead of
+ 'format' since the latter will lock the mutex again that we have
+ already locked.
+ (format:format-work): Flag multiple '#' as an error.
+
+2003-08-17 Kevin Ryde <user42@zip.com.au>
+
+ * boot-9.scm (while): Use a new key dynamically for each loop, so
+ break and continue associate to their loop even when recursing.
+
+2003-08-14 Kevin Ryde <user42@zip.com.au>
+
+ * boot-9.scm (while): Rewrite, continue as proper escape, break
+ without return value, break and continue new for each while form,
+ don't depend on bindings in expansion environment.
+
+ * popen.scm (open-process): Close input-fdes, output-fdes and
+ error-fdes after duping them to 0, 1 and 2.
+
+2003-06-19 Kevin Ryde <user42@zip.com.au>
+
+ * threads.scm (parallel): For no forms, use `(values)' not `(begin)'.
+
+2003-05-27 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * boot-9.scm (make-autoload-interface): Added missing quote around
+ vector constant.
+
+2003-05-20 Marius Vollmer <marius.vollmer@uni-dortmund.de>
+
+ * deprecated.scm (list*): Added.
+
+2003-05-10 Kevin Ryde <user42@zip.com.au>
+
+ * documentation.scm (file-commentary, find-documentation-in-file): Use
+ call-with-input-file, to close ports when done.
+
+2003-05-03 Marius Vollmer <mvo@zagadka.de>
+
+ * gap-buffer.scm (point++n!, point+-n!): Use substring-move!
+ instead of substring-move-left! or substring-move-right!. Thanks
+ to Kevin Ryde.
+
+ * deprecated.scm (substring-move-left!, substring-move-right!):
+ New.
+
+ * boot-9.scm (display-usage-report): Use keyword->symbol instead
+ of keyword-symbol, which doesn't exist. Thanks to Kevin Ryde.
+
+ * hcons.scm (hashq-cons-get-handle): Pass only the expected four
+ arguments to hashx-get-handle. Thanks to Kevin Ryde!
+
+ * lineio.scm (make-line-buffering-input-port) Pass 0 as second
+ argument to string-ref. Thanks to Kevin Ryde!
+
+2003-04-25 Mikael Djurfeldt <mdj@kvast.blakulla.net>
+
+ * serialize.scm: New file.
+
+2003-04-24 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ * threads.scm (n-for-each-par-map): New procedure.
+
+2003-04-05 Marius Vollmer <mvo@zagadka.de>
+
+ * Changed license terms to the plain LGPL thru-out.
+
+2003-03-26 Marius Vollmer <marius.vollmer@uni-dortmund.de>
+
+ * deprecated.scm: New file, to collect deprecated things.
+ * Makefile.am (ice9_sources): Added.
+
+ * boot-9.scm: Load "ice-9/deprecated.scm" when appropriate.
+ (try-load-module): Also try the old deprecated method, maybe.
+
+2003-03-22 Marius Vollmer <mvo@zagadka.de>
+
+ * boot-9.scm (call/cc): Added.
+
+2003-03-20 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ * list.scm: New file.
+
+2003-03-19 Marius Vollmer <mvo@zagadka.de>
+
+ * format.scm (format:out-substr): Update the column counter
+ correctly. This fixes the behavior of ~T (tabbing) after ~F, for
+ instance. Thanks to Matthias Koeppe!
+
+2003-03-13 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ * session.scm (apropos): Don't look in duplicates interface.
+
+2003-03-12 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ * boot-9.scm (duplicate-handlers): Make sure the merge-generics
+ and merge-accessors handlers are available also before (oop goops)
+ has been loaded. This is so that people can put them as default
+ handlers without worrying about availability.
+
+ * slib.scm (logical:ipow-by-squaring): Removed.
+
+ * boot-9.scm (ipow-by-squaring): Removed.
+ (default-duplicate-binding-handler): Set default to
+ '(replace warn-override-core warn last)
+
+ * boot-9.scm (module-make-local-var!): Use module-add!.
+ (module-primitive-add!): New function.
+ (resolve-interface): Use
+ (call-with-deferred-observers, module-call-observers): New
+ functions.
+ (module-defer-observers, module-defer-observers-mute,
+ module-defer-observers-table): New variables.
+ (process-define-module, process-use-modules, export, re-export):
+ Use call-with-deferred-observers.
+ (module-duplicates-info, set-module-duplicates-info!): Removed.
+ (module-duplicates-handlers, module-duplicates-interface): New.
+ (module-type): Added duplicates-handlers and
+ duplicates-interface.
+
+ * syncase.scm (eval): Mark as replacement.
+
+ * boot-9.scm (defmacro-public): Use export-syntax instead of export.
+
+ * slib.scm (*features*): Set the core variable instead of defining
+ a local version.
+ (provide, provided?): Mark as replacements.
+
+ * boot-9.scm (beautify-user-module!): Don't install the duplicates
+ handler here.
+ (default-duplicate-binding-handler): Renamed from
+ default-module-duplicates-handler; Removed converter.
+ (process-duplicates): Lookup default duplicates handler dynamically.
+ (default-duplicate-binding-procedures): New parameter.
+
+2003-03-12 Mikael Djurfeldt <mdj@kvast.blakulla.net>
+
+ * slib.scm (identity): Removed. (Provided by core.)
+
+2003-03-11 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ * debugger/command-loop.scm: Prefix all commands imported from
+ (ice-9 debugger command-loop) with debugger:.
+
+ * boot-9.scm (process-duplicates): Use module-import-interface.
+ (module-symbol-interface): Removed.
+ (resolve-interface): Process #:hide; Name custom interfaces
+ appropriately.
+ (module-use!, module-use-interfaces!): Remove existing interfaces
+ on the use-list based on module name rather than interface
+ identity so that custom interfaces truly replaces their previous
+ version.
+
+ * boot-9.scm (module-override!, make-mutable-parameter,
+ lookup-duplicates-handlers, default-module-duplicates-handler):
+ New functions.
+ (process-duplicates): Don't call duplicates handlers for duplicate
+ bindings of the same variable.
+ (process-define-module): Process #:replace.
+ (compile-interface-spec, resolve-interface): Process #:prefix.
+
+ * format.scm (format): Marked as replacement.
+
+ * threads.scm (future, future-ref): Marked as replacements.
+
+2003-03-07 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ These changes enables checking for duplicate imported bindings.
+
+ * boot-9.scm (process-define-module): Handle #:duplicates.
+ (module-use-interfaces! process-duplicates): New functions.
+ (duplicate-handlers): Dictionary of duplicate handlers.
+ (module-symbol-local-binding, module-symbol-binding): Bugfix.
+
+2003-03-04 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ * session.scm (apropos): Use hash-for-each instead of
+ array-for-each.
+
+2003-02-19 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ * boot-9.scm (make-module): Changed default size from 1021 to 31
+ (since the size now adapts).
+ (macro-table, xformer-table): Changed default size from 523 to 61.
+ (make-module): Don't call make-hash-table with zero size.
+
+ * Makefile.am (ice9_sources): Added weak-vector.scm.
+
+ * weak-vector.scm: New file.
+
+ * boot-9.scm (module-clear!): Use hash-clear!.
+ (module-for-each): Use hash-for-each.
+ (module-map): Use hash-map.
+
+2003-02-11 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ * boot-9.scm (make-hash-table): Turned primitive.
+
+2003-01-27 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ * syncase.scm (guile-macro): Strip syntactic information from
+ expression before trying to treat it as a Guile macro call.
+ (Thanks to Kevin Ryde.)
+
+2003-01-24 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ * threads.scm (parallel, letpar): Rewritten.
+
+2003-01-23 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ * threads.scm (par-mapper, n-par-map, n-par-for-each): Use
+ futures.
+
+2003-01-20 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ * occam-channel.scm (alt): New syntax.
+
+ * psyntax.ss (self-evaluating?): Removed. Guile now provides this
+ operator as a primitive procedure.
+ (build-data): Quote vectors (psyntax.ss requires this).
+
+2003-01-19 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ * psyntax.ss (self-evaluating?): Allow procedures implanted in
+ source. (Guile uses this internally.)
+
+2003-01-16 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ * psyntax.ss (build-data): Don't quote self-evaluating expressions
+ in output. (We normally *would* like also these expressions to be
+ quoted, but until Guile's native macros and syncase cooperates
+ better, it is less destructive not to quote.)
+ (self-evaluating?): Removed null? (In Guile, the empty list is not
+ self-evaluating).
+ (sc-chi): Export chi as sc-chi.
+ (external-macro): New syntax type.
+
+ * psyntax.pp: Regenerated.
+
+ * compile-psyntax.scm: Set expansion-eval-closure.
+
+ * boot-9.scm (use-syntax): Return *unspecified*.
+
+ * syncase.scm: Set expansion-eval-closure to
+ the-syncase-eval-closure during booting so that variables are
+ created in the correct module.
+ (syncase): Set expansion-eval-closure.
+ (define-syntax define-syntax-public eval-when fluid-let-syntax
+ identifier-syntax let-syntax letrec-syntax syntax syntax-case
+ syntax-rules with-syntax include): Removed definitions (these are
+ created from within psyntax.pp).
+ Enable expansion of Guile macros during a syntax-case
+ transformation.
+
+2003-01-10 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ * occam-channel.scm (make-channel): Renamed from channel.
+ (make-timer): New function.
+
+ * Makefile.am (ice9_sources): Added occam-channel.scm.
+
+ * occam-channel.scm: New file. Implements occam-like channels.
+
+2002-12-28 Neil Jerram <neil@ossau.uklinux.net>
+
+ * boot-9.scm (module-defined-hook): New hook, run whenever a new
+ module is defined.
+ (process-define-module): Run this hook.
+
+2002-12-18 Mikael Djurfeldt <mdj@kvast.blakulla.net>
+
+ * threads.scm: Removed bogus definition of future-ref.
+
+2002-12-15 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ * threads.scm (par-map, par-for-each): Reimplemented using
+ joing-thread.
+ (parallel): Reimplemented using futures.
+ (n-par-map, n-for-each): New procedures.
+
+2002-12-12 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * optargs.scm (improper-list-copy): New.
+ (parse-arglist): Use it instead of list-copy.
+
+2002-12-09 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ * threads.scm (letpar): New macro.
+
+2002-12-08 Rob Browning <rlb@defaultvalue.org>
+
+ * debugger/breakpoints/Makefile.am (subpkgdatadir): VERSION ->
+ GUILE_EFFECTIVE_VERSION.
+
+ * debugger/Makefile.am (subpkgdatadir): VERSION ->
+ GUILE_EFFECTIVE_VERSION.
+
+ * Makefile.am (subpkgdatadir): VERSION -> GUILE_EFFECTIVE_VERSION.
+
+2002-12-04 Mikael Djurfeldt <mdj@linnaeus>
+
+ * threads.scm (parallel): New macro.
+ (par-map, par-for-each): New procedures.
+
+ * documentation.scm (object-documentation): Added support for
+ defmacros.
+
+2002-11-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * boot-9.scm (re-export-syntax): Re-introduced after accidentally
+ removing it in my patch from 2002-11-16.
+
+2002-11-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ Thanks to Mikael Djurfeldt for a bugreport which led to the
+ following changes:
+
+ * slib.scm (%system-define): Removed.
+
+ (define): Changed to use define-private instead of
+ %system-define.
+
+ * boot-9.scm (define-private): Undid my changes from 2002-11-16
+ until Guile supports hygienic macros.
+
+2002-11-17 Neil Jerram <neil@ossau.uklinux.net>
+
+ * emacs.scm (emacs-load): Locally define `read-and-eval!', as it
+ has been removed from the core.
+
+2002-11-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * syncase.scm (define-syntax, eval-when, fluid-let-syntax,
+ identifier-syntax, let-syntax, letrec-syntax, syntax, syntax-case,
+ syntax-rules, with-syntax, include): Changed definitions to form
+ 'real' macro definitions.
+
+2002-11-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * boot-9.scm (define-private, export-syntax, export-syntax):
+ Fixed my previous fix (blush).
+
+2002-11-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * boot-9.scm (define-private, export-syntax, export-syntax):
+ Changed definitions to form 'real' macro definitions.
+
+2002-11-07 Marius Vollmer <marius.vollmer@uni-dortmund.de>
+
+ * format.scm (format): Use 'monitor' properly. Not the definition
+ needs to be restricted, the actual function needs to be.
+
+2002-11-05 Neil Jerram <neil@ossau.uklinux.net>
+
+ * boot-9.scm (define-option-interface): Fix to "simplification"
+ change below.
+
+ * debugger/breakpoints/source.scm: Enable source property
+ recording when module is loaded.
+ (##): Cope with ports whose `filename' is not a string.
+
+2002-11-04 Neil Jerram <neil@ossau.uklinux.net>
+
+ * boot-9.scm (define-option-interface): Simplify code-generation
+ code.
+
+ * debugger/command-loop.scm (read-and-dispatch-command): Import
+ set-readline-prompt dynamically if we need to. (Previous
+ arrangement didn't work if this module was loaded before (ice-9
+ readline).)
+
+2002-11-03 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * format.scm (format): Wrap a monitor around format:format since
+ it is not thread-safe.
+
+2002-10-27 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * threads.scm (%thread-handler): Explicitely return '#f'. This
+ value will be returned by join-thread.
+
+2002-10-26 Neil Jerram <neil@ossau.uklinux.net>
+
+ Merging debugger enhancements previously in separate
+ `guile-debugger' package ...
+
+ * debugger.scm: Factored out into the following constituent parts
+ - see comment in file for more details.
+ (*not-yet-introduced*): New (avoids repeatedly introducing the
+ debugger when entering it from breakpoints).
+ (debug-stack): New.
+ (debug): Rewrite to use more general `debug-stack'.
+
+ * debugger/commands.scm, debugger/command-loop.scm,
+ debugger/state.scm, debugger/utils.scm: New files containing bits
+ of old (ice-9 debugger), plus some rewriting and enhancements for
+ breakpoint support ...
+
+ * debugger/state.scm (state-rtd): Add flags field.
+ (make-state): Extend to optionally take flags.
+ (state-flags): New, accessor for flags field.
+ (set-state-index!, set-stack-index!): New.
+ (write-state-short): Rewritten to print out the current source
+ location in a way that is more easily trackable by Emacs.
+
+ * debugger/commands.scm (assert-continuable, continue, finish,
+ trace-finish, step, next): New debugger commands for continuing
+ execution from a breakpoint.
+
+ * debugger/behaviour.scm, debugger/breakpoints.scm,
+ debugger/breakpoints/procedural.scm,
+ debugger/breakpoints/range.scm, debugger/breakpoints/source.scm,
+ debugger/trap-hooks.scm, debugger/trc.scm: New files - breakpoint
+ support.
+
+ * Makefile.am (SUBDIRS): Add debugger subdirectory.
+
+ * debugger/Makefile.am, debugger/breakpoints/Makefile.am: New.
+
+2002-10-21 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * threads.scm (%thread-handler): Do not call unmask-signals, that
+ should be unnecessary now.
+
+2002-10-20 Mikael Djurfeldt <mdj@linnaeus>
+
+ * boot-9.scm (top-repl): Look for use-emacs-interface in
+ guile-user-module (should it be there?) instead of
+ the-root-module.
+
+2002-10-10 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * boot-9.scm (top-repl): Use 2 as the limit when saving the stack.
+ (error-catching-loop): use call-with-blocked-asyncs and
+ call-with-unblocked-asyncs instead of mask-signals and
+ unmask-signals.
+
+2002-10-09 Neil Jerram <neil@ossau.uklinux.net>
+
+ * buffered-input.scm (make-buffered-input-port): Build an
+ input-waiting thunk for just extended version of make-soft-port.
+
+2002-10-04 Rob Browning <rlb@defaultvalue.org>
+
+ * boot-9.scm (expt): switch if sense and use negative? rather than
+ >= 0.
+
+2002-10-04 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * boot-9.scm (top-repl): Use "1" instead of "%deliver-signals" to
+ limit the signal stack.
+
+2002-09-15 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * boot-9.scm (feature?): Added deprecation message.
+
+2002-09-14 Rob Browning <rlb@defaultvalue.org>
+
+ * boot-9.scm (sqrt): minor indentation fix.
+
+2002-09-05 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * syncase.scm: Set the module transformer of the-syncase-module so
+ that we can use define-syntax.
+ (define-syntax-public): New and exported.
+
+2002-09-04 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * syncase.scm (expansion-eval-closure, env->eval-closure): New.
+ (sc-macro): Set the expansion-eval-closure expanding the form.
+ (putprop, getprop): Use the expansion-eval-closure to find
+ variables instead of the current module.
+
2002-07-08 Marius Vollmer <mvo@zagadka.ping.de>
* slib.scm (make-exchanger): Added. Thanks to Clinton Ebadi!