New tests of excess arguments now ignored.
[bpt/guile.git] / ice-9 / ChangeLog
index 4d7d4d5..8676adc 100644 (file)
@@ -1,5 +1,528 @@
+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.