Fixed typo
[bpt/guile.git] / ice-9 / ChangeLog
1 1999-09-12 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
2
3 * debug.scm, emacs.scm: Updated copyright notices.
4
5 * boot-9.scm (make-autoload-interface): Bugfix.
6 (top-repl): Autoload debugger.
7
8 * debugger.scm ("backtrace"): Don't pass length param to
9 display-backtrace if it wasn't explicitly given by the user.
10 (write-frame-long/application): Also print corresponding source
11 expression.
12 ("evaluate"): Evaluate in local environment frame, if existent;
13 Handle errors.
14
15 1999-09-11 Jim Blandy <jimb@savonarola.red-bean.com>
16
17 * format.scm (format:format-work): Use #\tab and #\page instead of
18 slib:form-feed and slib:tab. (Thanks to Ceri Storey.)
19
20 * format.scm (format:abort): Call error, not slib:error.
21
22 1999-09-11 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
23
24 * * boot-9.scm (using-readline?): New procedure: Returns #t if
25 readline is used by the repl run by this thread.
26 (handle-system-error): Print "Backtrace:" before backtrace since
27 this is no longer done by display-backtrace.
28
29 * debug.scm (frame-number->index): Optionally take stack as
30 argument.
31
32 * debugger.scm: Use the frame number abstraction which allows for
33 both forward and backward views of the stack
34 (write-frame-index-short, write-frame-index-long):
35 Use selector `frame-number';
36 (select-frame-absolute): Use frame-number->index.
37 ("backtrace"): Use builtin backtrace printing.
38 Use (ice-9 debug).
39 Use readline conditionally.
40
41 1999-09-11 Jim Blandy <jimb@savonarola.red-bean.com>
42
43 * regex.scm (fold-matches, list-matches): New functions.
44 (regexp-substitute/global): Rewritten again in terms of
45 list-matches, to get null match behavior correct.
46
47 * regex.scm (regexp-substitute/global): Rewrite so that 'post at
48 the end of the item list actually causes a tail call. (Thanks to
49 Jan Nieuwenhuizen.)
50
51 1999-09-11 Marius Vollmer <mvo@zagadka.ping.de>
52
53 * readline.scm: Moved to ../guile-readline.
54
55 * boot-9.scm (top-repl): Removed code for activating readline.
56
57 * Makefile.am: Removed mention of readline.scm.
58
59 * Makefile.in: Regenerated.
60
61 1999-09-11 Jim Blandy <jimb@savonarola.red-bean.com>
62
63 Delete the test which compares the configuration date of libguile
64 with the configuration date of ice-9. This test yields too many
65 false positives to be helpful. For example, if you build Guile
66 for several architectures but have them all share a "share"
67 directory (which is supposed to work), then all but one
68 architecture's Guile will complain that the configuration dates
69 don't match. Which is true, but indicates nothing wrong.
70 * boot-9.scm: Delete code which compares ice-9-config-stamp with
71 libguile-config-stamp.
72 * version.scm.in: Delete.
73 * Makefile.am (ice9_generated): Delete.
74 (subpkgdata_DATA): Remove ice9_generated.
75 (EXTRA_DIST): Remove version.scm.in.
76 * Makefile.in: Regenerate.
77
78 1999-09-11 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
79
80 * * debugger.scm: New file: Initial version of the Guile debugger
81 written by Chris Hanson. (The debugger isn't finished, but is
82 included in Guile anyway since it is already quite useful.)
83
84 * * boot-9.scm (top-repl): Use (ice-9 debug) (ice-9 debugger) (ice-9
85 session) (ice-9 threads) (ice-9 regex) from guile-user only if
86 top-repl is called. This makes startup time for scripts 30% of
87 what it was before... Removed redundant code for loading of
88 readline.
89
90 * Makefile.am (ice9_sources): Added debugger.scm.
91
92 1999-08-29 Keisuke Nishida <kxn30@po.cwru.edu>
93
94 * boot-9.scm (try-module-autoload): Use %search-load-path.
95
96 1999-08-24 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
97
98 * boot-9.scm: Removed old style hooks.
99 (inherit-print-state): Rwwritten to use port-with-print-state.
100
101 1999-08-20 James Blandy <jimb@mule.m17n.org>
102
103 Remove support for the #/ path list syntax entirely.
104 * boot-9.scm (read-path-list-notation,
105 read-path-list-notation-warning): Deleted.
106 Don't register read-path-list-notation-warning as a reader for
107 objects starting with '#/'.
108
109 1999-08-05 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
110
111 GOOPS needs the observer protocol specified for the new module
112 system. Here's a simple version for the old module system:
113 * boot-9.scm (module-observers, module-weak-observers,
114 module-observer-id, set-module-observers!,
115 set-module-observer-id!): New accessors.
116 (module-type): Added slots `observers', `weak-observers' and
117 `observer-id'.
118 (module-observe, module-observe-weak, module-unobserve,
119 module-modified): New procedures.
120 (module-make-local-var!, module-add!, module-remove!,
121 module-clear!, module-define!, module-use!): Call module-modified.
122
123 1999-07-29 Marius Vollmer <mvo@zagadka.ping.de>
124
125 * boot-9.scm (error-catching-loop): Correct non-RnRS usage of internal
126 defines.
127
128 1999-07-19 Jim Blandy <jimb@savonarola.red-bean.com>
129
130 * streams.scm: New module, contributed by Michael Livshin.
131 * Makefile.am (ice9_sources): List it.
132 * Makefile.in: Regenerated.
133
134 * boot-9.scm (read-delimited!): Put the terminator in the correct
135 position.
136
137 1999-06-29 Mikael Djurfeldt <mdj@mdj-pc.nada.kth.se>
138
139 * readline.scm: Bugfix: Avoid getting the continued-lines prompt
140 at multiple calls to read.
141 (promtp2): Variable for continued-lines prompt.
142 (make-readline-port): Use prompt2.
143 (set-readline-prompt!): New optional arg which sets
144 continued-lines prompt.
145
146 * boot-9.scm (top-repl): Set/clear readline prompts before/after
147 reading expressions.
148
149 1999-06-18 Jim Blandy <jimb@savonarola.red-bean.com>
150
151 * ls.scm (ls, lls): Handle no arguments as meaning to look in
152 `(current-module)'. (Patch from Thien-Thi Nguyen.)
153
154 1999-06-14 Jim Blandy <jimb@savonarola.red-bean.com>
155
156 * string-fun.scm (split-before-predicate, split-after-predicate,
157 split-discarding-predicate): Make these public. (Thanks to
158 Thien-Thi Nguyen.)
159
160 1999-06-13 Gary Houston <ghouston@easynet.co.uk>
161
162 * more changes to expect.scm, to avoid the one-character lookhead
163 that was introduced to fix the $ problem:
164
165 * expect.scm (expect): call the match proc an extra time at end
166 of file and set the eof? argument appropriately. call
167 expect-eof-proc only if the last call didn't match.
168 * expect.scm (expect-strings): change port to eof? in match proc.
169 * expect.scm (expect-regexec): take an eof indicator as an argument
170 instead of a port.
171
172 1999-06-09 Jim Blandy <jimb@savonarola.red-bean.com>
173
174 * Makefile.am (ice9_sources): Add popen.scm to list.
175 * Makefile.in: Regenerated.
176
177 Fixes for expect from Gary Houston <ghouston@easynet.co.uk>:
178
179 * expect.scm (expect-regexec): define 'eof-next?'. I don't
180 know why it was missing. also don't peek for end of lines
181 unless expect-strings-exec-flags contains regexp/noteol.
182 (expect-strings-exec-flags): initialise to regexp/noteol.
183
184 Gary Houston's open-buffer port patches:
185
186 1999-04-01 Gary Houston <ghouston@easynet.co.uk>
187
188 * popen.scm: applied fixes from Greg Harvey. use a guardian
189 and a gc-thunk so that cleanup is done if a pipe is garbage
190 collected or closed with close-port. use a weak hash-table instead of
191 an alist.
192
193 1999-03-20 Gary Houston <ghouston@easynet.co.uk>
194
195 * expect.scm (expect): call the match proc with the port instead.
196 (expect-strings): use peek-char to get the next char. this has
197 the advantage of getting the handling of $ "correct", but the
198 disadvantage of needing to get (and maybe block for) an extra character
199 from the port when it may not be needed. hence:
200 (expect-strings-exec-flags): new variable/parameter, supplies
201 flags for regexp-exec. if this includes regexp/noteol, then
202 automatic regexp/noteol handling (requiring an extra peeked char)
203 is enabled. default is regexp/noteol.
204 (expect-strings-compile-flags): new variable/parameter, supplies
205 flags for make-regexp. default is regexp/newline.
206
207 1999-03-15 Gary Houston <ghouston@easynet.co.uk>
208
209 * expect.scm (expect): call the match proc with an extra char,
210 peeked from the stream.
211 (expect-strings): build a match proc which takes the extra char.
212 (expect-regexec): take an extra arg "eof-next?" and use it
213 to decide whether the regexp/noteol flag should be added.
214
215 1999-02-26 Gary Houston <ghouston@easynet.co.uk>
216
217 * boot-9.scm (top-repl): don't flush all ports at exit.
218 (error-catching-loop): likewise.
219
220 1998-12-23 Gary Houston <ghouston@easynet.co.uk>
221
222 * boot-9.scm (scm-style-repl): -read: don't call
223 consume-trailing-whitespace if val is eof object. Allows
224 exiting repl with single control-D.
225
226 1998-12-06 Gary Houston <ghouston@easynet.co.uk>
227
228 * boot-9.scm (error-catching-loop): don't force output within
229 error catching loop after quit received.
230 (top-repl): flush all ports when the repl terminates.
231
232 * boot-9.scm (error-catching-loop): flush all ports before
233 primitive exit if non-interactive.
234 force-output on current-error-port if interactive.
235
236 * boot-9.scm (reopen-file): deleted.
237 * popen.scm (open-output-pipe, open-input-pipe): moved from
238 boot-9.scm.
239 * popen.scm: new file.
240
241 1999-06-04 Dirk Herrmann <D.Herrmann@tu-bs.de>
242
243 * boot-9.scm (iota): replaced by a tail recursive version.
244 (reverse-iota): removed.
245
246 1999-06-03 Mikael Djurfeldt <mdj@mdj-pc.nada.kth.se>
247
248 * optargs.scm (lambda*): Bugfix: Replaced ARGLIST -->
249 non-optional-args. (Thanks to David Lutterkort.)
250
251 1999-05-09 Jim Blandy <jimb@savonarola.red-bean.com>
252
253 * string-case.scm: Removed; functions moved to libguile/strop.c
254 (which could be dynamically linked in the future anyway).
255 * Makefile.am (ice9_sources): Don't list string-case.scm.
256 * Makefile.in: Regenerated.
257 * format.scm: Don't bother importing (ice-9 string-case).
258
259 1999-05-02 Jim Blandy <jimb@savonarola.red-bean.com>
260
261 * boot-9.scm (provided?): New function.
262
263 * Makefile.am: Add string-case.scm and format.scm to ice9_sources.
264 * Makefile.in: Regenerated.
265
266 * string-case.scm: New file, brought in from SLIB, and adapted to
267 Guile's module system.
268
269 * format.scm: New file, brought in from SLIB, with the following
270 changes:
271 (format:format): If the first argument is the format string, stick
272 a #f on the front of it, so it is now a valid CL format argument
273 list. This is easier than changing everyplace else (like the
274 error formatter) that expects it to be in CL form. The other
275 clause which explicitly tests for this case is now dead code.
276 (format:format-work): Allow `@' and `:' in either order, as per
277 modern CL behavior.
278 (format:num->cardinal): Don't assume that an elseless if returns
279 '() when the condition is false.
280
281 1999-04-17 Jim Blandy <jimb@savonarola.red-bean.com>
282
283 * Makefile.in: Regenerated.
284
285 1999-04-08 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
286
287 * boot-9.scm: Provide 'values.
288
289 1999-03-21 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
290
291 * boot-9.scm (process-define-module, use-syntax): Bugfix:
292 :use-syntax should add syntax to using module, not current module.
293 (internal-use-syntax): Removed.
294
295 1999-03-21 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
296
297 * session.scm (apropos-internal): Modified to comply with new
298 argument order for hash-fold.
299
300 1999-03-19 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
301
302 * boot-9.scm (try-load-module): New procedure. Broken out from
303 resolve-module.
304 (resolve-module): Bugfix: Make it possible for a module at a
305 deeper level (x y z) to depend on a module on a higher (x y).
306
307 This also has the desired side-effect that multiple attempts to
308 load a module (e.g. with `use-modules') work until source is
309 actually found for the module (e.g. because the correct catalog
310 has been added to the load path).
311
312 Use try-load-module.
313
314 1999-03-18 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
315
316 * session.scm (system-module): New procedure. Used to switch a
317 module between system and user state.
318
319 1999-03-16 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
320
321 * session.scm (apropos-internal): Rewritten using hash-fold.
322
323 * emacs.scm, session.scm, slib.scm): Added :no-backtrace in module
324 definition.
325
326 1999-03-14 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
327
328 * boot-9.scm (make-record-type): Use `set-struct-vtable-name!' to
329 associate a name to the record type descriptor so that the object
330 system can create a wrapper class for it.
331
332 1999-03-12 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
333
334 Improvement of backtraces: Introduces a new stack narrowing
335 specifier, #t, for the inner cut. If the inner cut is specified
336 by #t, `make-stack' will throw away inner stack frames (most
337 recent calls on call chain) up to but excluding the first user
338 stack frame encountered.
339
340 This specifier is now used in `save-stack' so that the call
341 `(save-stack)' will get the new behaviour. [It is recommended that
342 any error reporting functions written by the user have this call
343 on the outermost expression level (i.e. as a member of the lambda
344 list).]
345
346 Modules are partitioned into "user" and "system" modules. [I know
347 that some names used here are silly, but I don't have more time to
348 spend on a better solution, especially considering that the module
349 system will be replaced. But if people have better ideas, then
350 please tell me!]
351
352 System modules are created by adding :no-backtrace among the
353 define-module switches:
354
355 (define-module (foo)
356 :no-backtrace)
357
358 Modules which doesn't have the :no-backtrace specifier are user
359 modules.
360
361 A stack frame is classified as a user frame if it has source code
362 associated with it and if this source code can be proven to come
363 from a user module. If it can be proven to come from a system
364 module it is a system frame.
365
366 Frames which can't be classified, e.g. application frames, are cut
367 away if they occur between system frames, but are left on the
368 stack if they occur between the last system frame and the first
369 user frame encountered. (Note that the first user frame
370 encountered is the last user code being evaluated!)
371
372 In some cases the system part of the call chain is introduced by
373 frames which should but can't be proven to be system frames. The
374 following workaround has been implemented: The cutting proceeds
375 over application frames where the operator is marked by the
376 `system-procedure' property. (This has been used to cut away
377 generic function dispatch code in the object system.)
378
379 * boot-9.scm (set-system-module!): New procedure: Set system/user
380 status of a module.;
381 Mark `the-root-module' and `the-scm-module' as system modules.
382 (process-define-module): Add new keyword :no-backtrace.
383
384 * boot-9.scm (environment-module): Bugfixed.
385 (set-module-eval-closure!): Add a pointer back from the eval
386 closure to the module.
387
388 * emacs.scm (emacs-load): Reset port filename after transfer.
389
390 1999-03-03 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
391
392 * slib.scm (make-random-state): Added for compatibility.
393
394 1999-02-16 Maciej Stachowiak <mstachow@alum.mit.edu>
395
396 * optargs.scm (lambda*): Handle empty argument lists properly.
397
398 1999-02-15 Jim Blandy <jimb@savonarola.red-bean.com>
399
400 Fix from Russ McManus:
401 * getopt-long.scm (parse-option-spec): Store 'optional as the
402 value-required? field for options that take optional values.
403 (process-short-option): Grab a value for the option when it takes
404 either an optional or required value.
405
406 1999-02-12 Jim Blandy <jimb@savonarola.red-bean.com>
407
408 * getopt-long.scm: Remove debugging calls to `pk'.
409
410 * getopt-long.scm: Return list of ordinary arguments as the value
411 of the '() key, not `rest'.
412
413 A new argument-processing package from Russ McManus.
414 * getopt-long.scm: New file.
415 * Makefile.am (ice9_sources): Added getopt-long.scm.
416 * Makefile.in: Regenerated.
417
418 1999-02-09 Maciej Stachowiak <mstachow@alum.mit.edu>
419
420 * optargs.scm: New file.
421 * Makefile.am (ice9_sources): Add optargs.scm here. Makefile.in
422 not regenerated because I don't have the right version of Automake.
423
424 1999-02-06 Jim Blandy <jimb@zwingli.cygnus.com>
425
426 * and-let*.scm: New file, from Michael Livshin.
427 * Makefile.am (ice9_sources): Add and-let* here.
428 * Makefile.in: Regenerated.
429
430 1999-01-11 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
431
432 * slib.scm (install-require-module): Fixed the kludge which loads
433 the slib catalog: Doesn't anylonger assume that the feature tested
434 for isn't loaded.
435
436 1998-12-14 Jim Blandy <jimb@zwingli.cygnus.com>
437
438 * Makefile.in: Regenerated.
439
440 1998-12-14 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
441
442 * boot-9.scm (process-define-module): Reverted the change of
443 1998-11-23 which caused loading of object code if :use-module was
444 applied to the module itself.
445
446 1998-12-11 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
447
448 * Makefile.am: Removed setf.scm.
449
450 * setf.scm: Removed. 1. It was buggy. 2. It was unschemey.
451 (These shortcomings were my fault.)
452
453 1998-12-10 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
454
455 * boot-9.scm (environment-module): New procedure.
456
457 1998-12-07 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
458
459 * Makefile.am: Added setf.scm.
460
461 1998-12-05 Christian Lynbech <chl@tbit.dk>
462
463 * setf.scm: New file. Adds the new forms `setf!' and `setter'
464 which implements generalized references a la Common LISP.
465
466 1998-12-02 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
467
468 * boot-9.scm (process-define-module): Added new specifier
469 :autoload MODULENAME BINDINGS to the define-module form.
470 The autoload specifier tells the module system to load the module
471 MODULENAME at the first occasion that any variable with its name
472 among BINDINGS is referenced.
473 (make-autoload-interface): New procedure: Constructs a stand-in
474 for the public interface for the module to be autoloaded.
475
476 1998-12-01 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
477
478 * boot-9.scm (*suppress-old-style-hook-warning*): Set this to #t
479 if you don't want the old style hook warnings.
480
481 1998-12-01 Christian Lynbech <chl@tbit.dk>
482
483 * boot-9.scm (try-using-libtool-name): Fix check on dlname to make
484 sure that it isn't empty, as it is when we are only buidling
485 static libraries.
486
487 1998-11-27 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
488
489 * session.scm (arity): New procedure.
490
491 1998-11-26 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
492
493 * boot-9.scm: Use run-hook instead of run-hooks everywhere.
494
495 1998-11-26 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
496
497 * boot-9.scm (run-hooks, add-hook!, remove-hook!): Added temporary
498 code for backward compatibility until people have had time to
499 adapt to the new hooks.
500
501 1998-11-23 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
502
503 * boot-9.scm (beautify-user-module!): Beautify also if public
504 interface is set to the module itself. In this way we can use
505 beautify-user-module! to beautify a module prepared for object
506 code.
507 (process-define-module): Special case: Try to load object code as
508 well if a module does :use-module on itself.
509
510 * boot-9.scm: Bugfix: Since boot-9.scm is now loaded from
511 invoke_main_func, we can no longer be sure that all modules have
512 been registered when boot-9.scm is loaded.
513 (register-modules): New function: Register and tag modules
514 registered by scm_register_module_xxx since last call to this
515 function. Modules are tagged with the dynamic object passed as
516 argument. (Already linked modules should be tagged with #f.)
517 (init-dynamic-module, link-dynamic-module): Call register-modules
518 first to register linked modules.
519
520 * boot-9.scm (init-dynamic-module): Remove module from
521 registered-modules as soon as possible in case we are recursively
522 invoked; Set public interface before doing the dynamic-call.
523
524 * boot-9.scm (map-in-order): Removed (replaced by scm_serial_map).
525 (abort-hook, before-error-hook, after-error-hook,
526 before-backtrace-hook, after-backtrace-hook, before-read-hook,
527 after-read-hook, exit-hook): Make hooks with `make-hook'.
528
529 * boot-9.scm: Make hooks first class citizens and make them easier
530 to use from C:
531 (make-hook, add-hook!, remove-hook!, run-hooks): Moved to
532 libguile/feature.c.
533
534 * boot-9.scm: Added warnings about bindings used in
535 libguile/modules.c: the-module, set-current-module,
536 make-modules-in, beautify-user-module!, module-eval-closure.
537
538 1998-11-21 Mikael Djurfeldt <mdj@kenneth>
539
540 * boot-9.scm (the-environment): New special form: Returns an
541 object representing the current local evaluation environment.
542 This object can be used in `local-eval' and `defined?'.
543
544 1998-11-13 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
545
546 * boot-9.scm (collect): New syntax. Similar to begin but returns
547 a list of the results of all forms in the sequence instead of the
548 result of the last form.
549
550 1998-11-10 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
551
552 * boot-9.scm (values, call-with-values): Moved here from
553 syncase.scm.
554
555 * syncase.scm (values, call-with-values): Moved to boot-9.scm.
556
557 * boot-9.scm (readline-options, readline-enable, readline.disable,
558 readline-set!: New options interface.
559
560 * readline.scm (readline-port): Use readline-options-interface.
561
562 1998-11-05 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
563
564 * boot-9.scm: Set the repl start module in `top-repl' instead of
565 at the end of boot-9.scm.
566
567 1998-11-01 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
568
569 * emacs.scm (format): Bugfix: Handle multiple arguments
570 correctly. (Thanks to Thien-Thi Nguyen.)
571
572 1998-11-01 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
573
574 * boot-9.scm (exit-hook): New hook: Is run at the very end of an
575 interactive session.
576 (top-repl): Run exit-hook on exit.
577
578 * readline.scm (readline-port): Maybe read history; Maybe write
579 history at exit (add to exit-hook).
580
581 Fri Oct 30 15:15:37 1998 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
582
583 * readline.scm (make-readline-port): Bugfixed last change...
584
585 1998-10-28 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
586
587 * readline.scm (make-readline-port): Don't set prompt to "... " if
588 read line was empty.
589
590 1998-10-19 Jim Blandy <jimb@zwingli.cygnus.com>
591
592 * boot-9.scm, debug.scm, expect.scm, hcons.scm, lineio.scm,
593 r4rs.scm, slib.scm, threads.scm: Update copyright years.
594
595 * getopt-gnu-style.scm, slib.scm: Add copyright notice.
596
597 Talked to Stallman. Actually, the syntax-case copyright is no
598 problem. Duh.
599 * Makefile.am (ice9_sources): Revert last change.
600 * syncase.scm, psyntax.pp, psyntax.ss: Added again.
601 * Makefile.in: Regeneretade.
602
603 * boot-9.scm: Don't assume that this file is loaded just before
604 entering a read-eval-print loop. Turn code to load (ice-9 emacs)
605 into...
606 (load-emacs-interface): New function.
607 (top-repl): Call it, if use-emacs-interface is defined and true.
608 At this point, we *do* know we're about to enter a REPL.
609
610 We can't include Kent Dybvig's syntax-case macro expander in the
611 core Guile distribution, because we don't have copyright
612 assignments for this code. We can certainly distribute them as a
613 separate package, but Guile should be FSF code.
614 * syncase.scm, psyntax.pp, psyntax.ss: Removed.
615 * Makefile.am (ice9_sources): Removed syncase.scm, psyntax.pp, and
616 psyntax.ss.
617 * Makefile.in: Regenerated.
618
619 * Makefile.am (ice9_sources): Add getopt-gnu-style.scm.
620 * Makefile.in: Regenerated.
621
622 1998-10-18 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
623
624 * boot-9.scm: Added extended read syntax for byte vectors #y(...)
625 and short vectors #h(...).
626
627 1998-10-14 Jim Blandy <jimb@zwingli.cygnus.com>
628
629 * calling.scm (excursion-function-syntax): Use a sequence of
630 set!'s, not a single multi-variable set!; we removed support for
631 that syntax a long time ago. (Thanks to Shuji Narazaki.)
632
633 1998-10-12 Jim Blandy <jimb@zwingli.cygnus.com>
634
635 * r4rs.scm (OPEN_READ, OPEN_WRITE, OPEN_BOTH): Don't bother
636 testing software-type here. That's the least of our Windows
637 porting issues, and it's done wrong anyway.
638
639 1998-10-09 Jim Blandy <jimb@zwingli.cygnus.com>
640
641 * boot-9.scm (read-path-list-notation-warning): New function:
642 print a warning the first time we see `#/' notation.
643
644 * q.scm (sync-q!, q?, q-remove!, q-push!, enq!): Lots of bugs, and
645 (eq? #f '()) assumptions. Make functions that aren't documented
646 to return anything else return the queue itself. (Bug report from
647 Michael Livshin --- thanks!)
648
649 1998-08-21 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
650
651 * debug.scm (trace-entry, trace-exit): Removed re-enabling of
652 trace flag.
653
654 * boot-9.scm (make-options): Bugfix: Changed pair? --> list? in
655 order to allow the empty list as arg.
656 (error-catching-loop): Use `with-traps' to create a dynamic
657 context with traps enabled.
658
659 1998-08-19 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
660
661 * boot-9.scm: Removed (ice-9 regex) from use-list of (guile)
662 module.
663 (try-using-libtool-name): Removed dependency on (ice-9 regex).
664
665 1998-08-15 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
666
667 * boot-9.scm: Make the root module use (ice-9 regex) if
668 available. The dynamic linking facilities in boot-9.scm are
669 currently dependent upon regular expressions. My change of
670 1998-07-14 removed (ice-9 regex) from the use-list of the root
671 module and thereby destroyed dynamic linking.
672
673 1998-07-29 Jim Blandy <jimb@zwingli.cygnus.com>
674
675 * Makefile.in: Regenerated using the last public version of
676 automake, not the hacked Cygnus version.
677
678 1998-07-28 Jim Blandy <jimb@zwingli.cygnus.com>
679
680 * Makefile.in: Regenerated, after removing Totoro kludge.
681
682 1998-07-28 Jim Blandy <jimb@totoro.red-bean.com>
683
684 * getopt-gnu-style.scm: New file. (Thanks to Russ McManus.)
685
686 1998-07-26 Jim Blandy <jimb@zwingli.cygnus.com>
687
688 * Makefile.in Rebuilt, for config changes in parent dir.
689
690 1998-07-21 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
691
692 * readline.scm (make-readline-port): Set prompt string to "... "
693 after first read line. (Thanks to Richard Polton.)
694
695 1998-07-19 Jim Blandy <jimb@zwingli.cygnus.com>
696
697 * lineio.scm (make-line-buffering-input-port): Don't use
698 ungetc-char-ready?, since we don't provide that function any
699 more. The unread-string function doesn't interact properly with
700 any of the standard I/O functions anyway. (Thanks to Andrew
701 Archibald.)
702
703 * hcons.scm (hashq-cons-assoc): Don't assume the empty list is
704 false. Return false when we cannot find a matching entry in the
705 list. (Thanks to Andrew Archibald.)
706
707 1998-07-16 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
708
709 * boot-9.scm (export, export-syntax): New special forms: Export
710 bindings from a module. `(export name1 name2 ...)' can be used at
711 the top of a module (after `define-module') to specify which names
712 should be exported. It can be used as an alternative to
713 `define-public'. `export-syntax' works equivalently to `export'
714 but is intended for export of syntactic keywords.
715 (Thanks to Thien-Thi Nguyen.)
716
717 1998-07-15 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
718
719 * boot-9.scm: Renamed module `(guile-repl)' --> `(guile-user)'.
720
721 1998-07-14 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
722
723 * boot-9.scm: Let the user start in module `(guile-repl)' instead
724 of module `(guile)'. Also make sure that `(guile-repl)' uses
725 suitable modules. This change improves Guile stability
726 substantially since bindings will only be copied from the root
727 module: If the user redefines builtins in `(guile-repl)' it won't
728 affect the internal operation of Guile itself.
729
730 1998-06-19 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
731
732 * boot-9.scm (load-module): When loading files from within files
733 themselves being loaded: Use the directory path of the file being
734 loaded as root for relative filenames. (After suggestion by
735 Steven G. Johnson.)
736
737 1998-06-15 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
738
739 * emacs.scm (emacs-load): New feature: Eval in specified module.
740
741 1998-06-14 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
742
743 * readline.scm: Typo in regex module name.
744
745 1998-06-13 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
746
747 * readline.scm (apropos-completion-function): regexp-quote text to
748 be completed.
749
750 1998-06-11 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
751
752 * debug.scm, emacs.scm: Bugfix: Treat `the-last-stack' as a fluid.
753
754 1998-06-09 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
755
756 * boot-9.scm: Check that (current-input-port) is a tty before
757 enabling readline. (Thanks to Michael N. Livshin.)
758
759 1998-06-07 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
760
761 * boot-9.scm (use-syntax): Turned into a macro inorder to be
762 similar in use to `use-modules'.
763 Example: (use-syntax (ice-9 syncase)) will 1. load the module
764 (ice-9 syncase), and, 2. install the procedure `syncase' as eval
765 transformer.
766 (internal-use-syntax): New procedure.
767 (process-define-module): Use `internal-use-syntax'.
768
769 1998-05-19 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
770
771 * Makefile.am (ice9_sources): Add emacs.scm.
772
773 1998-05-13 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
774
775 * readline.scm: Use the new readline facilities: Add the
776 possibility to control input and output ports; Add apropos
777 completion.
778
779 * boot-9.scm: Antirevert Jim's readline code which he reverted
780 19971027 and adapt it to the current readline interface.
781
782 * boot-9.scm (top-repl): Only enable readline if not using the
783 Emacs interface; Only use repl prompt when using the readline port
784 from repl-read. (We don't want to see it when calling `read'.)
785
786 * boot-9.scm (remove-hook!): Parenthesis bug.
787
788 1998-05-11 Mikael Djurfeldt <mdj@kenneth>
789
790 * boot-9.scm: Load readline module if readline is present.
791
792 * readline.scm (apropos-completion-function): New procedure:
793 Symbolic completion. (Thanks to Andrew Archibald!)
794
795 1998-04-22 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
796
797 * boot-9.scm (process-define-module): Added keyword use-syntax.
798
799 1998-04-19 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
800
801 * nonblocking.scm: Removed. libguile is now inherently
802 nonblocking through the use of scm_internal_select.
803
804 * emacs.scm: Removed use of nonblocking.scm.
805
806 * gwish.scm, gtcl.scm: Removed. tcltk.scm has made these
807 obsolete.
808
809 1998-04-15 Mikael Djurfeldt <mdj@nada.kth.se>
810
811 * runq.scm (runq-control): Corrected spelling of enqueue!.
812 (Thanks to Karl M. Hegbloom.)
813
814 1998-03-30 Mikael Djurfeldt <mdj@nada.kth.se>
815
816 * boot-9.scm: Added new run-time option interface eval-options.
817
818 1998-03-28 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
819
820 * boot-9.scm (remove-hook!): New macro. (Thanks to Maciej
821 Stachowiak.)
822
823 1998-01-30 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
824
825 * threads.scm: Added simple error and signal handler.
826 (make-thread, begin-handler): Use this handler. The most
827 important effect of this is that signals get unmasked.
828 Previously, when a signal was thrown signals remained masked
829 (signals get masked when a signal is taken) which influenced other
830 threads.
831
832 1998-01-01 Tim Pierce <twp@skepsis.com>
833
834 A better fix to the SLIB identity problem -- thanks to Marius Vollmer.
835 * slib.scm (identity): Unmake public.
836 (slib:eval): Evaluate inside `slib-module'.
837
838 1997-12-24 Tim Pierce <twp@skepsis.com>
839
840 * boot-9.scm: Doc fix.
841
842 * slib.scm (identity): Made public.
843 (home-vicinity): New function (from SLIB/Template.scm).
844
845 1997-12-13 Tim Pierce <twp@skepsis.com>
846
847 * boot-9.scm (read-line): Rewritten to call %read-line for
848 improved speed. Minor user-visible changes: the new functions are
849 hardwired to treat the LFD character as signifying end-of-line, so
850 changing `scm-line-incrementors' will no longer affect the
851 behavior of read-line. On platforms which do not represent
852 end-of-line with a LFD character, read-line should behave more
853 like native line-processing facilities, but there is still a ways
854 to go here.
855
856 Sat Nov 29 01:24:46 1997 Mikael Djurfeldt <mdj@kenneth>
857
858 * boot-9.scm (error-catching-loop, save-stack): `the-last-stack'
859 is now a fluid.
860
861 1997-11-28 Tim Pierce <twp@skepsis.com>
862
863 * boot-9.scm (find-and-link-dynamic-module): If a module directory
864 contains a .la file (a libtool support file), attempt to extract
865 the shared library name from that file. If the .la file does not
866 exist, try to link against a .so file. Libtool-generated compiled
867 modules should load more cleanly in Guile now.
868 (try-using-libtool-name, try-using-sharlib-name): New functions.
869
870 Sun Nov 9 06:10:59 1997 Gary Houston <ghouston@actrix.gen.nz>
871
872 * boot-9.scm (set-batch-mode?!, batch-mode?): initialize more
873 usefully so they will work from a script.
874
875 1997-10-31 Marius Vollmer <mvo@zagadka.ping.de>
876
877 * boot-9.scm (inherit-print-state): Moved definition to the
878 neighborhood of the record code.
879
880 Mon Oct 27 02:05:49 1997 Jim Blandy <jimb@totoro.red-bean.com>
881
882 * boot-9.scm: Revert changes to this file from Oct 23. It turns
883 out to interact badly with the Emacs support and the Tcl/Tk
884 support. It's not a high enough priority at the moment to be
885 worth fixing. I'm leaving the other readline support in, though.
886
887 Sat Oct 25 14:23:22 1997 Jim Blandy <jimb@totoro.red-bean.com>
888
889 * Makefile.am: Include readline.scm in the list of files to be
890 installed, so Guile can find it for interactive use.
891 * Makefile.in: Regenerated.
892
893 Thu Oct 23 01:00:33 1997 Jim Blandy <jimb@totoro.red-bean.com>
894
895 Add support for readline function.
896 * readline.scm: New module.
897 * boot-9.scm (repl-reader): New function.
898 (scm-style-repl): Call repl-reader, instead of doing the reading
899 ourselves. Remove repl-report-reset; it was never used for
900 anything.
901 (top-repl): If we've got the readline primitives, then redefine
902 repl-reader to use them.
903 If we've got the readline primitives, import the readline module.
904
905 * ls.scm (ls, lls): Don't assume (eq? #f '()).
906
907 Wed Oct 22 18:26:57 1997 Jim Blandy <jimb@totoro.red-bean.com>
908
909 * calling.scm, common-list.scm, ls.scm, q.scm, runq.scm,
910 string-fun.scm: Added copyright notices; reformatted.
911
912 Thu Oct 9 05:44:00 1997 Gary Houston <ghouston@actrix.gen.nz>
913
914 * expect.scm: (expect-regexec): new procedure, use it in
915 expect-strings to fix the => syntax under the new regex system.
916 (top): include regex module in define-module statement.
917
918 Wed Oct 8 03:16:01 1997 Gary Houston <ghouston@actrix.gen.nz>
919
920 * (error-catching-loop): new local variable "interactive". if
921 #f, abort terminates the process.
922 (set-batch-mode?!, batch-mode?): new closures, defined in
923 error-catching-loop. the names are from scsh.
924
925 1997-10-06 Marius Vollmer <mvo@zagadka.ping.de>
926
927 * boot-9.scm (inherit-print-state): If NEW-PORT contains a
928 print-state, throw it away.
929
930 Fri Oct 3 12:00:00 Mikael Djurfeldt <mdj@nada.kth.se>
931
932 * boot-9.scm (struct-layout): Use `vtable-index-layout' instead of
933 `0'.
934
935 Thu Oct 2 12:00:00 Mikael Djurfeldt <mdj@nada.kth.se>
936
937 * boot-9.scm (struct-printer, make-struct-printer,
938 set-struct-printer-in-vtable!, *struct-printer*): Removed.
939 (record-type-vtable, make-record-type): Don't use make-struct-printer.
940 (record-type-vtable): User fields "prpr" (printer is no longer a
941 user field).
942 (record-type-name, record-type-fields): Decreased slot index by
943 one; Use `vtable-offset-user'.
944
945 Thu Oct 2 12:00:00 Marius Vollmer <mvo@zagadka.ping.de>
946
947 * boot-9.scm (inherit-print-state): New experimental function.
948
949 Tue Sep 30 13:12:48 1997 Jim Blandy <jimb@totoro.red-bean.com>
950
951 Suggestion and script from Maciej Stachowiak:
952 * boot-9.scm: Split off modules into separate, autoloadable files.
953 This reduces startup time from 10.5s to 5.5s (user cpu).
954 * calling.scm, common-list.scm, ls.scm, q.scm, runq.scm,
955 string-fun.scm: New files, containing stuff that used to be in
956 boot-9.scm.
957 * Makefile.am (ice9_sources): List new files here, for
958 distribution and installation.
959 * Makefile.in: Regenerated.
960
961 Mon Sep 29 23:53:55 1997 Jim Blandy <jimb@totoro.red-bean.com>
962
963 * Makefile.in: Regenerated with automake 1.2c.
964
965 Mon Sep 29 03:21:24 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
966
967 * slib.scm (slib:load): slib:load first tries to load the file
968 named NAME, then NAME.scm. On error, report the error occuring at
969 the first attempt (NAME) rather than the second (NAME.scm).
970
971 * boot-9.scm: Bugfix: Hard-solder the print-option procedure into
972 the make-options macro so that we needn't refer to a global
973 symbol.
974
975 Sun Sep 28 21:40:24 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
976
977 * debug.scm: Moved options interface procedures to boot-9.scm.
978
979 * boot-9.scm: Define options interface procedures here instead.
980
981 Sat Sep 27 20:19:20 1997 Jim Blandy <jimb@totoro.red-bean.com>
982
983 * boot-9.scm (separate-fields-discarding-char,
984 separate-fields-after-char, separate-fields-before-char): Call
985 continuation function, RET, as advertised: with each separated
986 field a separate argument.
987
988 * Makefile.in: Regenerated with automake 1.2a.
989
990 Sat Sep 20 14:23:53 1997 Mikael Djurfeldt <mdj@kenneth>
991
992 * slib.scm (slib:load): Export.
993
994 * boot-9.scm (in-vicinity): Bugfix: Don't add "/" to an empty
995 vicinity;
996 Provide defmacro.
997
998 Thu Sep 18 01:24:31 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
999
1000 * r4rs.scm (apply): Set name property to 'apply.
1001
1002 Tue Sep 16 22:09:50 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1003
1004 * boot-9.scm (keyword->symbol, display-usage-report): Changed
1005 length --> string-length. (Thanks to Aleksandar Bakic.)
1006 (separate-fields-discarding-char, separate-fields-after-char,
1007 separate-fields-before-char): Bugfix from Maciej Stachowiak
1008 <mstachow@mit.edu>. Thanks!
1009 (try-module-linked): Try to find module among those already
1010 registered.
1011 (try-module-dynamic-link): Removed the first test which
1012 corresponds to a call to `try-module-linked'.
1013 (resolve-module): Resolve modules in this order: 1. Already
1014 registered modules (for example those which have been statically
1015 linked), 2. Try to autoload an .scm-file, 3. Try to dynamically
1016 link a .so-file.
1017
1018 Mon Sep 15 23:39:54 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1019
1020 * boot-9.scm (iota): Renamed list-reverse! --> reverse!
1021
1022 Thu Sep 11 02:31:38 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1023
1024 * session.scm (name): New procedure: Gives name of object.
1025 (source): New procedure: Gives source of object.
1026
1027 Wed Sep 10 20:12:45 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1028
1029 * boot-9.scm (primitive-macro?): New procedure.
1030
1031 * slib.scm: Added hack which transfers syntactic information from
1032 the builtin variable `define' to the slib version if module (ice-9
1033 syncase) has been loaded. This is necessary to get correct
1034 expansion inside the slib module.
1035
1036 * psyntax.ss (build-let, build-named-let): New output
1037 constructors.
1038 (build-lexical-var): Seed gensym with symbolic name.
1039 (self-evaluating?): Add keywords among self-evaluating types.
1040 (let): New core form.
1041 (if): Removed from core language.
1042 (or, and, let, cond): Removed syntactic definitions.
1043 (sc-expand3): New procedure: Expander which takes optional mode
1044 and eval-syntactic-expanders-when arguments.
1045
1046 * syncase.scm (psyncomp): New procedure: Recompiles psyntax.pp.
1047 Should be used inside the (ice-9 syncase) module with (use-syntax
1048 syncase) and with the current directory containing the psyntax.ss
1049 source.
1050 Added hack to transfer syntactic information from the builtin
1051 variable `define' to the slib version if module (ice-9 slib) has
1052 been loaded.
1053
1054 Fri Sep 5 05:47:36 1997 Mikael Djurfeldt <mdj@faun.nada.kth.se>
1055
1056 * syncase.scm (sc-interface, sc-expand): Removed hook setup.
1057 (syncase): Publish syntax transformer to be used with
1058 `use-syntax'.
1059 (sc-macro): Use this as the value when publishing macros.
1060
1061 * boot-9.scm (module-type): Added `transformer'.
1062 (make-module): Modified initialization.
1063 (module-transformer, set-module-transformer!): Selector and
1064 mutator for module-associated transformer.
1065 (set-current-module): Use module-transformer to set
1066 `scm:eval-transformer'.
1067 (module-use!): Previous change reverted.
1068 (use-syntax): New function: Install a transformer in current
1069 module.
1070 (sc-interface, sc-expand): Removed! :)
1071
1072 Fri Sep 5 03:09:09 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1073
1074 * emacs.scm (emacs-load): Added new parameter `module'.
1075
1076 * syncase.scm (putprop, getprop): Modified to use the object
1077 properties of the variable object corresponding to the symbol;
1078 This way we can ride on the mechanisms of the module system.
1079 Changed `builtin-variable' calls to `define-public' calls.
1080 Setup the hooks sc-expand and sc-interface.
1081
1082 * boot-9.scm (sc-interface, sc-expand): New builtin variables.
1083 (set-current-module): Switch to and from sc-expand as
1084 scm:eval-transformer when going into and out of modules using
1085 syncase macros.
1086 (module-use!): Set scm:eval-transformer to sc-expand when adding
1087 the syncase interface.
1088
1089 Thu Sep 4 14:57:04 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1090
1091 * syncase.scm (putprop): Temporary fix which publishes new syntax
1092 globally (the old behaviour was complex and connected to the inner
1093 workings of the current module system).
1094
1095 Wed Sep 3 21:29:13 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1096
1097 * psyntax.ss: Updated.
1098 psyntax.pp: Bugfix: Previous version had some leading "t":s cut
1099 off!
1100
1101 Tue Sep 2 00:26:42 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1102
1103 * boot-9.scm (gensym): Removed (replaced by primitive).
1104 (obarray-gensym): Rewritten to use `gensym'.
1105 (gentemp): Rewritten to use `gensym'.
1106
1107 Mon Sep 1 20:08:32 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1108
1109 * gtcl.scm (make-tcl-binder): Rewritten to choose bindings
1110 according to the following priorities:
1111 1. tcl bindings which are present in override-scheme-list
1112 2. bindings from the-scm-module
1113 3. tcl bindings
1114 This way the gtcl module can occur first in the use-list without
1115 disabling the scheme interpreter.
1116 (new-interpreter): New function.
1117
1118 * gwish.scm: Moved initialization code for the-interpreter to
1119 gtcl.scm; Moved name space cleaning code to gtcl.scm and rewrote
1120 it; Call `new-interpreter'; Don't :use-module (guile).
1121
1122 Thu Aug 28 23:48:53 1997 Jim Blandy <jimb@totoro.red-bean.com>
1123
1124 * Makefile.in: Regenerated.
1125
1126 Wed Aug 27 11:35:09 1997 Jim Blandy <jimb@totoro.red-bean.com>
1127
1128 * Makefile.in: Regenerated, so it uses "tar", not "gtar".
1129
1130 Mon Aug 25 22:00:44 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1131
1132 * emacs.scm (object->string, format, error-args->string): New
1133 procedures.
1134 (emacs-frame-eval): Reworked.
1135
1136 Mon Aug 25 16:15:55 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1137
1138 * session.scm (apropos-internal): Musn't initialize symbol
1139 accumulator with a constant pair. That led to mutation of the
1140 source!
1141
1142 Sun Aug 24 01:03:10 1997 Mikael Djurfeldt <mdj@kenneth>
1143
1144 * session.scm (vector-for-each): Removed.
1145 (apropos): vector-for-each --> array-for-each.
1146 (apropos-internal): New function. Return list of accessible
1147 symbols matching regexp.
1148
1149 * debug.scm (frame-number->index): New function. Convert frame
1150 number (as displayed in the backtrace) to frame index (to be used
1151 in stack-ref).
1152
1153 * emacs.scm (emacs-load): New arguments: interactivep: when
1154 non-false, send back results to Emacs; colnum: Column number;
1155 Use modules (ice-9 debug) and (ice-9 session);
1156 (no-stack, no-source): New simple-actions;
1157 (result-to-emacs): New procedure. Sends data to Emacs via the
1158 result protocol;
1159 (get-frame-source, emacs-select-frame, emacs-frame-eval,
1160 emacs-symdoc): New procedures.
1161
1162 Wed Aug 20 13:21:11 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1163
1164 * emacs.scm (emacs-load): Adjust stack narrowing.
1165 (whitespace-chars): Include #\np.
1166
1167 * syncase.scm: Also turn off debugging evaluator and recording of
1168 procedure names during loading of psyntax.pp.
1169
1170 * psyntax.pp: Removed leading blanks => 800K -> 100K.
1171
1172 Tue Aug 19 02:39:41 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1173
1174 * syncase.scm: Don't tamper with debug mode setting when enabling
1175 macros. Instead cut the stack with start-stack.
1176 Load psyntax.pp with recording of positions turned off.
1177
1178 * psyntax.pp, psyntax.ss (quasiquote): Changed fx= --> =.
1179
1180 * syncase.scm: New file: Guile-adaption for syntax-case macros.
1181 * psyntax.pp, psyntax.ss: Syntax-case macros, portable version 2 by
1182 R. Kent Dybvig, Oscar Waddell, Bob Hieb and Carl Bruggeman
1183
1184 Mon Aug 18 21:58:25 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1185
1186 * session.scm: New file: Session support.
1187 (apropos): New procedure: List bindings given regexp.
1188
1189 Sat Aug 16 18:44:24 1997 Gary Houston <ghouston@actrix.gen.nz>
1190
1191 * boot-9.scm: define tms accessors: clock, utime, stime, cutime,
1192 cstime.
1193
1194 Thu Aug 14 19:55:37 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1195
1196 * emacs.scm (emacs-load): Something has changed in the reader so
1197 that we now should set the port line count to the specified value
1198 (linum) instead of (- linum 1).
1199
1200 * slib.scm (slib:load): Use load-from-path instead of
1201 primitive-load-path so that backtraces get narrowed properly at
1202 the top.
1203
1204 * boot-9.scm (top-repl): Save stack already in signal handler in
1205 order to narrow it correctly.
1206 (save-stack): Adjust narrowing tag for the top of load-stacks.
1207
1208 Tue Jul 29 01:18:08 1997 Gary Houston <ghouston@actrix.gen.nz>
1209
1210 * boot-9.scm (move->fdes, dup->port): use dup->fdes, not primitive-dup.
1211 (dup->fdes): deleted, now done in C.
1212
1213 Sat Jul 26 08:00:42 1997 Gary Houston <ghouston@actrix.gen.nz>
1214
1215 * boot-9.scm (setenv): new procedure, scsh compatible.
1216
1217 Sat Jul 26 21:30:10 1997 Marius Vollmer <mvo@zagadka.ping.de>
1218
1219 * boot-9.scm (with-fluids): New macro to go with the
1220 builtin `with-fluids*'.
1221
1222 Thu Jul 24 04:28:11 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1223
1224 * slib.scm (install-require-module): In newer versions of slib
1225 *catalog* is #f until the first access. Therefore we call
1226 require:provided? for a random feature if *catalog* is #f.
1227
1228 Wed Jul 23 20:13:04 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1229
1230 * boot-9.scm: If using emacs interface, enable backtraces
1231 automatically.
1232
1233 Mon Jul 21 06:45:45 1997 Gary Houston <ghouston@actrix.gen.nz>
1234
1235 * boot-9.scm (dup->port, dup->inport, dup->outport, dup->fdes,
1236 dup, fdes->inport, fdes->outport, port->fdes): new procedures.
1237 (duplicate-port): was a C primitive, now it's here.
1238 (move->fdes): allow the first argument to be a file descriptor.
1239 Return the modified port or file descriptor (was unspecified.)
1240
1241 Fri Jul 11 00:13:43 1997 Jim Blandy <jimb@floss.red-bean.com>
1242
1243 Changes to compile under gnu-win32, from Marcus Daniels:
1244 * boot-9.scm (load-user-init): If HOME is unset, provide
1245 a default of /.
1246
1247 * boot-9.scm (define-public): Changed to accomodate Hobbit.
1248
1249 Tue Jun 24 00:31:47 1997 Jim Blandy <jimb@floss.red-bean.com>
1250
1251 * boot-9.scm, debug.scm, hcons.scm, lineio.scm, mapping.scm,
1252 poe.scm, slib.scm, tags.scm, threads.scm: Use normal list
1253 notation, instead of #/ notation.
1254
1255 * expect.scm (expect-strings): Pass regexp/newline flag to
1256 make-regexp.
1257
1258 Mon Jun 23 16:13:38 1997 Jim Blandy <jimb@floss.red-bean.com>
1259
1260 Fix inconsistencies in parsing of #/ style lists.
1261 * boot-9.scm (read-path-list-notation): New function.
1262 (parse-path-symbol): Deleted. Replaced by above.
1263 Plug in read-path-list-notation as the parser for #/ lists,
1264 instead of the anonymous lambda form calling parse-path-symbol.
1265 (Thanks to Maurizio Vitale.)
1266
1267 * boot-9.scm (make-list): Remove the definition of this function
1268 from the (ice-9 common-list) module; make the `init' argument
1269 optional in the scm module's definition, to match the deleted
1270 definition. Harmony reigneth? (Thanks to Bernard URBAN.)
1271
1272 Sun Jun 22 18:33:17 1997 Jim Blandy <jimb@floss.red-bean.com>
1273
1274 Try to detect when people are using one version of libguile and a
1275 different version of ice-9. People have been skewing things and
1276 sending in bug reports.
1277 * version.scm.in: New file, which the configure script munges to
1278 produce version.scm, which contains the ice-9 config stamp.
1279 * boot-9.scm: Compare the libguile and ice-9 config stamps;
1280 display a warning if the two are different.
1281 * Makefile.am: Install version.scm, but don't distribute it.
1282 Distribute version.scm.in, but don't install it.
1283 * Makefile.in: Regenerated.
1284
1285 Thu Jun 19 21:01:16 1997 Jim Blandy <jimb@floss.red-bean.com>
1286
1287 * slib.scm (slib:warn): Alias for WARN function.
1288
1289 Fri Jun 13 00:32:04 1997 Jim Blandy <jimb@floss.red-bean.com>
1290
1291 * boot-9.scm (struct-printer): Fix off-by-one error in range
1292 check. Correctly check for struct printer tag.
1293
1294 * expect.scm: Turn this into a module, (ice-9 expect).
1295 (expect-port, expect-timeout, expect-timeout-proc,
1296 expect-eof-proc, expect-char-proc, expect, expect-strings,
1297 expect-select): Make these public definitions.
1298 (expect-strings): Use make-regexp and regexp-exec, instead of
1299 regcomp and regexec. We've omitted the REG_NEWLINE flag; hope
1300 that's okay.
1301
1302 * boot-9.scm (with-regexp-parts): Comment this out. It has no
1303 users in the core, and relies on mildly hairy details of the old
1304 regexp interface.
1305
1306 * test.scm: Re-enable tests asserting that '() is true, and not a
1307 boolean. This stuff has been true for a while.
1308
1309 * boot-9.scm (ipow-by-squaring, butlast): Fix uses of outdated
1310 function names.
1311
1312 * boot-9.scm (with-excursion-getter-and-setter, q-rear): Doc
1313 fixes.
1314
1315 Wed Jun 11 00:31:40 1997 Jim Blandy <jimb@floss.red-bean.com>
1316
1317 * Makefile.in: Regenerated after xtra_PLUGIN_guile_libs change in
1318 ../configure.in.
1319
1320 Fri Jun 6 14:37:18 1997 Marius Vollmer <mvo@zagadka.ping.de>
1321
1322 * boot-9.scm (struct-printer): Bugfix: Check the layout of the
1323 vtable and not the one of the struct.
1324
1325 Wed Jun 4 23:27:16 1997 Marius Vollmer <mvo@zagadka.ping.de>
1326
1327 * boot-9.scm (struct-layout, %struct-printer-tag, struct-printer,
1328 make-struct-printer, set-struct-printer-in-vtable!): New bindings
1329 to support printing of structures.
1330 (record-type-vtable, make-record-type): Add slot to hold printing
1331 function and initialize it with something appropriate. Removed
1332 commented out printing code.
1333 (record-type-name, record-type-fields): Adjusted slot offsets.
1334 (%print-module): Reduce argument list to "mod" and "port".
1335
1336 Tue Jun 3 17:04:18 1997 Jim Blandy <jimb@totoro.cyclic.com>
1337
1338 * slib.scm (identity): New function, used by SLIB.
1339
1340 Sat May 31 18:57:12 1997 Gary Houston <ghouston@actrix.gen.nz>
1341
1342 * boot-9.scm: signal-handler, alarm-thunk: removed.
1343 don't define ticks-interrupt etc.
1344 top-repl: install signal handlers for SIGINT, SIGFPE, SIGSEGV, SIGBUS
1345 during call to scm-style-repl.
1346
1347 Fri May 30 18:08:10 1997 Jim Blandy <jimb@floss.cyclic.com>
1348
1349 * slib.scm (slib:load): Use primitive-load-path instead of
1350 basic-load. This is probably wrong, but hopefully the entire
1351 source access system will be revised soon anyway, and this will
1352 make require behave more like Emacs Lisp's require. If this
1353 breaks something, please let me know. Maybe this is real dumb.
1354
1355 Thu May 29 02:36:48 1997 Jim Blandy <jimb@floss.cyclic.com>
1356
1357 * regex.scm: Add a module declaration. Use DEFINE-PUBLIC everywhere.
1358 * boot-9.scm: If the `regex' feature is present, use the module
1359 (ice-9 regex).
1360
1361 Tue May 27 22:48:14 1997 Tim Pierce <twp@twp.tezcat.com>
1362
1363 * regex.scm: New file.
1364 * Makefile.am (subpkgdata_DATA): Add regex.scm.
1365 * Makefile.in: Regenerated.
1366
1367 Mon May 26 17:24:48 1997 Jim Blandy <jimb@totoro.cyclic.com>
1368
1369 * COPYING, boot-9.scm, debug.scm, emacs.scm, expect.scm, gtcl.scm,
1370 gwish.scm, hcons.scm, lineio.scm, mapping.scm, nonblocking.scm,
1371 oldprint.scm, poe.scm, r4rs.scm, source.scm, tags.scm, test.scm,
1372 threads.scm: New address for FSF.
1373
1374 Fri May 16 04:09:45 1997 Jim Blandy <jimb@floss.cyclic.com>
1375
1376 * debug.scm: Update copyright years; this file has been worked on
1377 in 1997.
1378
1379 Thu May 15 07:56:08 1997 Gary Houston <ghouston@actrix.gen.nz>
1380
1381 * expect.scm: use gettimeofday instead of get-internal-real-time
1382 and use a floating point timeout when calling select. Untested,
1383 since the regex library is currently AWOL.
1384
1385 Wed May 14 21:00:30 1997 Jim Blandy <jimb@floss.cyclic.com>
1386
1387 * boot-9.scm (eval-string): Function deleted; it was already
1388 implemented in C, so there's no point in making a divergable copy
1389 here.
1390
1391 Tue May 13 16:40:06 1997 Jim Blandy <jimb@floss.cyclic.com>
1392
1393 * Makefile.in: Regenerated, using automake-1.1p.
1394
1395 Tue May 13 16:40:06 1997 Jim Blandy <jimb@floss.cyclic.com>
1396
1397 * Makefile.in: Regenerated, using automake-1.1p.
1398
1399 Tue May 13 02:48:49 1997 Gary Houston <ghouston@actrix.gen.nz>
1400
1401 * boot-9.scm (error-catching-loop): don't read a line from
1402 current input when quit is encountered, the previous change
1403 fixes this too.
1404
1405 Mon May 12 19:00:21 1997 Jim Blandy <jimb@floss.cyclic.com>
1406
1407 * boot-9.scm (scm-style-repl): After reading an expression,
1408 consume any trailing newline (perhaps preceded by whitespace), to
1409 avoid screwing up GDB. More detail in comments.
1410
1411 Mon May 5 13:18:38 1997 Jim Blandy <jimb@floss.cyclic.com>
1412
1413 * Makefile.am (ETAGS_ARGS): New variable, since we're not treating
1414 the Scheme code like code yet.
1415 * Makefile.in: Resrac,husrched.
1416
1417 Wed Apr 30 15:25:15 1997 Marius Vollmer <mvo@zagadka.ping.de>
1418
1419 * boot-9.scm (link-dynamic-module): Do not catch errors from
1420 dynamic-link and dynamic-call. When the shared library exists it
1421 is now assumed to be suitable for a dynamic C module.
1422
1423 Fri Apr 25 21:21:35 1997 Marius Vollmer <mvo@zagadka.ping.de>
1424
1425 * boot-9.scm (process-use-modules): New function to support the
1426 use-modules macro
1427 (use-modules): throw an error iff one of the requested modules
1428 can't be found.
1429
1430 Tue Apr 29 06:54:46 1997 Gary Houston <ghouston@actrix.gen.nz>
1431
1432 * boot-9.scm: don't define timer-thunk or gc-thunk.
1433
1434 Sun Apr 27 17:56:09 1997 Jim Blandy <jimb@floss.cyclic.com>
1435
1436 * aclocal.m4: Removed; unnecessary, given changes of Apr 24.
1437
1438 * Makefile.am (subpkgdatadir): Use "ice-9" instead of "@module@";
1439 we're not using AM_INIT_GUILE_MODULE any more.
1440 * Makefile.in: Regeneratitetedrerd.
1441
1442 Thu Apr 24 01:33:33 1997 Jim Blandy <jimb@floss.cyclic.com>
1443
1444 Get 'make dist' to work again.
1445 * Makefile.am (EXTRA_DIST): Remove PLUGIN files.
1446 * Makefile.in: Regenerated, like two tons of fleas.
1447
1448 Changes for reduced Guile distribution: one configure script,
1449 no plugins.
1450 * configure.in, configure: Removed.
1451 * Makefile.in: Regenerated.
1452
1453 Sat Apr 19 08:03:50 1997 Jim Blandy <jimb@floss.cyclic.com>
1454
1455 * boot-9.scm (eval-string, command-line, load-user-init): New
1456 functions.
1457
1458 Sat Apr 12 08:27:05 1997 Gary Houston <ghouston@actrix.gen.nz>
1459
1460 * boot-9.scm (log10): defined.
1461
1462 Tue Apr 1 17:46:49 1997 Gary Houston <ghouston@actrix.gen.nz>
1463
1464 * expect.scm (expect-select): correct the millisecond timeout
1465 arithmetic (from Marko.Kohtala@ntc.nokia.com).
1466
1467 Mon Mar 31 03:23:19 1997 Gary Houston <ghouston@actrix.gen.nz>
1468
1469 * boot-9.scm (open-input-pipe, open-output-pipe): defined here
1470 instead of in libguile.
1471 (tm:sec etc.) new accessors for broken-down time.
1472 (set-tm:sec etc.) new setters for broken-down time.
1473
1474 Thu Mar 27 05:06:00 1997 Gary Houston <ghouston@actrix.gen.nz>
1475
1476 * boot-9.scm (netent:addrtype, servent:port): added missing
1477 procedures.
1478 (netent:net, servent:proto): repaired.
1479 (utsname:sysname etc.): new accessors for uname.
1480
1481 Tue Mar 25 03:04:03 1997 Gary Houston <ghouston@actrix.gen.nz>
1482
1483 * boot-9.scm (sockaddr:fam, sockaddr:path, sockaddr:addr,
1484 sockaddr:port): new functions.
1485
1486 Wed Mar 19 04:50:34 1997 Gary Houston <ghouston@actrix.gen.nz>
1487
1488 * boot-9.scm: define accessor procedures for the objects returned
1489 by getpw, getgr, gethost, getnet, getproto, getserv (e.g.,
1490 passwd:name, where the first component is the name of the C structure
1491 and the second is the unprefixed C member name.)
1492
1493 Tue Mar 18 18:39:31 1997 Gary Houston <ghouston@actrix.gen.nz>
1494
1495 * boot-9.scm (setpwent, setgrent, sethostent, setnetent, setprotoent,
1496 setservent): no longer take an argument, it was bogus.
1497
1498 Thu Mar 13 00:13:41 1997 Gary Houston <ghouston@actrix.gen.nz>
1499
1500 * boot-9.scm (scm-error): deleted, reimplemented in C.
1501
1502 Mon Mar 10 15:48:31 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1503
1504 * boot-9.scm (process-define-module): Modified to handle both
1505 keywords and symbols.
1506
1507 Sat Mar 8 04:32:44 1997 Gary Houston <ghouston@actrix.gen.nz>
1508
1509 * slib.scm: update read usage.
1510
1511 * r4rs.scm: update primitive-load usage.
1512 Don't define read-sharp.
1513
1514 * boot-9.scm: use read-hash-extend to install extra read syntax.
1515 (read-sharp): removed.
1516 Adjust usage of primitive-load-path, read, which no longer take
1517 case_i or read-sharp arguments.
1518
1519 Sat Mar 8 00:07:54 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1520
1521 * boot-9.scm: Added loading of session support module.
1522
1523 * debug.scm: Removed `display-application'. (Replaced by
1524 primitive procedure.)
1525
1526 * boot-9.scm (beautify-user-module!): Don't add the root module
1527 interface to the end of the use-list of the root module.
1528
1529 Thu Mar 6 07:26:34 1997 Gary Houston <ghouston@actrix.gen.nz>
1530
1531 * boot-9.scm: repl-quit, repl-abort: obsolete variables deleted.
1532
1533 Wed Mar 5 20:30:24 1997 Gary Houston <ghouston@actrix.gen.nz>
1534
1535 * boot-9.scm: check use-emacs-interface for emacs support.
1536
1537 Sun Mar 2 19:47:14 1997 Gary Houston <ghouston@actrix.gen.nz>
1538
1539 * boot-9.scm (scm-style-repl): call repl-report-start-timing if
1540 read gets EOF.
1541 * (exit): alias for quit.
1542
1543 Sun Mar 2 05:25:11 1997 Gary Houston <ghouston@actrix.gen.nz>
1544
1545 * boot-9.scm (error-catching-loop thunk): use a status variable to
1546 return the quit args.
1547 (scm-style-repl): call -quit, passing return value from
1548 error-catching-repl. Make -quit return its args.
1549 stand-alone-repl: comment out, since it seems unused.
1550
1551 (error-catching-loop thunk): discard trailing junk after a (quit).
1552
1553 Sat Mar 1 15:24:39 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1554
1555 * boot-9.scm: Removed the old printer code.
1556
1557 * r4rs.scm (apply, call-with-current-continuation): Added comment
1558 explaining why apply and call/cc need to be closures.
1559
1560 * boot-9.scm (apply, call-with-current-continuation): Bugfix:
1561 Removed. These definitions are already present in r4rs.scm.
1562
1563 * debug.scm (trace-entry, trace-exit): Check that we're on a repl
1564 stack before printing traced frames; Re-enable trace flag at end
1565 of handlers.
1566
1567 Sat Mar 1 00:10:38 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1568
1569 * debug.scm: Add hook for reset of trace level at abort.
1570
1571 * boot-9.scm (run-hooks): New procedure.
1572 (add-hooks!): New macro.
1573 Change hooks to use these functions.
1574
1575 * debug.scm: *Warning* This feature is a bit premature. I add
1576 it anyway because 1. it is very useful, and, 2. you can start
1577 making it less premature by complaining to me and by modifying
1578 the source! :-)
1579 (trace): Given one or more procedure objects, trace each one.
1580 Given no arguments, show all traced procedures.
1581 (untrace): Given one or more procedure objects, untrace each one.
1582 Given no arguments, untrace all traced procedures. The tracing in
1583 Guile have an advantage to most other systems: We don't create new
1584 procedure objects, but mark the procedure objects themselves.
1585 This means that also anonymous and internal procedures can be
1586 traced.
1587
1588 * boot-9.scm (error-catching-loop): Added handling of apply-frame
1589 and exit-frame exceptions.
1590
1591 * boot-9.scm (assert-repl-prompt, the-prompt-string): Removed.
1592 (set-repl-prompt!): Setter for repl prompt.
1593 (scm-style-repl): If prompt is #f, don't prompt; if prompt is a
1594 string, display it; if prompt is a thunk, call it and display its
1595 result; otherwise display "> ".
1596 (Change suggested by Roland Orre <orre@nada.kth.se>.)
1597
1598 * r4rs.scm (%load-verbosely): Reverted change to
1599 `module-defined?', since the module system isn't bootstrapped when
1600 we load r4rs.scm. This is just a temporary fix to make the
1601 repository version runnable.
1602
1603 Thu Feb 27 23:25:47 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1604
1605 * boot-9.scm: Removed the enabling of debug evaluator and
1606 recording of source code positions. This was placed there for our
1607 convenience, but it has already sneaked into the distribution
1608 once... so we'd better add this in our local copies instead when
1609 we need it. (These options are normally enabled at the end of
1610 boot-9.scm when loading the debug module.)
1611
1612 Thu Feb 27 16:04:45 1997 Marius Vollmer <mvo@zagadka.ping.de>
1613
1614 * boot-9.scm (module-defined?): New function.
1615 (macroexpand-1, macroexpand): Use local-ref instead of defined?
1616 and eval.
1617 * r4rs.scm (%load-verbosely): Use "module-defined?" instead of
1618 "defined?".
1619 * slib.scm (defined?): New function to take the place of the
1620 builtin "defined?". It allways examines the slib module.
1621
1622 Mon Feb 24 21:46:15 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1623
1624 * configure.in: Added AM_MAINTAINER_MODE
1625
1626 Sat Feb 15 04:51:20 1997 Gary Houston <ghouston@actrix.gen.nz>
1627
1628 * boot-9.scm (read-sharp): define directly, don't go through a
1629 %read-sharp layer.
1630
1631 Tue Feb 11 08:45:48 1997 Gary Houston <ghouston@actrix.gen.nz>
1632
1633 * boot-9.scm (uniform-vector-set!): use uniform-array-set1!, not
1634 uniform-vector-set1! which doesn't exist.
1635
1636 Mon Feb 10 03:01:48 1997 Mikael Djurfeldt <mdj@kenneth>
1637
1638 * boot-9.scm (backtrace): Removed. (A C version now exists in
1639 backtrace.c.)
1640
1641 Fri Jan 24 06:05:36 1997 Gary Houston <ghouston@actrix.gen.nz>
1642
1643 * boot-9.scm (read-line!, read-delimited!, read-delimited,
1644 read-line): new procedures, see libguile/ChangeLog.
1645
1646 Thu Jan 16 17:07:03 1997 Marius Vollmer <mvo@zagadka.ping.de>
1647
1648 Added dynamic linking of modules. See libguile/DYNAMIC-LINKING.
1649
1650 * boot-9.scm (split-c-module-name, convert-c-registered-modules,
1651 init-dynamic-module, dynamic-maybe-call,
1652 find-and-link-dynamic-module, link-dynamic-module,
1653 try-module-dynamic-link, registered-modules): New definitions for
1654 dynamic linking of modules.
1655 (resolve-module): Try to dynamically link the requested module
1656 after failing to load it as Scheme code.
1657
1658 Wed Jan 8 05:50:14 1997 Gary Houston <ghouston@actrix.gen.nz>
1659
1660 * boot-9.scm (getservbyport, getservbyname): remove stray %.
1661
1662 Tue Jan 7 20:02:24 1997 Jim Blandy <jimb@floss.cyclic.com>
1663
1664 * boot-9.scm (and=>): Rename THUNK argument to PROCEDURE, 'cos
1665 that's what it is.
1666
1667 * lineio.scm (make-line-buffering-input-port): Properly test for
1668 the case of an empty buffer list. The old code assumed that '()
1669 was false.
1670
1671 Mon Jan 6 01:13:53 1997 Mikael Djurfeldt <mdj@kenneth>
1672
1673 * boot-9.scm (use-modules): New macro (from Marius Vollmer).
1674 (use-modules <module name> ...) Put the the modules named by
1675 <module name> ... on the use list of the current module.
1676
1677 Sun Jan 5 15:52:59 1997 Jim Blandy <jimb@floss.cyclic.com>
1678
1679 * boot-9.scm (error-catching-loop): Remove message saying that
1680 typing "$" will put you in the debugger. This isn't implemented
1681 yet.
1682
1683 Sun Dec 22 23:27:25 1996 Jim Blandy <jimb@floss.cyclic.com>
1684
1685 * boot-9.scm (delq-all!): Function deleted; delq!'s semantics have
1686 been fixed, so this function is superfluous.
1687 (transform-usage-lambda): Use delq!, not delq-all!.
1688
1689 Tue Dec 17 20:36:45 1996 Marius Vollmer <mvo@zagadka.ping.de>
1690
1691 * boot-9.scm (resolve-module): New optional parameter that
1692 controls whether autoloading is attempted or not. Default is #t.
1693 (process-define-module): Don't autoload the defined module.
1694 (try-module-autoload): Don't autoload the directory modules.
1695
1696 * boot-9.scm (process-define-module): Ensure that the-scm-module
1697 is last in the `uses' list to allow shadowing builtin
1698 bindings. All :use-module options are added in the order they
1699 appear in the arguments but before anything already on the list
1700 (such as the-scm-module).
1701
1702 Wed Dec 11 21:06:05 1996 Gary Houston <ghouston@actrix.gen.nz>
1703
1704 * slib.scm (slib-parent-dir): throw error if #f returned from
1705 %search-load-path.
1706
1707 Sat Nov 30 23:57:28 1996 Tom Tromey <tromey@cygnus.com>
1708
1709 * PLUGIN/greet, PLUGIN/split.sed, PLUGIN/this.configure: Removed.
1710 * Makefile.am, aclocal.m4: New files.
1711 * configure.in: Updated for Automake.
1712
1713 Wed Nov 27 14:16:14 1996 Marius Vollmer <mvo@zagadka.ping.de>
1714
1715 * boot-9.scm (macroexpand-1, macroexpand), slib.scm
1716 (slib:features), r4rs.scm (%load-verbosely): "defined?" is now a
1717 function, use it accordingly.
1718
1719 Thu Nov 21 11:12:10 1996 Jim Blandy <jimb@floss.cyclic.com>
1720
1721 It's an "eval closure", not an "eval thunk." A thunk is a
1722 function of no arguments.
1723 * boot-9.scm (module-type): Rename module field.
1724 (make-module, eval-in-module, make-root-module,
1725 set-current-module): Uses changed.
1726 (module-eval-closure, set-module-eval-closure!,
1727 root-module-closure): Renamed from module-eval-thunk,
1728 set-module-eval-thunk!, root-module-thunk.
1729 (set-current-module): Change uses of *top-level-lookup-thunk* to
1730 *top-level-eval-closure*.
1731
1732 Wed Nov 20 14:45:27 1996 Jim Blandy <jimb@totoro.cyclic.com>
1733
1734 * slib.scm (slib-parent-dir): Use string-length, not length.
1735 (Thanks to Bernard Urban.)
1736
1737 Sat Nov 2 20:00:42 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1738
1739 * boot-9.scm: The debugging evaluator and recording of positions
1740 aren't enabled by default any longer (they are switched on in
1741 debug.scm). But during development we want to have them also
1742 *inside* boot-9.scm. Therefore, two lines are added at the
1743 beginning of boot-9.scm to enable these.
1744
1745 Call `provide' so that `records' are included among the
1746 `*features*'.
1747
1748 The scheme for saving the stack has been adjusted: save-stack is
1749 now commonly available for saving the stack. Calling `save-stack'
1750 sets a flag `stack-saved?' which prevents overwriting the stack.
1751 `stack-saved?' is reset at `abort'.
1752
1753 Spelling correction: seperate --> separate.
1754
1755 Removed `:'s that had creeped into some comments.
1756
1757 The repl now doesn't print #<unspecified> results any longer
1758 If the user wants to see this, he can do
1759 (assert-repl-print-unspecified #t) in his startup file.
1760
1761 The user now gets a friendly message instead of a backtrace at
1762 error.
1763
1764 Added `before-read-hook'.
1765
1766 Load module (ice-9 emacs) if option `-e' was specified.
1767
1768 (provide): New function.
1769
1770 (error): Save stack at entry, so that Guile entrails won't show up
1771 in backtraces.
1772
1773 (backtrace): New function.
1774
1775 (save-stack): Can now take arbitrary number of stack narrowing
1776 specifier pairs. The first specifier in a pair controls inner
1777 border, the second the outer border. A number means cut that
1778 number of frames, a procedure object means cut until that object
1779 is found in operator position in a frame.
1780
1781 * debug.scm: Enable debugging evaluator and recording of positions
1782 by default.
1783
1784 * slib.scm (slib:load): Adapt to the new behavior of
1785 primitive-load: It doesn't any longer try both with and without
1786 ".scm" extension. (We don't want to use %search-load-path here.)
1787
1788 (implementation-vicinity): New function. slib requires it
1789
1790 (library-vicinity): Updated.
1791
1792 Load "require.scm" in the library-vicinity.
1793
1794 (install-require-vicinity, install-require-module): New functions.
1795
1796 Mon Oct 28 17:56:29 1996 Jim Blandy <jimb@floss.cyclic.com>
1797
1798 * boot-9.scm (load-from-path): New function.
1799
1800 * boot-9.scm (try-load, basic-try-load, try-load-module,
1801 try-load): Deleted. I don't think they're being used.
1802
1803 * Makefile.in (scm_files): Add r4rs.scm and test.scm to this list,
1804 so they'll get distributed.
1805
1806 Get Guile to be a little less chatty by default. The new user
1807 should see as little clutter as possible.
1808 * r4rs.scm (%load-verbosely): Make this #f by default.
1809 * boot-9.scm (scm-repl-verbose): Make this #f by default.
1810 (scm-style-repl): Don't run 'pk' on the value passed to quit.
1811
1812 * r4rs.scm: New file.
1813 * boot-9.scm: Load r4rs.scm, first thing.
1814 (OPEN_READ, OPEN_WRITE, OPEN_BOTH, *null-device*, open-input-file,
1815 open-output-file, open-io-file, close-input-port,
1816 close-output-port, close-io-port, call-with-input-file,
1817 call-with-output-file, with-input-from-port, with-output-to-port,
1818 with-error-to-port, with-input-from-file, with-output-to-file,
1819 with-error-to-file, with-input-from-string, with-output-to-string,
1820 with-error-to-string, the-eof-object): Definitions moved to
1821 r4rs.scm. Not all of them are R4RS, but those that are use those
1822 that are not.
1823 (load, %load-verbosely, %load-announce): Moved, along with code to
1824 set %load-hook, to r4rs.scm.
1825
1826 * test.scm: New file.
1827
1828 * boot-9.scm (integer?): Definition deleted, in favor of the one
1829 present in libguile (which used to be called int?). I have no
1830 idea why integer? didn't just call int? to begin with.
1831
1832 * boot-9.scm (<, <=, =, >, >=): Definitions in terms of <?, <=?,
1833 =?, >?, and >=? deleted; they're defined that way by libguile now.
1834
1835 * boot-9.scm (load): Simplified; primitive-load does most of this
1836 work now.
1837 (%load-announce-win): Removed; no longer used. Set %load-hook to
1838 call %load-announce.
1839
1840 Sun Oct 27 07:47:03 1996 Gary Houston <ghouston@actrix.gen.nz>
1841
1842 * boot-9.scm (stat:dev, stat:ino, stat:mode, stat:nlink, stat:uid,
1843 stat:gid, stat:rdev, stat:size, stat:atime, stat:mtime,
1844 stat:ctime, stat:blksize, stat:blocks) accessor functions for stat
1845 components.
1846 (file-is-directory?): use stat:type.
1847
1848 Fri Oct 25 03:34:47 1996 Jim Blandy <jimb@floss.cyclic.com>
1849
1850 * boot-9.scm (%read-sharp): Don't recognize the `#!' syntax here;
1851 that's now taken care of in libguile, and in a way compatible with
1852 SCSH (which this isn't).
1853
1854 Mon Oct 21 18:52:36 1996 Jim Blandy <jimb@totoro.cyclic.com>
1855
1856 * boot-9.scm: Formatting tweaks.
1857
1858 Fri Oct 18 01:03:08 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1859
1860 * boot-9.scm (handle-system-error): Added hooks before-error-hook,
1861 after-error-hook, before-backtrace-hook and after-backtrace-hook
1862 to the error handler. E.g.: fancy emacs support could plug into
1863 these.
1864 (save-stack): New function. The stack is now made differently
1865 depending on the stack id. (The motivation is to make a better
1866 choice regarding what stack frames to present to the user.)
1867 (error-catching-loop): Stack handling code moved outside into
1868 save-stack.
1869
1870 Thu Oct 17 20:33:08 1996 Gary Houston <ghouston@actrix.gen.nz>
1871
1872 * Makefile.in (scm_files): add expect.scm.
1873
1874 * expect.scm: new file ported from guile-iii.
1875
1876 * boot-9.scm: remove handle-system-error, after moving the code into
1877 error-catching-loop.
1878 Don't set 'throw-handler-default property on error keys.
1879 Just interpret (almost) any throw with 4 args as an error throw.
1880 Delete some try-load stuff that was already commented out.
1881
1882 Second thoughts, keep handle-system-error but call it from
1883 error-catching-loop.
1884
1885 Tue Oct 15 17:07:20 1996 Jim Blandy <jimb@floss.cyclic.com>
1886
1887 * boot-9.scm: Doc fixes.
1888 (make-module): Rework for readability.
1889 (make-root-module, make-scm-module): USES argument to make-module
1890 should be '(), not #f.
1891
1892 * boot-9.scm (try-load): %sys-load-path has been renamed to
1893 primitive-load-path; adjust call here.
1894
1895 Tue Oct 15 14:25:01 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
1896
1897 * boot-9.scm (signal-handler): Bugfix: Moved the recording of
1898 the stack to the correct place: when it is decided to generate an
1899 error-signal.
1900
1901 Mon Oct 14 22:20:30 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
1902
1903 * boot-9.scm (error-catching-loop, signal-handler,
1904 handle-system-error): Backtracing now works for signals aswell;
1905 Backtracing mechanism can now identify the stack root created by
1906 start-stack so that the user isn't exposed to system stack frames.
1907
1908 Mon Oct 14 06:05:42 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
1909
1910 * Makefile.in: Added threads.scm.
1911
1912 Mon Oct 14 04:21:51 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
1913
1914 * debug.scm (make-enable, make-disable): Simplified.
1915
1916 * boot-9.scm: Renamed %%throw-handler-default -->
1917 throw-handler-default.
1918 ((handle-system-error key . arg-list)): Changed the way errors are
1919 reported.
1920 ((scm-style-repl)): Wrap up the call to eval in a start-stack
1921 acro.
1922 ((error-catching-loop thunk)): Introduce a lazy-catch into
1923 error-catching-loop so that the stack can be captured.
1924
1925 Thu Oct 10 22:27:32 1996 Jim Blandy <jimb@totoro.cyclic.com>
1926
1927 * mapping.scm (hash-table-mapping): Explicitly request that
1928 make-vector fill new vectors with '(); this will make it easier to
1929 port Guile Scheme code to other Schemes.
1930 * boot-9.scm (make-print-style, make-print-table): Same.
1931
1932 Sun Oct 6 03:54:59 1996 Gary Houston <ghouston@actrix.gen.nz>
1933
1934 * boot-9.scm (load): rewritten again.
1935 Append "." to the default %load-path.
1936 (feature?): new function: checks for a symbol in the features list.
1937 (module-local-variable): remove apparently useless (caddr (list m v
1938 ...))
1939 (%load-announce): minor formatting change.
1940 (file-exists?): use access? if posix is featured.
1941 (file-is-directory?): use stat if i/o-extensions is featured.
1942 (try-module-autoload module-name): use file-exists? before
1943 file-is-directory?
1944
1945 Sat Oct 5 18:54:03 1996 Mikael Djurfeldt <mdj@kenneth>
1946
1947 * boot-9.scm: Added conditional loading of threads.scm.
1948
1949 * threads.scm: New file. Modified from the Cygnus-r0.3
1950 distribution.
1951
1952 * boot-9.scm (error-catching-loop): Added handling of key
1953 `switch-repl'.
1954
1955 * boot-9.scm: Name change %%bad-throw --> bad-throw.
1956
1957 Wed Oct 2 23:38:44 1996 Jim Blandy <jimb@totoro.cyclic.com>
1958
1959 * boot-9.scm (make-record-type, record-constructor): Don't assume
1960 the empty list is false when parsing the argument list.
1961
1962 Mon Sep 30 22:15:50 1996 Jim Blandy <jimb@totoro.cyclic.com>
1963
1964 * boot-9.scm (signal-handler): Clean up logic.
1965
1966 * boot-9.scm (load): Assume %load-path is always bound.
1967
1968 Sat Sep 28 00:15:37 1996 Gary Houston <ghouston@actrix.gen.nz>
1969
1970 * boot-9.scm (error): replace another throw with scm-error. Throw
1971 to 'misc-error instead of 'error (no need to distinguish these.)
1972 Don't set up 'error as a key.
1973 Set up regex-error as a key, if regex is available.
1974 (signal-handler): use scm-error, not throw.
1975
1976 (%try-load, try-load-with-path, %load, load-with-path,
1977 basic-try-load-with-path, basic-load-with-path,
1978 try-load-module-with-path,load-module-with-path): deleted, since
1979 they seem redundant.
1980 (try-load): define using %try-load, not try-load-with-path.
1981 (load): rewritten. load tries to open the file directly and
1982 with a .scm extension before searching the library directories
1983 (should "." be added to %load-path? then load could still open
1984 directly files starting with "/").
1985 (try-module-autoload): use load, not load-with-path.
1986 (%load-indent): deleted, -2 was causing errors.
1987
1988 (%read-sharp): use port-line, not line-number.
1989
1990 Fri Sep 27 16:23:51 1996 Jim Blandy <jimb@totoro.cyclic.com>
1991
1992 * boot-9.scm (%%bad-throw): Delete definition. 1) It's very
1993 straightforward to provide the equivalent functionality using
1994 (catch #t ...), so there's no need for the extra complexity. 2)
1995 Outside the context of a read-eval-print loop (which Guile should
1996 not require) it's not clear we should do anything more complicated
1997 than print an error and exit; the user or REPL can establish
1998 something better if it wants. 3) In that case, it's much more
1999 robust to just do it in the C code.
2000
2001 Tue Sep 24 06:53:04 1996 Gary Houston <ghouston@actrix.gen.nz>
2002
2003 * boot-9.scm (%try-load): define using primitive-load. Previously
2004 %try-load itself was the primitive.
2005 (load-with-path): use scm-error instead of %load-announce-lossage.
2006 Errors are thrown to 'misc-error instead of 'could-not-load.
2007 (%load-announce-lossage): deleted.
2008
2009 Mon Sep 23 00:16:31 1996 Mikael Djurfeldt <mdj@kenneth>
2010
2011 * boot-9.scm (warn, scm-style-repl): Use C printer instead of `print'.
2012 (make-record-type type-name fields): Temporarily remove support
2013 for printing of records (not possible yet with C printer).
2014
2015 Fri Sep 20 00:24:27 1996 Gary Houston <ghouston@actrix.gen.nz>
2016
2017 * boot-9.scm (file-exists?, file-is-directory): catch only
2018 system-error, not every kind of error.
2019 (scm-error): new procedure.
2020
2021 Thu Sep 19 16:02:46 1996 Jim Blandy <jimb@totoro.cyclic.com>
2022
2023 * boot-9.scm: Formatting tweaks.
2024
2025 Wed Sep 18 09:07:37 1996 Gary Houston <ghouston@actrix.gen.nz>
2026
2027 * boot-9.scm (%%handle-system-error key): remove the code for
2028 SCM-style errors. handle the case that an unexpected number
2029 of args are supplied.
2030 (%%system-errors): removed.
2031 (error): redefine using a throw with key and 4 args.
2032 ('error): associate 'error, 'error-signal keys with
2033 %%handle-system-error.
2034 (%%default-error-handler): removed.
2035 (signal-handler): throw with 4 args and use the error-signal key.
2036 Create an error message instead of using numerical codes.
2037 (%%bad-throw): call error instead of throw if key not found.
2038
2039 Tue Sep 17 04:11:28 1996 Gary Houston <ghouston@actrix.gen.nz>
2040
2041 * boot-9.scm: initialize new error keys (see libguile/ChangeLog).
2042 (%%handle-system-error key): check subr is not #f before printing.
2043 Recognize %s (embed an argument using "display") and
2044 %S (embed an argument using "write").
2045
2046 Sun Sep 15 03:55:35 1996 Gary Houston <ghouston@actrix.gen.nz>
2047
2048 * boot-9.scm (%%handle-system-error key): set args and rest to
2049 the empty list if they are #f.
2050 Initialize out-of-range as an error key.
2051
2052 Sat Sep 14 03:41:15 1996 Gary Houston <ghouston@actrix.gen.nz>
2053
2054 * PLUGIN/REQ: remove the "ice-9 lgh" line which causes a cycle.
2055
2056 * boot-9.scm: remove leading %% from references to '%%system-error.
2057 (%%handle-system-error): don't pass all the thrown arguments when
2058 aborting, just the key and subr.
2059 Remove the code to "Install default handlers for built-in errors."
2060 Remove the definition of the syserror procedure.
2061 Associate 'numerical-overflow with default handler.
2062
2063 Fri Sep 13 04:58:11 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
2064
2065 * boot-9.scm: Name change: value-ref --> local-ref
2066 resolved-ref --> nested-ref Motivation: conformance to the other
2067 dictionary operators: list-ref operates on list, vector-ref
2068 operates on vector, nested-ref operates on nested namespace,
2069 local-ref operates on the local nested namespace.
2070
2071 Sat Sep 7 06:44:47 1996 Gary Houston <ghouston@actrix.gen.nz>
2072
2073 * boot-9.scm (%%handle-system-error): recognise errors thrown
2074 by lgh-error (fill-message etc.)
2075 (fill-message): check first whether args is null.
2076 (fill-message): bug fix and check that args is a list.
2077
2078 Thu Sep 5 11:33:41 1996 Jim Blandy <jimb@floss.cyclic.com>
2079
2080 * boot-9.scm: %load-path is initialized in C code now.
2081 (implementation-vicinity, parse-path): Deleted, along with code to
2082 initialize %load-path.
2083
2084 * boot-9.scm (in-vicinity): If the vicinity doesn't end with a
2085 "/", use one to separate it from the file.
2086
2087 Thu Aug 29 23:05:11 1996 Thomas Morgan <tmorgan@gnu.ai.mit.edu>
2088
2089 * boot-9.scm (%load-path): Add the site directory.
2090 Add the directory named after the version number.
2091 Prepend the version number to the other directories in the path.
2092 Simplify by mapping the common prefix onto each item.
2093 * Makefile.in (datadir, pkgdatadir, pkgverdatadir, subpkgdatadir,
2094 sitedatadir): New definitions.
2095 (libparent, libdir, install_path): Replaced by above.
2096 (install): Create the above directories.
2097 Put the source files into subpkgdatadir.
2098 (uninstall): Remove the above directories.
2099
2100 Thu Aug 29 21:48:47 1996 Jim Blandy <jimb@floss.cyclic.com>
2101
2102 Don't use the PLUGIN system to gather information for the
2103 Makefile's distribution and installation targets; just put it all
2104 in the Makefile directly.
2105 * PLUGIN/this.configure (scm_files, aux_files): Remove sections
2106 for these.
2107 * configure.in: Remove code that gets and substitutes scm_files and
2108 aux_files.
2109 * Makefile.in (scm_files, aux_files): Write out the list of files
2110 here, where people expect to find them.
2111
2112 Fri Aug 23 06:44:36 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
2113
2114 * boot-9.scm: Preliminary solution: optionally load the debug
2115 module. Changed "gls" to "guile1.0b3".
2116
2117 * debug.scm: New file: debug extensions.
2118
2119 Wed Aug 21 13:06:56 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
2120
2121 * boot-9.scm (print-vector): Renamed weak-hash-table? -->
2122 weak-key-hash-table?. (Again!)
2123
2124 Tue Aug 20 07:31:39 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
2125
2126 * boot-9.scm (print-vector, macro-table, xformer-table):
2127 Renamed weak-hash-table --> weak-key-hash-table.
2128
2129 * poe.scm (funcq-memo): Renamed weak-hash-table -->
2130 weak-key-hash-table.
2131
2132 Sat Aug 3 06:16:35 1996 Gary Houston <ghouston@actrix.gen.nz>
2133
2134 * boot-9.scm (*null-device*): global constant from goonix.
2135 (move->fdes): adjusted for boolean primitive-move->fdes. return
2136 the modified port, always set revealed count to 1 (SCSH compatible).
2137 (release-port-handle port): from goonix (SCSH compatible).
2138 (%open-file): removed.
2139 (open-input-file, open-output-file, file-exists?, file-is-directory?):
2140 modified for open-file change (does not return #f).
2141
2142 Thu Aug 1 02:52:42 1996 Jim Blandy <jimb@totoro.cyclic.com>
2143
2144 * Makefile.in (dist-dir): New target for new dist system.
2145 (manifest): Deleted.
2146 * PLUGIN/this.configure (aux_files): Removed PLUGIN; it's a
2147 directory, and needs special treatment in the dist-dir target.
2148
2149 Thu Aug 1 09:00:21 1996 Gary Houston <ghouston@actrix.gen.nz>
2150
2151 * boot-9.scm: remove the wrappers for '%' system primitives,
2152 now that they throw errors directly.
2153 remove make-simple-wrapper and similar functions.
2154 protect a call to getenv which may now throw an exception.
2155
2156 Wed Jul 31 23:44:42 1996 Gary Houston <ghouston@actrix.gen.nz>
2157
2158 * boot-9.scm (false-if-exception): new macro.
2159
2160 Fri Apr 19 13:53:08 1996 Tom Lord <lord@beehive>
2161
2162 * The more things change...
2163
2164