Added argument checking to trace.
[bpt/guile.git] / ice-9 / ChangeLog
index b5cfe6a..ce8dc7f 100644 (file)
@@ -1,3 +1,367 @@
+Sat Mar  1 15:24:39 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * debug.scm (trace-entry, trace-exit): Check that we're on a repl
+       stack before printing traced frames; Re-enable trace flag at end
+       of handlers.
+
+Sat Mar  1 00:10:38 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * debug.scm: Add hook for reset of trace level at abort.
+
+       * boot-9.scm (run-hooks): New procedure.
+       (add-hooks!): New macro.
+       Change hooks to use these functions.
+
+*      * debug.scm: *Warning* This feature is a bit premature.  I add
+       it anyway because 1. it is very useful, and, 2. you can start
+       making it less premature by complaining to me and by modifying
+       the source! :-)
+       (trace): Given one or more procedure objects, trace each one.
+       Given no arguments, show all traced procedures.
+       (untrace): Given one or more procedure objects, untrace each one.
+       Given no arguments, untrace all traced procedures.  The tracing in
+       Guile have an advantage to most other systems: We don't create new
+       procedure objects, but mark the procedure objects themselves.
+       This means that also anonymous and internal procedures can be
+       traced.
+
+       * boot-9.scm (error-catching-loop): Added handling of apply-frame
+       and exit-frame exceptions.
+       
+*      * boot-9.scm (assert-repl-prompt, the-prompt-string): Removed.
+       (set-repl-prompt!): Setter for repl prompt.
+       (scm-style-repl): If prompt is #f, don't prompt; if prompt is a
+       string, display it; if prompt is a thunk, call it and display its
+       result; otherwise display "> ".
+       (Change suggested by Roland Orre <orre@nada.kth.se>.)
+
+       * r4rs.scm (%load-verbosely): Reverted change to
+       `module-defined?', since the module system isn't bootstrapped when
+       we load r4rs.scm.  This is just a temporary fix to make the
+       repository version runnable.
+
+Thu Feb 27 23:25:47 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * boot-9.scm: Removed the enabling of debug evaluator and
+       recording of source code positions.  This was placed there for our
+       convenience, but it has already sneaked into the distribution
+       once... so we'd better add this in our local copies instead when
+       we need it.  (These options are normally enabled at the end of
+       boot-9.scm when loading the debug module.)
+
+Thu Feb 27 16:04:45 1997  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * boot-9.scm (module-defined?): New function.
+       (macroexpand-1, macroexpand): Use local-ref instead of defined?
+       and eval.
+       * r4rs.scm (%load-verbosely): Use "module-defined?" instead of
+       "defined?".
+       * slib.scm (defined?): New function to take the place of the
+       builtin "defined?".  It allways examines the slib module.
+
+Mon Feb 24 21:46:15 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * configure.in: Added AM_MAINTAINER_MODE
+
+Sat Feb 15 04:51:20 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * boot-9.scm (read-sharp): define directly, don't go through a
+       %read-sharp layer.
+
+Tue Feb 11 08:45:48 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * boot-9.scm (uniform-vector-set!): use uniform-array-set1!, not
+       uniform-vector-set1! which doesn't exist.
+
+Mon Feb 10 03:01:48 1997  Mikael Djurfeldt  <mdj@kenneth>
+
+       * boot-9.scm (backtrace): Removed.  (A C version now exists in
+       backtrace.c.)
+
+Fri Jan 24 06:05:36 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * boot-9.scm (read-line!, read-delimited!, read-delimited,
+       read-line): new procedures, see libguile/ChangeLog.
+
+Thu Jan 16 17:07:03 1997  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       Added dynamic linking of modules. See libguile/DYNAMIC-LINKING.
+
+       * boot-9.scm (split-c-module-name, convert-c-registered-modules,
+       init-dynamic-module, dynamic-maybe-call,
+       find-and-link-dynamic-module, link-dynamic-module,
+       try-module-dynamic-link, registered-modules): New definitions for
+       dynamic linking of modules.
+       (resolve-module): Try to dynamically link the requested module
+       after failing to load it as Scheme code.
+
+Wed Jan  8 05:50:14 1997  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * boot-9.scm (getservbyport, getservbyname): remove stray %.
+
+Tue Jan  7 20:02:24 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * boot-9.scm (and=>): Rename THUNK argument to PROCEDURE, 'cos
+       that's what it is.
+
+       * lineio.scm (make-line-buffering-input-port): Properly test for
+       the case of an empty buffer list.  The old code assumed that '()
+       was false.
+
+Mon Jan  6 01:13:53 1997  Mikael Djurfeldt  <mdj@kenneth>
+
+*      * boot-9.scm (use-modules): New macro (from Marius Vollmer).
+       (use-modules <module name> ...) Put the the modules named by
+       <module name> ... on the use list of the current module.
+
+Sun Jan  5 15:52:59 1997  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * boot-9.scm (error-catching-loop): Remove message saying that
+       typing "$" will put you in the debugger.  This isn't implemented
+       yet.
+
+Sun Dec 22 23:27:25 1996  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * boot-9.scm (delq-all!): Function deleted; delq!'s semantics have
+       been fixed, so this function is superfluous.
+       (transform-usage-lambda): Use delq!, not delq-all!.
+
+Tue Dec 17 20:36:45 1996  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * boot-9.scm (resolve-module): New optional parameter that
+       controls whether autoloading is attempted or not. Default is #t.
+       (process-define-module): Don't autoload the defined module.
+       (try-module-autoload): Don't autoload the directory modules.
+
+       * boot-9.scm (process-define-module): Ensure that the-scm-module
+       is last in the `uses' list to allow shadowing builtin
+       bindings. All :use-module options are added in the order they
+       appear in the arguments but before anything already on the list
+       (such as the-scm-module).
+
+Wed Dec 11 21:06:05 1996  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * slib.scm (slib-parent-dir): throw error if #f returned from
+       %search-load-path.
+
+Sat Nov 30 23:57:28 1996  Tom Tromey  <tromey@cygnus.com>
+
+       * PLUGIN/greet, PLUGIN/split.sed, PLUGIN/this.configure: Removed.
+       * Makefile.am, aclocal.m4: New files.
+       * configure.in: Updated for Automake.
+
+Wed Nov 27 14:16:14 1996  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * boot-9.scm (macroexpand-1, macroexpand), slib.scm
+       (slib:features), r4rs.scm (%load-verbosely): "defined?" is now a
+       function, use it accordingly.
+       
+Thu Nov 21 11:12:10 1996  Jim Blandy  <jimb@floss.cyclic.com>
+
+       It's an "eval closure", not an "eval thunk."  A thunk is a
+       function of no arguments.
+       * boot-9.scm (module-type): Rename module field.
+       (make-module, eval-in-module, make-root-module,
+       set-current-module): Uses changed. 
+       (module-eval-closure, set-module-eval-closure!,
+       root-module-closure): Renamed from module-eval-thunk,
+       set-module-eval-thunk!, root-module-thunk.
+       (set-current-module): Change uses of *top-level-lookup-thunk* to
+       *top-level-eval-closure*.
+
+Wed Nov 20 14:45:27 1996  Jim Blandy  <jimb@totoro.cyclic.com>
+
+       * slib.scm (slib-parent-dir): Use string-length, not length.
+       (Thanks to Bernard Urban.)
+
+Sat Nov  2 20:00:42 1996  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * boot-9.scm: The debugging evaluator and recording of positions
+       aren't enabled by default any longer (they are switched on in
+       debug.scm).  But during development we want to have them also
+       *inside* boot-9.scm.  Therefore, two lines are added at the
+       beginning of boot-9.scm to enable these.
+       
+       Call `provide' so that `records' are included among the
+       `*features*'.
+       
+       The scheme for saving the stack has been adjusted: save-stack is
+       now commonly available for saving the stack.  Calling `save-stack'
+       sets a flag `stack-saved?' which prevents overwriting the stack.
+       `stack-saved?' is reset at `abort'.
+       
+       Spelling correction: seperate --> separate.
+       
+       Removed `:'s that had creeped into some comments.
+       
+       The repl now doesn't print #<unspecified> results any longer
+       If the user wants to see this, he can do
+       (assert-repl-print-unspecified #t) in his startup file.
+       
+       The user now gets a friendly message instead of a backtrace at
+       error.
+       
+       Added `before-read-hook'.
+       
+       Load module (ice-9 emacs) if option `-e' was specified.
+       
+       (provide): New function.
+       
+       (error): Save stack at entry, so that Guile entrails won't show up
+       in backtraces.
+       
+       (backtrace): New function.
+       
+       (save-stack): Can now take arbitrary number of stack narrowing
+       specifier pairs.  The first specifier in a pair controls inner
+       border, the second the outer border.  A number means cut that
+       number of frames, a procedure object means cut until that object
+       is found in operator position in a frame.
+
+       * debug.scm: Enable debugging evaluator and recording of positions
+       by default.
+
+       * slib.scm (slib:load): Adapt to the new behavior of
+       primitive-load: It doesn't any longer try both with and without
+       ".scm" extension.  (We don't want to use %search-load-path here.)
+       
+       (implementation-vicinity): New function.  slib requires it
+       
+       (library-vicinity): Updated.
+       
+       Load "require.scm" in the library-vicinity.
+       
+       (install-require-vicinity, install-require-module): New functions.
+       
+Mon Oct 28 17:56:29 1996  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * boot-9.scm (load-from-path): New function.
+
+       * boot-9.scm (try-load, basic-try-load, try-load-module,
+       try-load): Deleted.  I don't think they're being used.
+
+       * Makefile.in (scm_files): Add r4rs.scm and test.scm to this list,
+       so they'll get distributed.
+
+       Get Guile to be a little less chatty by default.  The new user
+       should see as little clutter as possible.
+       * r4rs.scm (%load-verbosely): Make this #f by default.
+       * boot-9.scm (scm-repl-verbose): Make this #f by default.
+       (scm-style-repl): Don't run 'pk' on the value passed to quit.
+
+       * r4rs.scm: New file.
+       * boot-9.scm: Load r4rs.scm, first thing.
+       (OPEN_READ, OPEN_WRITE, OPEN_BOTH, *null-device*, open-input-file,
+       open-output-file, open-io-file, close-input-port,
+       close-output-port, close-io-port, call-with-input-file,
+       call-with-output-file, with-input-from-port, with-output-to-port,
+       with-error-to-port, with-input-from-file, with-output-to-file,
+       with-error-to-file, with-input-from-string, with-output-to-string,
+       with-error-to-string, the-eof-object): Definitions moved to
+       r4rs.scm.  Not all of them are R4RS, but those that are use those
+       that are not.
+       (load, %load-verbosely, %load-announce): Moved, along with code to
+       set %load-hook, to r4rs.scm.
+
+       * test.scm: New file.
+
+       * boot-9.scm (integer?): Definition deleted, in favor of the one
+       present in libguile (which used to be called int?).  I have no
+       idea why integer? didn't just call int? to begin with.
+
+       * boot-9.scm (<, <=, =, >, >=): Definitions in terms of <?, <=?,
+       =?, >?, and >=? deleted; they're defined that way by libguile now.
+
+       * boot-9.scm (load): Simplified; primitive-load does most of this
+       work now.
+       (%load-announce-win): Removed; no longer used.  Set %load-hook to
+       call %load-announce.
+
+Sun Oct 27 07:47:03 1996  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * boot-9.scm (stat:dev, stat:ino, stat:mode, stat:nlink, stat:uid,
+       stat:gid, stat:rdev, stat:size, stat:atime, stat:mtime,
+       stat:ctime, stat:blksize, stat:blocks) accessor functions for stat
+       components.
+       (file-is-directory?): use stat:type.
+
+Fri Oct 25 03:34:47 1996  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * boot-9.scm (%read-sharp): Don't recognize the `#!' syntax here;
+       that's now taken care of in libguile, and in a way compatible with
+       SCSH (which this isn't).
+
+Mon Oct 21 18:52:36 1996  Jim Blandy  <jimb@totoro.cyclic.com>
+
+       * boot-9.scm: Formatting tweaks.
+
+Fri Oct 18 01:03:08 1996  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * boot-9.scm (handle-system-error): Added hooks before-error-hook,
+       after-error-hook, before-backtrace-hook and after-backtrace-hook
+       to the error handler.  E.g.: fancy emacs support could plug into
+       these.
+       (save-stack): New function.  The stack is now made differently
+       depending on the stack id.  (The motivation is to make a better
+       choice regarding what stack frames to present to the user.)
+       (error-catching-loop): Stack handling code moved outside into
+       save-stack.
+
+Thu Oct 17 20:33:08 1996  Gary Houston  <ghouston@actrix.gen.nz>
+
+       * Makefile.in (scm_files): add expect.scm.
+
+       * expect.scm: new file ported from guile-iii.
+
+       * boot-9.scm: remove handle-system-error, after moving the code into
+       error-catching-loop.
+       Don't set 'throw-handler-default property on error keys.
+       Just interpret (almost) any throw with 4 args as an error throw.
+       Delete some try-load stuff that was already commented out.
+
+       Second thoughts, keep handle-system-error but call it from
+       error-catching-loop.
+
+Tue Oct 15 17:07:20 1996  Jim Blandy  <jimb@floss.cyclic.com>
+
+       * boot-9.scm: Doc fixes.
+       (make-module): Rework for readability.
+       (make-root-module, make-scm-module): USES argument to make-module
+       should be '(), not #f.
+
+       * boot-9.scm (try-load): %sys-load-path has been renamed to
+       primitive-load-path; adjust call here.
+
+Tue Oct 15 14:25:01 1996  Mikael Djurfeldt  <mdj@woody.nada.kth.se>
+
+       * boot-9.scm (signal-handler): Bugfix: Moved the recording of
+       the stack to the correct place: when it is decided to generate an
+       error-signal.
+
+Mon Oct 14 22:20:30 1996  Mikael Djurfeldt  <mdj@woody.nada.kth.se>
+
+       * boot-9.scm (error-catching-loop, signal-handler,
+       handle-system-error): Backtracing now works for signals aswell;
+       Backtracing mechanism can now identify the stack root created by
+       start-stack so that the user isn't exposed to system stack frames.
+
+Mon Oct 14 06:05:42 1996  Mikael Djurfeldt  <mdj@woody.nada.kth.se>
+
+       * Makefile.in: Added threads.scm.
+       
+Mon Oct 14 04:21:51 1996  Mikael Djurfeldt  <mdj@woody.nada.kth.se>
+
+       * debug.scm (make-enable, make-disable): Simplified.
+
+       * boot-9.scm: Renamed %%throw-handler-default -->
+       throw-handler-default.
+       ((handle-system-error key . arg-list)): Changed the way errors are
+       reported.
+       ((scm-style-repl)): Wrap up the call to eval in a start-stack
+       acro.
+       ((error-catching-loop thunk)): Introduce a lazy-catch into
+       error-catching-loop so that the stack can be captured.
+
 Thu Oct 10 22:27:32 1996  Jim Blandy  <jimb@totoro.cyclic.com>
 
        * mapping.scm (hash-table-mapping): Explicitly request that
@@ -49,12 +413,12 @@ Sat Sep 28 00:15:37 1996  Gary Houston  <ghouston@actrix.gen.nz>
        Set up regex-error as a key, if regex is available.
        (signal-handler): use scm-error, not throw.
 
-*      (%try-load, try-load-with-path, %load, load-with-path,
+       (%try-load, try-load-with-path, %load, load-with-path,
        basic-try-load-with-path, basic-load-with-path,
        try-load-module-with-path,load-module-with-path): deleted, since
        they seem redundant.
        (try-load): define using %try-load, not try-load-with-path.
-*      (load): rewritten.  load tries to open the file directly and
+       (load): rewritten.  load tries to open the file directly and
        with a .scm extension before searching the library directories
        (should "." be added to %load-path?  then load could still open
        directly files starting with "/").