+2004-08-27 Kevin Ryde <user42@zip.com.au>
+
+ * regex.scm (regexp-quote): [ and | must be quoted. Quote ( ) { + ?
+ using char class [(] etc since \( in fact makes them become special in
+ regexp/basic.
+
+2004-08-25 Kevin Ryde <user42@zip.com.au>
+
+ * and-let-star.scm (and-let*): Give #t for an empty body, per srfi-2
+ spec, previously came out as an empty (begin).
+
+2004-08-25 Marius Vollmer <mvo@zagadka.de>
+
+ * boot-9.scm (%cond-expand-features): Added srfi-13 and srfi-14.
+
+2004-08-20 Marius Vollmer <marius.vollmer@uni-dortmund.de>
+
+ * debugger/utils.scm (display-source): Use unmemoize-expr instead
+ of unmemoize.
+ (write-frame-short/expression): Likewise.
+
+2004-08-18 Kevin Ryde <user42@zip.com.au>
+
+ * and-let-star.scm: Add cond-expand-provide srfi-2, since this module
+ provides that feature.
+ * receive.scm: Add cond-expand-provide srfi-8, since this module
+ provides that feature.
+
+2004-08-09 Marius Vollmer <mvo@zagadka.de>
+
+ From Matthias Koeppe. Thanks!
+
+ * pretty-print.scm (generic-write): In the local procedure `wr', use
+ object->string to print all data (except for the reader macros),
+ rather than implementing an own printer. The user-visible
+ difference is that procedures and control characters like #\tab
+ are now printed in the same way as by `write'.
+
+2004-08-09 Kevin Ryde <user42@zip.com.au>
+
+ * slib.scm (*features*): Remove array and array-for-each, core
+ definitions are insufficient for latest slib.
+ (t, nil): New constants slib says are supposed to exist.
+ (call-with-open-ports, browse-url): New functions for latest slib.
+ Implementations taken from Template.scm (public domain).
+ (open-file): Extend core definition to accept symbols for the mode,
+ required by latest slib.
+ (delete-file): Replace core definition with version returning #t/#f as
+ per slib spec.
+ (system): Mark as #:replace to suppress override warning, use new
+ style "(@ (guile) system)" to call core function.
+
+2004-05-25 Matthias Koeppe <mkoeppe@mail.math.uni-magdeburg.de>
+
+ * format.scm: Remove the arbitrary limit of 100 iterations for the
+ ~{...~} control structure.
+
+2004-07-10 Kevin Ryde <user42@zip.com.au>
+
+ * and-let-star.scm (and-let*): Remove unused variable "val".
+ * pretty-print.scm (read-macro-prefix): Remove unused variable "tail".
+
+ * boot-9.scm (%cond-expand-features): Add srfi-6 which is in the core.
+
+ * safe-r5rs.scm (re-export): Uncomment numerator, denominator,
+ rationalize, since they now exist.
+
+2004-07-05 Kevin Ryde <user42@zip.com.au>
+
+ * slib.scm (system): Correction to redefinition, now guile is stricter
+ about when a define binding comes into existance.
+
+2004-05-29 Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
+
+ * boot-9.scm: Reordered definitions such that macro definitions
+ preceed their first usage. Include and define deprecated stuff
+ late in the file to have a better change of detecting accidental
+ uses of deprecated definitions. Further, unified the layout a
+ little and grouped definitions more cleanly into topics.
+
+2004-05-24 Marius Vollmer <mvo@zagadka.de>
+
+ * history.scm (use-value-history): Use resolve-interface instead
+ of resolve-module so that only the exported bindings are searched.
+ (save-value-history): Export the newly defined variable. Reported
+ by Wolfgang Jaehrling.
+
+2004-05-04 Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
+
+ * boot-9.scm (resolve-module): Always start searching from the
+ root module. This will allow the C equivalent scm_resolve_module
+ to work, independent of what the current module is.
+
+2004-02-18 Marius Vollmer <mvo@zagadka.de>
+
+ * boot-9.scm (top-repl): Make the (guile-user) module use the
+ (ice-9 r5rs) module.
+
+2004-02-12 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ * boot-9.scm (module-map): Renamed hash-map -> hash-map->list.
+
+2004-02-09 Neil Jerram <neil@ossau.uklinux.net>
+
+ * debugger/trap-hooks.scm (debug-hook-membership): New, exported.
+
+ * debugger/commands.scm (debug-trap-hooks): New, exported.
+
+2004-02-08 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ * debugger/breakpoints/Makefile.am (TAGS_FILES),
+ debugger/Makefile.am (TAGS_FILES), Makefile.am (TAGS_FILES): Use
+ this variable instead of ETAGS_ARGS so that TAGS can be built
+ using separate build directory.
+
+2004-01-20 Neil Jerram <neil@ossau.uklinux.net>
+
+ * boot-9.scm (error-catching-loop): Back out 2003-11-19 change to
+ lazy-handler-dispatch lookup.
+
+2004-01-12 Marius Vollmer <mvo@zagadka.de>
+
+ * mapping.scm: Use '#:' prefix for keywords instead of ':'.
+ Thanks to Richard Todd!
+
+2004-01-11 Kevin Ryde <user42@zip.com.au>
+
+ * slib.scm (system): New function, giving an exit code return in
+ accordance with slib spec.
+
+ Revert this, it breaks test-suite/tests/r5rs_pitfalls.test where
+ false-if-exception is used within syntax-rules. (Suspect syntax-rules
+ ought to support this sort of thing, but it doesn't right now.)
+ * boot-9.scm (false-if-exception): Unquote catch and lambda, so as not
+ to depend on expansion environment.
+
+2004-01-07 Marius Vollmer <marius.vollmer@uni-dortmund.de>
+
+ * boot-9.scm (with-fluids): Use with-fluid* when only one fluid is
+ being set.
+
+2004-01-07 Kevin Ryde <user42@zip.com.au>
+
+ * q.scm (q-pop!): Should be "null?" not "not" for end-of-list.
+ Reported by Richard Todd.
+
+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.
+
+ * slib.scm (-1+, <?, <=?, =?, >?, >=?): Define as aliases for 1-, <,
+ <=, =, >, >= respectively, required by slib 'rev2-procedures but no
+ longer in the guile core.
+
+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