Sat Mar 1 00:10:38 1997 Mikael Djurfeldt * * 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 .) * 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 * 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 * 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 * configure.in: Added AM_MAINTAINER_MODE Sat Feb 15 04:51:20 1997 Gary Houston * boot-9.scm (read-sharp): define directly, don't go through a %read-sharp layer. Tue Feb 11 08:45:48 1997 Gary Houston * 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 * boot-9.scm (backtrace): Removed. (A C version now exists in backtrace.c.) Fri Jan 24 06:05:36 1997 Gary Houston * 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 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 * boot-9.scm (getservbyport, getservbyname): remove stray %. Tue Jan 7 20:02:24 1997 Jim Blandy * 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 * * boot-9.scm (use-modules): New macro (from Marius Vollmer). (use-modules ...) Put the the modules named by ... on the use list of the current module. Sun Jan 5 15:52:59 1997 Jim Blandy * 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 * 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 * 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 * slib.scm (slib-parent-dir): throw error if #f returned from %search-load-path. Sat Nov 30 23:57:28 1996 Tom Tromey * 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 * 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 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 * slib.scm (slib-parent-dir): Use string-length, not length. (Thanks to Bernard Urban.) Sat Nov 2 20:00:42 1996 Mikael Djurfeldt * 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 # 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 * 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 * 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 * 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 * boot-9.scm: Formatting tweaks. Fri Oct 18 01:03:08 1996 Mikael Djurfeldt * 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 * 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 * 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 * 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 * 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 * Makefile.in: Added threads.scm. Mon Oct 14 04:21:51 1996 Mikael Djurfeldt * 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 * mapping.scm (hash-table-mapping): Explicitly request that make-vector fill new vectors with '(); this will make it easier to port Guile Scheme code to other Schemes. * boot-9.scm (make-print-style, make-print-table): Same. Sun Oct 6 03:54:59 1996 Gary Houston * boot-9.scm (load): rewritten again. Append "." to the default %load-path. (feature?): new function: checks for a symbol in the features list. (module-local-variable): remove apparently useless (caddr (list m v ...)) (%load-announce): minor formatting change. (file-exists?): use access? if posix is featured. (file-is-directory?): use stat if i/o-extensions is featured. (try-module-autoload module-name): use file-exists? before file-is-directory? Sat Oct 5 18:54:03 1996 Mikael Djurfeldt * boot-9.scm: Added conditional loading of threads.scm. * threads.scm: New file. Modified from the Cygnus-r0.3 distribution. * boot-9.scm (error-catching-loop): Added handling of key `switch-repl'. * boot-9.scm: Name change %%bad-throw --> bad-throw. Wed Oct 2 23:38:44 1996 Jim Blandy * boot-9.scm (make-record-type, record-constructor): Don't assume the empty list is false when parsing the argument list. Mon Sep 30 22:15:50 1996 Jim Blandy * boot-9.scm (signal-handler): Clean up logic. * boot-9.scm (load): Assume %load-path is always bound. Sat Sep 28 00:15:37 1996 Gary Houston * boot-9.scm (error): replace another throw with scm-error. Throw to 'misc-error instead of 'error (no need to distinguish these.) Don't set up 'error as a key. 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, 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 with a .scm extension before searching the library directories (should "." be added to %load-path? then load could still open directly files starting with "/"). (try-module-autoload): use load, not load-with-path. (%load-indent): deleted, -2 was causing errors. (%read-sharp): use port-line, not line-number. Fri Sep 27 16:23:51 1996 Jim Blandy * boot-9.scm (%%bad-throw): Delete definition. 1) It's very straightforward to provide the equivalent functionality using (catch #t ...), so there's no need for the extra complexity. 2) Outside the context of a read-eval-print loop (which Guile should not require) it's not clear we should do anything more complicated than print an error and exit; the user or REPL can establish something better if it wants. 3) In that case, it's much more robust to just do it in the C code. Tue Sep 24 06:53:04 1996 Gary Houston * boot-9.scm (%try-load): define using primitive-load. Previously %try-load itself was the primitive. (load-with-path): use scm-error instead of %load-announce-lossage. Errors are thrown to 'misc-error instead of 'could-not-load. (%load-announce-lossage): deleted. Mon Sep 23 00:16:31 1996 Mikael Djurfeldt * boot-9.scm (warn, scm-style-repl): Use C printer instead of `print'. (make-record-type type-name fields): Temporarily remove support for printing of records (not possible yet with C printer). Fri Sep 20 00:24:27 1996 Gary Houston * boot-9.scm (file-exists?, file-is-directory): catch only system-error, not every kind of error. (scm-error): new procedure. Thu Sep 19 16:02:46 1996 Jim Blandy * boot-9.scm: Formatting tweaks. Wed Sep 18 09:07:37 1996 Gary Houston * boot-9.scm (%%handle-system-error key): remove the code for SCM-style errors. handle the case that an unexpected number of args are supplied. (%%system-errors): removed. (error): redefine using a throw with key and 4 args. ('error): associate 'error, 'error-signal keys with %%handle-system-error. (%%default-error-handler): removed. (signal-handler): throw with 4 args and use the error-signal key. Create an error message instead of using numerical codes. (%%bad-throw): call error instead of throw if key not found. Tue Sep 17 04:11:28 1996 Gary Houston * boot-9.scm: initialize new error keys (see libguile/ChangeLog). (%%handle-system-error key): check subr is not #f before printing. Recognize %s (embed an argument using "display") and %S (embed an argument using "write"). Sun Sep 15 03:55:35 1996 Gary Houston * boot-9.scm (%%handle-system-error key): set args and rest to the empty list if they are #f. Initialize out-of-range as an error key. Sat Sep 14 03:41:15 1996 Gary Houston * PLUGIN/REQ: remove the "ice-9 lgh" line which causes a cycle. * boot-9.scm: remove leading %% from references to '%%system-error. (%%handle-system-error): don't pass all the thrown arguments when aborting, just the key and subr. Remove the code to "Install default handlers for built-in errors." Remove the definition of the syserror procedure. Associate 'numerical-overflow with default handler. Fri Sep 13 04:58:11 1996 Mikael Djurfeldt * boot-9.scm: Name change: value-ref --> local-ref resolved-ref --> nested-ref Motivation: conformance to the other dictionary operators: list-ref operates on list, vector-ref operates on vector, nested-ref operates on nested namespace, local-ref operates on the local nested namespace. Sat Sep 7 06:44:47 1996 Gary Houston * boot-9.scm (%%handle-system-error): recognise errors thrown by lgh-error (fill-message etc.) (fill-message): check first whether args is null. (fill-message): bug fix and check that args is a list. Thu Sep 5 11:33:41 1996 Jim Blandy * boot-9.scm: %load-path is initialized in C code now. (implementation-vicinity, parse-path): Deleted, along with code to initialize %load-path. * boot-9.scm (in-vicinity): If the vicinity doesn't end with a "/", use one to separate it from the file. Thu Aug 29 23:05:11 1996 Thomas Morgan * boot-9.scm (%load-path): Add the site directory. Add the directory named after the version number. Prepend the version number to the other directories in the path. Simplify by mapping the common prefix onto each item. * Makefile.in (datadir, pkgdatadir, pkgverdatadir, subpkgdatadir, sitedatadir): New definitions. (libparent, libdir, install_path): Replaced by above. (install): Create the above directories. Put the source files into subpkgdatadir. (uninstall): Remove the above directories. Thu Aug 29 21:48:47 1996 Jim Blandy Don't use the PLUGIN system to gather information for the Makefile's distribution and installation targets; just put it all in the Makefile directly. * PLUGIN/this.configure (scm_files, aux_files): Remove sections for these. * configure.in: Remove code that gets and substitutes scm_files and aux_files. * Makefile.in (scm_files, aux_files): Write out the list of files here, where people expect to find them. Fri Aug 23 06:44:36 1996 Mikael Djurfeldt * boot-9.scm: Preliminary solution: optionally load the debug module. Changed "gls" to "guile1.0b3". * debug.scm: New file: debug extensions. Wed Aug 21 13:06:56 1996 Mikael Djurfeldt * boot-9.scm (print-vector): Renamed weak-hash-table? --> weak-key-hash-table?. (Again!) Tue Aug 20 07:31:39 1996 Mikael Djurfeldt * boot-9.scm (print-vector, macro-table, xformer-table): Renamed weak-hash-table --> weak-key-hash-table. * poe.scm (funcq-memo): Renamed weak-hash-table --> weak-key-hash-table. Sat Aug 3 06:16:35 1996 Gary Houston * boot-9.scm (*null-device*): global constant from goonix. (move->fdes): adjusted for boolean primitive-move->fdes. return the modified port, always set revealed count to 1 (SCSH compatible). (release-port-handle port): from goonix (SCSH compatible). (%open-file): removed. (open-input-file, open-output-file, file-exists?, file-is-directory?): modified for open-file change (does not return #f). Thu Aug 1 02:52:42 1996 Jim Blandy * Makefile.in (dist-dir): New target for new dist system. (manifest): Deleted. * PLUGIN/this.configure (aux_files): Removed PLUGIN; it's a directory, and needs special treatment in the dist-dir target. Thu Aug 1 09:00:21 1996 Gary Houston * boot-9.scm: remove the wrappers for '%' system primitives, now that they throw errors directly. remove make-simple-wrapper and similar functions. protect a call to getenv which may now throw an exception. Wed Jul 31 23:44:42 1996 Gary Houston * boot-9.scm (false-if-exception): new macro. Fri Apr 19 13:53:08 1996 Tom Lord * The more things change...