1 Tue Jan 7 20:02:24 1997 Jim Blandy <jimb@floss.cyclic.com>
3 * boot-9.scm (and=>): Rename THUNK argument to PROCEDURE, 'cos
6 * lineio.scm (make-line-buffering-input-port): Properly test for
7 the case of an empty buffer list. The old code assumed that '()
10 Mon Jan 6 01:13:53 1997 Mikael Djurfeldt <mdj@kenneth>
12 * * boot-9.scm (use-modules): New macro (from Marius Vollmer).
13 (use-modules <module name> ...) Put the the modules named by
14 <module name> ... on the use list of the current module.
16 Sun Jan 5 15:52:59 1997 Jim Blandy <jimb@floss.cyclic.com>
18 * boot-9.scm (error-catching-loop): Remove message saying that
19 typing "$" will put you in the debugger. This isn't implemented
22 Sun Dec 22 23:27:25 1996 Jim Blandy <jimb@floss.cyclic.com>
24 * boot-9.scm (delq-all!): Function deleted; delq!'s semantics have
25 been fixed, so this function is superfluous.
26 (transform-usage-lambda): Use delq!, not delq-all!.
28 Tue Dec 17 20:36:45 1996 Marius Vollmer <mvo@zagadka.ping.de>
30 * boot-9.scm (resolve-module): New optional parameter that
31 controls whether autoloading is attempted or not. Default is #t.
32 (process-define-module): Don't autoload the defined module.
33 (try-module-autoload): Don't autoload the directory modules.
35 * boot-9.scm (process-define-module): Ensure that the-scm-module
36 is last in the `uses' list to allow shadowing builtin
37 bindings. All :use-module options are added in the order they
38 appear in the arguments but before anything already on the list
39 (such as the-scm-module).
41 Wed Dec 11 21:06:05 1996 Gary Houston <ghouston@actrix.gen.nz>
43 * slib.scm (slib-parent-dir): throw error if #f returned from
46 Sat Nov 30 23:57:28 1996 Tom Tromey <tromey@cygnus.com>
48 * PLUGIN/greet, PLUGIN/split.sed, PLUGIN/this.configure: Removed.
49 * Makefile.am, aclocal.m4: New files.
50 * configure.in: Updated for Automake.
52 Wed Nov 27 14:16:14 1996 Marius Vollmer <mvo@zagadka.ping.de>
54 * boot-9.scm (macroexpand-1, macroexpand), slib.scm
55 (slib:features), r4rs.scm (%load-verbosely): "defined?" is now a
56 function, use it accordingly.
58 Thu Nov 21 11:12:10 1996 Jim Blandy <jimb@floss.cyclic.com>
60 It's an "eval closure", not an "eval thunk." A thunk is a
61 function of no arguments.
62 * boot-9.scm (module-type): Rename module field.
63 (make-module, eval-in-module, make-root-module,
64 set-current-module): Uses changed.
65 (module-eval-closure, set-module-eval-closure!,
66 root-module-closure): Renamed from module-eval-thunk,
67 set-module-eval-thunk!, root-module-thunk.
68 (set-current-module): Change uses of *top-level-lookup-thunk* to
69 *top-level-eval-closure*.
71 Wed Nov 20 14:45:27 1996 Jim Blandy <jimb@totoro.cyclic.com>
73 * slib.scm (slib-parent-dir): Use string-length, not length.
74 (Thanks to Bernard Urban.)
76 Sat Nov 2 20:00:42 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
78 * boot-9.scm: The debugging evaluator and recording of positions
79 aren't enabled by default any longer (they are switched on in
80 debug.scm). But during development we want to have them also
81 *inside* boot-9.scm. Therefore, two lines are added at the
82 beginning of boot-9.scm to enable these.
84 Call `provide' so that `records' are included among the
87 The scheme for saving the stack has been adjusted: save-stack is
88 now commonly available for saving the stack. Calling `save-stack'
89 sets a flag `stack-saved?' which prevents overwriting the stack.
90 `stack-saved?' is reset at `abort'.
92 Spelling correction: seperate --> separate.
94 Removed `:'s that had creeped into some comments.
96 The repl now doesn't print #<unspecified> results any longer
97 If the user wants to see this, he can do
98 (assert-repl-print-unspecified #t) in his startup file.
100 The user now gets a friendly message instead of a backtrace at
103 Added `before-read-hook'.
105 Load module (ice-9 emacs) if option `-e' was specified.
107 (provide): New function.
109 (error): Save stack at entry, so that Guile entrails won't show up
112 (backtrace): New function.
114 (save-stack): Can now take arbitrary number of stack narrowing
115 specifier pairs. The first specifier in a pair controls inner
116 border, the second the outer border. A number means cut that
117 number of frames, a procedure object means cut until that object
118 is found in operator position in a frame.
120 * debug.scm: Enable debugging evaluator and recording of positions
123 * slib.scm (slib:load): Adapt to the new behavior of
124 primitive-load: It doesn't any longer try both with and without
125 ".scm" extension. (We don't want to use %search-load-path here.)
127 (implementation-vicinity): New function. slib requires it
129 (library-vicinity): Updated.
131 Load "require.scm" in the library-vicinity.
133 (install-require-vicinity, install-require-module): New functions.
135 Mon Oct 28 17:56:29 1996 Jim Blandy <jimb@floss.cyclic.com>
137 * boot-9.scm (load-from-path): New function.
139 * boot-9.scm (try-load, basic-try-load, try-load-module,
140 try-load): Deleted. I don't think they're being used.
142 * Makefile.in (scm_files): Add r4rs.scm and test.scm to this list,
143 so they'll get distributed.
145 Get Guile to be a little less chatty by default. The new user
146 should see as little clutter as possible.
147 * r4rs.scm (%load-verbosely): Make this #f by default.
148 * boot-9.scm (scm-repl-verbose): Make this #f by default.
149 (scm-style-repl): Don't run 'pk' on the value passed to quit.
151 * r4rs.scm: New file.
152 * boot-9.scm: Load r4rs.scm, first thing.
153 (OPEN_READ, OPEN_WRITE, OPEN_BOTH, *null-device*, open-input-file,
154 open-output-file, open-io-file, close-input-port,
155 close-output-port, close-io-port, call-with-input-file,
156 call-with-output-file, with-input-from-port, with-output-to-port,
157 with-error-to-port, with-input-from-file, with-output-to-file,
158 with-error-to-file, with-input-from-string, with-output-to-string,
159 with-error-to-string, the-eof-object): Definitions moved to
160 r4rs.scm. Not all of them are R4RS, but those that are use those
162 (load, %load-verbosely, %load-announce): Moved, along with code to
163 set %load-hook, to r4rs.scm.
165 * test.scm: New file.
167 * boot-9.scm (integer?): Definition deleted, in favor of the one
168 present in libguile (which used to be called int?). I have no
169 idea why integer? didn't just call int? to begin with.
171 * boot-9.scm (<, <=, =, >, >=): Definitions in terms of <?, <=?,
172 =?, >?, and >=? deleted; they're defined that way by libguile now.
174 * boot-9.scm (load): Simplified; primitive-load does most of this
176 (%load-announce-win): Removed; no longer used. Set %load-hook to
179 Sun Oct 27 07:47:03 1996 Gary Houston <ghouston@actrix.gen.nz>
181 * boot-9.scm (stat:dev, stat:ino, stat:mode, stat:nlink, stat:uid,
182 stat:gid, stat:rdev, stat:size, stat:atime, stat:mtime,
183 stat:ctime, stat:blksize, stat:blocks) accessor functions for stat
185 (file-is-directory?): use stat:type.
187 Fri Oct 25 03:34:47 1996 Jim Blandy <jimb@floss.cyclic.com>
189 * boot-9.scm (%read-sharp): Don't recognize the `#!' syntax here;
190 that's now taken care of in libguile, and in a way compatible with
191 SCSH (which this isn't).
193 Mon Oct 21 18:52:36 1996 Jim Blandy <jimb@totoro.cyclic.com>
195 * boot-9.scm: Formatting tweaks.
197 Fri Oct 18 01:03:08 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
199 * boot-9.scm (handle-system-error): Added hooks before-error-hook,
200 after-error-hook, before-backtrace-hook and after-backtrace-hook
201 to the error handler. E.g.: fancy emacs support could plug into
203 (save-stack): New function. The stack is now made differently
204 depending on the stack id. (The motivation is to make a better
205 choice regarding what stack frames to present to the user.)
206 (error-catching-loop): Stack handling code moved outside into
209 Thu Oct 17 20:33:08 1996 Gary Houston <ghouston@actrix.gen.nz>
211 * Makefile.in (scm_files): add expect.scm.
213 * expect.scm: new file ported from guile-iii.
215 * boot-9.scm: remove handle-system-error, after moving the code into
217 Don't set 'throw-handler-default property on error keys.
218 Just interpret (almost) any throw with 4 args as an error throw.
219 Delete some try-load stuff that was already commented out.
221 Second thoughts, keep handle-system-error but call it from
224 Tue Oct 15 17:07:20 1996 Jim Blandy <jimb@floss.cyclic.com>
226 * boot-9.scm: Doc fixes.
227 (make-module): Rework for readability.
228 (make-root-module, make-scm-module): USES argument to make-module
229 should be '(), not #f.
231 * boot-9.scm (try-load): %sys-load-path has been renamed to
232 primitive-load-path; adjust call here.
234 Tue Oct 15 14:25:01 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
236 * boot-9.scm (signal-handler): Bugfix: Moved the recording of
237 the stack to the correct place: when it is decided to generate an
240 Mon Oct 14 22:20:30 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
242 * boot-9.scm (error-catching-loop, signal-handler,
243 handle-system-error): Backtracing now works for signals aswell;
244 Backtracing mechanism can now identify the stack root created by
245 start-stack so that the user isn't exposed to system stack frames.
247 Mon Oct 14 06:05:42 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
249 * Makefile.in: Added threads.scm.
251 Mon Oct 14 04:21:51 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
253 * debug.scm (make-enable, make-disable): Simplified.
255 * boot-9.scm: Renamed %%throw-handler-default -->
256 throw-handler-default.
257 ((handle-system-error key . arg-list)): Changed the way errors are
259 ((scm-style-repl)): Wrap up the call to eval in a start-stack
261 ((error-catching-loop thunk)): Introduce a lazy-catch into
262 error-catching-loop so that the stack can be captured.
264 Thu Oct 10 22:27:32 1996 Jim Blandy <jimb@totoro.cyclic.com>
266 * mapping.scm (hash-table-mapping): Explicitly request that
267 make-vector fill new vectors with '(); this will make it easier to
268 port Guile Scheme code to other Schemes.
269 * boot-9.scm (make-print-style, make-print-table): Same.
271 Sun Oct 6 03:54:59 1996 Gary Houston <ghouston@actrix.gen.nz>
273 * boot-9.scm (load): rewritten again.
274 Append "." to the default %load-path.
275 (feature?): new function: checks for a symbol in the features list.
276 (module-local-variable): remove apparently useless (caddr (list m v
278 (%load-announce): minor formatting change.
279 (file-exists?): use access? if posix is featured.
280 (file-is-directory?): use stat if i/o-extensions is featured.
281 (try-module-autoload module-name): use file-exists? before
284 Sat Oct 5 18:54:03 1996 Mikael Djurfeldt <mdj@kenneth>
286 * boot-9.scm: Added conditional loading of threads.scm.
288 * threads.scm: New file. Modified from the Cygnus-r0.3
291 * boot-9.scm (error-catching-loop): Added handling of key
294 * boot-9.scm: Name change %%bad-throw --> bad-throw.
296 Wed Oct 2 23:38:44 1996 Jim Blandy <jimb@totoro.cyclic.com>
298 * boot-9.scm (make-record-type, record-constructor): Don't assume
299 the empty list is false when parsing the argument list.
301 Mon Sep 30 22:15:50 1996 Jim Blandy <jimb@totoro.cyclic.com>
303 * boot-9.scm (signal-handler): Clean up logic.
305 * boot-9.scm (load): Assume %load-path is always bound.
307 Sat Sep 28 00:15:37 1996 Gary Houston <ghouston@actrix.gen.nz>
309 * boot-9.scm (error): replace another throw with scm-error. Throw
310 to 'misc-error instead of 'error (no need to distinguish these.)
311 Don't set up 'error as a key.
312 Set up regex-error as a key, if regex is available.
313 (signal-handler): use scm-error, not throw.
315 (%try-load, try-load-with-path, %load, load-with-path,
316 basic-try-load-with-path, basic-load-with-path,
317 try-load-module-with-path,load-module-with-path): deleted, since
319 (try-load): define using %try-load, not try-load-with-path.
320 (load): rewritten. load tries to open the file directly and
321 with a .scm extension before searching the library directories
322 (should "." be added to %load-path? then load could still open
323 directly files starting with "/").
324 (try-module-autoload): use load, not load-with-path.
325 (%load-indent): deleted, -2 was causing errors.
327 (%read-sharp): use port-line, not line-number.
329 Fri Sep 27 16:23:51 1996 Jim Blandy <jimb@totoro.cyclic.com>
331 * boot-9.scm (%%bad-throw): Delete definition. 1) It's very
332 straightforward to provide the equivalent functionality using
333 (catch #t ...), so there's no need for the extra complexity. 2)
334 Outside the context of a read-eval-print loop (which Guile should
335 not require) it's not clear we should do anything more complicated
336 than print an error and exit; the user or REPL can establish
337 something better if it wants. 3) In that case, it's much more
338 robust to just do it in the C code.
340 Tue Sep 24 06:53:04 1996 Gary Houston <ghouston@actrix.gen.nz>
342 * boot-9.scm (%try-load): define using primitive-load. Previously
343 %try-load itself was the primitive.
344 (load-with-path): use scm-error instead of %load-announce-lossage.
345 Errors are thrown to 'misc-error instead of 'could-not-load.
346 (%load-announce-lossage): deleted.
348 Mon Sep 23 00:16:31 1996 Mikael Djurfeldt <mdj@kenneth>
350 * boot-9.scm (warn, scm-style-repl): Use C printer instead of `print'.
351 (make-record-type type-name fields): Temporarily remove support
352 for printing of records (not possible yet with C printer).
354 Fri Sep 20 00:24:27 1996 Gary Houston <ghouston@actrix.gen.nz>
356 * boot-9.scm (file-exists?, file-is-directory): catch only
357 system-error, not every kind of error.
358 (scm-error): new procedure.
360 Thu Sep 19 16:02:46 1996 Jim Blandy <jimb@totoro.cyclic.com>
362 * boot-9.scm: Formatting tweaks.
364 Wed Sep 18 09:07:37 1996 Gary Houston <ghouston@actrix.gen.nz>
366 * boot-9.scm (%%handle-system-error key): remove the code for
367 SCM-style errors. handle the case that an unexpected number
368 of args are supplied.
369 (%%system-errors): removed.
370 (error): redefine using a throw with key and 4 args.
371 ('error): associate 'error, 'error-signal keys with
372 %%handle-system-error.
373 (%%default-error-handler): removed.
374 (signal-handler): throw with 4 args and use the error-signal key.
375 Create an error message instead of using numerical codes.
376 (%%bad-throw): call error instead of throw if key not found.
378 Tue Sep 17 04:11:28 1996 Gary Houston <ghouston@actrix.gen.nz>
380 * boot-9.scm: initialize new error keys (see libguile/ChangeLog).
381 (%%handle-system-error key): check subr is not #f before printing.
382 Recognize %s (embed an argument using "display") and
383 %S (embed an argument using "write").
385 Sun Sep 15 03:55:35 1996 Gary Houston <ghouston@actrix.gen.nz>
387 * boot-9.scm (%%handle-system-error key): set args and rest to
388 the empty list if they are #f.
389 Initialize out-of-range as an error key.
391 Sat Sep 14 03:41:15 1996 Gary Houston <ghouston@actrix.gen.nz>
393 * PLUGIN/REQ: remove the "ice-9 lgh" line which causes a cycle.
395 * boot-9.scm: remove leading %% from references to '%%system-error.
396 (%%handle-system-error): don't pass all the thrown arguments when
397 aborting, just the key and subr.
398 Remove the code to "Install default handlers for built-in errors."
399 Remove the definition of the syserror procedure.
400 Associate 'numerical-overflow with default handler.
402 Fri Sep 13 04:58:11 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
404 * boot-9.scm: Name change: value-ref --> local-ref
405 resolved-ref --> nested-ref Motivation: conformance to the other
406 dictionary operators: list-ref operates on list, vector-ref
407 operates on vector, nested-ref operates on nested namespace,
408 local-ref operates on the local nested namespace.
410 Sat Sep 7 06:44:47 1996 Gary Houston <ghouston@actrix.gen.nz>
412 * boot-9.scm (%%handle-system-error): recognise errors thrown
413 by lgh-error (fill-message etc.)
414 (fill-message): check first whether args is null.
415 (fill-message): bug fix and check that args is a list.
417 Thu Sep 5 11:33:41 1996 Jim Blandy <jimb@floss.cyclic.com>
419 * boot-9.scm: %load-path is initialized in C code now.
420 (implementation-vicinity, parse-path): Deleted, along with code to
421 initialize %load-path.
423 * boot-9.scm (in-vicinity): If the vicinity doesn't end with a
424 "/", use one to separate it from the file.
426 Thu Aug 29 23:05:11 1996 Thomas Morgan <tmorgan@gnu.ai.mit.edu>
428 * boot-9.scm (%load-path): Add the site directory.
429 Add the directory named after the version number.
430 Prepend the version number to the other directories in the path.
431 Simplify by mapping the common prefix onto each item.
432 * Makefile.in (datadir, pkgdatadir, pkgverdatadir, subpkgdatadir,
433 sitedatadir): New definitions.
434 (libparent, libdir, install_path): Replaced by above.
435 (install): Create the above directories.
436 Put the source files into subpkgdatadir.
437 (uninstall): Remove the above directories.
439 Thu Aug 29 21:48:47 1996 Jim Blandy <jimb@floss.cyclic.com>
441 Don't use the PLUGIN system to gather information for the
442 Makefile's distribution and installation targets; just put it all
443 in the Makefile directly.
444 * PLUGIN/this.configure (scm_files, aux_files): Remove sections
446 * configure.in: Remove code that gets and substitutes scm_files and
448 * Makefile.in (scm_files, aux_files): Write out the list of files
449 here, where people expect to find them.
451 Fri Aug 23 06:44:36 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
453 * boot-9.scm: Preliminary solution: optionally load the debug
454 module. Changed "gls" to "guile1.0b3".
456 * debug.scm: New file: debug extensions.
458 Wed Aug 21 13:06:56 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
460 * boot-9.scm (print-vector): Renamed weak-hash-table? -->
461 weak-key-hash-table?. (Again!)
463 Tue Aug 20 07:31:39 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
465 * boot-9.scm (print-vector, macro-table, xformer-table):
466 Renamed weak-hash-table --> weak-key-hash-table.
468 * poe.scm (funcq-memo): Renamed weak-hash-table -->
471 Sat Aug 3 06:16:35 1996 Gary Houston <ghouston@actrix.gen.nz>
473 * boot-9.scm (*null-device*): global constant from goonix.
474 (move->fdes): adjusted for boolean primitive-move->fdes. return
475 the modified port, always set revealed count to 1 (SCSH compatible).
476 (release-port-handle port): from goonix (SCSH compatible).
477 (%open-file): removed.
478 (open-input-file, open-output-file, file-exists?, file-is-directory?):
479 modified for open-file change (does not return #f).
481 Thu Aug 1 02:52:42 1996 Jim Blandy <jimb@totoro.cyclic.com>
483 * Makefile.in (dist-dir): New target for new dist system.
485 * PLUGIN/this.configure (aux_files): Removed PLUGIN; it's a
486 directory, and needs special treatment in the dist-dir target.
488 Thu Aug 1 09:00:21 1996 Gary Houston <ghouston@actrix.gen.nz>
490 * boot-9.scm: remove the wrappers for '%' system primitives,
491 now that they throw errors directly.
492 remove make-simple-wrapper and similar functions.
493 protect a call to getenv which may now throw an exception.
495 Wed Jul 31 23:44:42 1996 Gary Houston <ghouston@actrix.gen.nz>
497 * boot-9.scm (false-if-exception): new macro.
499 Fri Apr 19 13:53:08 1996 Tom Lord <lord@beehive>
501 * The more things change...