]> git.donarmstrong.com Git - lilypond.git/blob - guile18/ice-9/ChangeLog-2008
Import guile-1.8 as multiple upstream tarball component
[lilypond.git] / guile18 / ice-9 / ChangeLog-2008
1 2008-07-17  Neil Jerram  <neil@ossau.uklinux.net>
2
3         * gds-client.scm (handle-nondebug-protocol): Add support for
4         setting a trap on code that is about to be evaluated.
5
6 2008-04-14  Neil Jerram  <neil@ossau.uklinux.net>
7
8         * gds-client.scm (gds-debug-trap): Ensure that frame index passed
9         to Emacs is always positive.
10
11 2008-03-19  Neil Jerram  <neil@ossau.uklinux.net>
12
13         * debugging/ice-9-debugger-extensions.scm (command-loop): Use
14         needed modules.
15
16 2008-03-12  Neil Jerram  <neil@ossau.uklinux.net>
17
18         * debugging/.cvsignore: New.
19
20         * debugger/commands.scm (evaluate, info-args, info-frame,
21         position, up, down): Improve/fix doc strings.
22
23         * Makefile.am (SUBDIRS): Add debugging.
24         (ice9_sources): Add gds-client.scm and gds-server.scm.
25
26         * debugging/Makefile.am, debugging/example-fns.scm,
27         debugging/ice-9-debugger-extensions.scm, debugging/steps.scm,
28         debugging/trace.scm, debugging/traps.scm, debugging/trc.scm: New
29         (merged with modifications from CVS HEAD).
30
31         * gds-client.scm, gds-server.scm: New (merged with modifications
32         from CVS HEAD).
33
34 2008-02-22  Ludovic Courtès  <ludo@gnu.org>
35
36         * match.scm: Export `match:andmap'.  This fixes evaluation of
37         expressions like `(match expr (((_ ...) ...) #t))' where a list
38         of lists is to be matched.
39
40 2008-01-22  Neil Jerram  <neil@ossau.uklinux.net>
41
42         * COPYING: Removed.
43
44 2007-10-02  Ludovic Courtès  <ludo@gnu.org>
45
46         * slib.scm: Let SLIB's `guile.init' do most of the job.  See the
47         `guile-devel@gnu.org' mailing list archive for details.
48
49 2007-09-01  Andy Wingo  <wingo@pobox.com>
50
51         * boot-9.scm (duplicate-handlers)[warn, warn-override-core]:
52         Send warnings to `stderr' instead of `stdout'.
53
54 2007-08-08  Ludovic Courtès  <ludo@gnu.org>
55
56         * boot-9.scm (%record-type-check): Renamed to
57         `%record-type-error'.
58         (record-accessor): Directly use `struct-vtable' and
59         `struct-ref', thereby avoiding indirections and procedure-call
60         overhead.
61         (record-modifier): Likewise.
62
63 2007-06-13  Ludovic Courtès  <ludo@chbouib.org>
64
65         * boot-9.scm (module-make-local-var!): Simplified.  No need to
66         check for the value of a same-named imported binding since the
67         newly created variable is systematically assigned afterwards.
68
69 2007-01-04  Kevin Ryde  <user42@zip.com.au>
70
71         * boot-9.scm (top-repl): Check (defined? 'SIGBUS) before using that
72         value, there's no such signal on mingw.  Reported by Cesar Strauss.
73
74 2006-12-13  Kevin Ryde  <user42@zip.com.au>
75
76         * boot-9.scm (use-srfis, top-repl): Use process-use-modules, to
77         correctly handle duplicates between the core and other modules, in
78         particular srfi-17 which should replace `car' etc (but didn't).
79
80 2006-12-09  Kevin Ryde  <user42@zip.com.au>
81
82         * boot-9.scm (top-repl): Remove module-use! of the core `(guile)'
83         module.  It's already in `(guile-user)' and the module-use! elevates
84         it making core bindings override those from elsewhere, such as `iota'
85         under a run of "guile --use-srfi=1".  Reported by Sven Hartrumpf.
86
87 2006-11-13  Neil Jerram  <neil@ossau.uklinux.net>
88
89         * boot-9.scm (environment-module): Change eval-closure-module call
90         back to procedure-property lookup.  (This completes the reversion
91         of the change made on 2005-06-10, which was only partially undone
92         by the change on 2005-08-01.)
93
94 2006-10-05  Kevin Ryde  <user42@zip.com.au>
95
96         * ftw.scm (visited?-proc): Use hashv since we know we're getting
97         numbers.  Incorporate stat:dev, since stat:ino is only unique within a
98         single device.  This fixes a bug where if two files with the same
99         inode on different devices where seen only the first would be returned
100         by ftw (and nftw).
101
102 2006-09-23  Kevin Ryde  <user42@zip.com.au>
103
104         * boot-9.scm (log, log10, exp, sqrt): Remove, now in
105         libguile/numbers.c.
106
107 2006-09-07  Kevin Ryde  <user42@zip.com.au>
108
109         * format.scm: Module "(ice-9 threads)" no longer used, now no mutex.
110         (format:parse-float): Fix normalization of leading zeros like "02.5"
111         to "2.5".  left-zeros was zeroed before adjusting format:fn-dot,
112         resulting in the latter being unchanged.
113
114 2006-08-02  Kevin Ryde  <user42@zip.com.au>
115
116         * boot-9.scm (%record-type-check): New function.
117         (record-accessor, record-modifier): Use it for a strict type check of
118         the given record.  Previously an accessor returned #f on a wrong
119         record type, and modifier silently did nothing.
120
121 2006-05-28  Kevin Ryde  <user42@zip.com.au>
122
123         * documentation.scm (file-commentary): Move make-regexp into
124         file-commentary so that it's possible to get to the repl prompt when
125         regexps are not available.
126
127 2006-05-09  Kevin Ryde  <user42@zip.com.au>
128
129         * threads.scm (n-par-for-each, n-for-each-par-map): Two more spots
130         where `futures' should become `threads' from Marius' change of
131         2006-01-29.
132
133 2006-03-04  Ludovic Courtès  <ludovic.courtes@laas.fr>
134
135         * ice-9/boot-9.scm (make-autoload-interface): Don't call `set-car!' if
136         the autoload interface has already been removed from MODULE's uses.
137         This bug showed up when using a given module both with `autoload' and
138         `use-module'.
139
140 2006-02-21  Kevin Ryde  <user42@zip.com.au>
141
142         * format.scm (format:out-dollar): Use format:out-inf-nan per ~f etc.
143
144 2006-02-12  Marius Vollmer  <mvo@zagadka.de>
145
146         * deprecated.scm (make-uniform-array): Don't pass the prototype as
147         the fill value, dimensions->uniform-array will do the right thing
148         now.  See scm_dimensions_to_uniform_array why we need to be tricky
149         about the fill value.
150
151 2006-02-04  Neil Jerram  <neil@ossau.uklinux.net>
152
153         * boot-9.scm (try-module-autoload): Make sure that module code is
154         loaded with the default reader (current-reader #f).  Thanks to
155         Ludovic Courtès for pointing this problem out.
156
157         * stack-catch.scm (stack-catch): Use catch pre-unwind handler
158         instead of lazy-catch.
159
160         * boot-9.scm (error-catching-loop): Use catch pre-unwind handler
161         instead of lazy-catch.
162
163 2006-02-01  Ludovic Courtès  <ludovic.courtes@laas.fr>
164
165         * deprecated.scm (make-uniform-array): Fill the returned vector with
166         PROT, per guile 1.6 behaviour.
167
168 2006-01-30  Marius Vollmer  <mvo@zagadka.de>
169
170         * threads.scm (ice-9): Export %thread-handler.
171
172 2006-01-29  Marius Vollmer  <mvo@zagadka.de>
173
174         * threads.scm: Replaced 'futures' with threads.
175
176 2006-01-13  Neil Jerram  <neil@ossau.uklinux.net>
177
178         * boot-9.scm (repl-reader): Use value of current-reader fluid to
179         do the read, if set.  (Thanks to Ludovic Courtès for the patch.)
180
181 2005-12-14  Neil Jerram  <neil@ossau.uklinux.net>
182
183         * boot-9.scm (load-module): Support an optional custom reader arg,
184         implemented by passing on to r4rs's load.
185
186         * r4rs.scm (load): Support an optional custom reader arg,
187         implemented by passing on to primitive-load.
188
189 2005-12-06  Marius Vollmer  <mvo@zagadka.de>
190
191         From Stephen Compall.
192         
193         * boot-9.scm (%cond-expand-features): Add srfi-61.
194
195 2005-10-27  Ludovic Courtès  <ludovic.courtes@laas.fr>
196
197         * networking.scm (sockaddr:flowinfo, sockaddr:scopeid): New functions.
198
199 2005-09-01  Neil Jerram  <neil@ossau.uklinux.net>
200
201         * debugger/utils.scm: Export write-frame-long.
202
203 2005-08-01  Marius Vollmer  <mvo@zagadka.de>
204
205         * boot-9.scm (set-module-eval-closure!): Undone change from
206         2005-06-10; with the new weak hashtable semantics, cyclic
207         references are no longer a problem.
208
209 2005-07-09  Neil Jerram  <neil@ossau.uklinux.net>
210
211         * debugger.scm: Remove comments which are now incorrect.
212
213         * debugger/Makefile.am (ice9_debugger_sources): Removed
214         breakpoints.scm, behaviour.scm, trap-hooks.scm.
215         (SUBDIRS): Removed.
216
217         Changes to remove breakpoint support from CVS, as I am now
218         developing this function outside Guile core.
219         
220         * debugger/commands.scm (assert-continuable, continue, finish,
221         trace-finish, step, next): Removed.
222
223         * debugger/breakpoints/*: Removed.
224         
225         * debugger/breakpoints.scm: Removed.
226         
227         * debugger/command-loop.scm: Remove command definitions for
228         continue, finish, trace-finish, step and next.
229
230         * debugger/behaviour.scm: Removed.
231
232         * debugger.scm (debug-stack): Remove GDS related code.
233
234 2005-06-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
235
236         * boot-9.scm (set-module-eval-closure!): remove
237         set-procedure-property! closure 'module. Setting this property
238         causes un-gc-able modules.
239
240 2005-06-05  Marius Vollmer  <mvo@zagadka.de>
241
242         * boot-9.scm (substring-fill!): New, for compatability.
243
244 2005-04-23  Kevin Ryde  <user42@zip.com.au>
245
246         * boot-9.scm (make-list): Moved to C code in list.c
247
248 2005-04-14  Kevin Ryde  <user42@zip.com.au>
249
250         * boot-9.scm (1+, 1-): Moved to numbers.c.
251
252 2005-03-08  Kevin Ryde  <user42@zip.com.au>
253
254         * slib.scm (*features*): Remove 'random, need to use the slib code for
255         that module since guile doesn't provide `random:chunk'.
256
257 2005-02-12  Rob Browning  <rlb@defaultvalue.org>
258
259         * boot-9.scm (%cond-expand-features): add srfi-55.
260         (require-extension): add require-extension macro for srfi-55.
261
262 2005-01-29  Kevin Ryde  <user42@zip.com.au>
263
264         * regex.scm (regexp-quote): Use string-for-each, now that function is
265         in the core.
266
267 2005-01-28  Kevin Ryde  <user42@zip.com.au>
268
269         * boot-9.scm (while): Remove the unquote from do, it breaks with ice-9
270         syncase.  Reported by Pach Roman.
271
272 2005-01-10  Marius Vollmer  <marius.vollmer@uni-dortmund.de>
273
274         * arrays.scm, deprecated.scm (uniform-vector-fill!,
275         make-uniform-vector, make-uniform-array, list->uniform-vector):
276         Moved from arrays.scm to deprecated.scm.
277         * arrays.scm, boot-9.scm (array-dimensions): Moved from arrays.scm
278         to boo-9.scm.
279         * Makefile.am (ice9_sources): Removed arrays.scm.
280         
281 2005-01-02  Marius Vollmer  <mvo@zagadka.de>
282
283         * arrays.scm (uniform-vector-fill!, make-uniform-vector,
284         make-uniform-array,list->uniform-array): Deprecated for real.
285
286 2004-12-29  Marius Vollmer  <mvo@zagadka.de>
287
288         * arrays.scm (make-array, list->array): Removed.
289         (uniform-vector-fill!): Prepared to be deprecated.
290
291 2004-12-22  Marius Vollmer  <marius.vollmer@uni-dortmund.de>
292
293         * boot-9.scm (module-make-local-var!): When creating a new
294         variable, initialize it to the value of any imported variable with
295         the given name.  This allows code like (define round round) to
296         work as expected.
297
298         From Antoine Mathys <tonigonenstein@users.sourceforge.net>:
299
300         * popen.scm: Support bidirectional communication by making
301         open-pipe support OPEN_BOTH as second argument and in that case
302         return a soft input-output port which uses two pipes internally.
303         Provide open-pipe* to execute programs without using the shell
304         (and actually base open-pipe on it) and the obvious
305         open-input-output-pipe.
306
307 2004-12-14  Kevin Ryde  <user42@zip.com.au>
308
309         * boot-9.scm: (string-any, string-every): Use a scheme wrapper around
310         the C code so for the final call to the predicate procedure is a tail
311         call, per SRFI-13 spec.
312
313 2004-12-01  mvo  <mvo@zagadka.de>
314
315         * boot-9.scm (app, %app): Renamed former to the latter.
316         Previously, 'app' was reserved in every module.  Now '%app' is
317         reserved, which is slightly better.  The real fix is to not use
318         'local-ref' etc to find modules.  Changed all uses.
319         * syncase.scm: Changed 'app' to '%app'.
320
321 2004-11-12  Marius Vollmer  <marius.vollmer@uni-dortmund.de>
322
323         * arrays.scm: Do not use prototypes, use creator functions.
324
325 2004-11-10  Marius Vollmer  <mvo@zagadka.de>
326
327         * arrays.scm (uniform-vector-read!, uniform-vector-write):
328         Removed.
329
330 2004-11-05  Marius Vollmer  <marius.vollmer@uni-dortmund.de>
331
332         * boot-9.scm: Do not add "." to %load-path. 'load' will still be
333         able to load files in the current directory, but 'use-modules' etc
334         will not.
335
336 2004-10-29  Marius Vollmer  <marius.vollmer@uni-dortmund.de>
337
338         * arrays.scm: Do not install read-hash procedure for reading
339         arrays, this is done in libguile now.
340
341 2004-10-27  Marius Vollmer  <marius.vollmer@uni-dortmund.de>
342
343         * arrays.scm (uniform-vector?, uniform-vector-set!): Removed, now
344         provided by libguile.
345
346 2004-10-26  Marius Vollmer  <marius.vollmer@uni-dortmund.de>
347
348         * boot-9.scm: Added srfi-4 to cond-expand features.
349
350 2004-10-18  Marius Vollmer  <marius.vollmer@uni-dortmund.de>
351
352         * format.scm (format:obj->str): Simplified considerably by using
353         object->string or display instead of implementing our own printer.
354         Handle format:read-proof here.  Unreadable objects are recognized
355         by their "#<" prefix instead of by being unknown to the custom
356         printer (which would treat keywords as unprintable, for example).
357         (format:iobj->str): Removed.
358         
359 2004-10-04  Marius Vollmer  <marius.vollmer@uni-dortmund.de>
360
361         * boot-9.scm (symbol->keyword, keyword->symbol): Removed, they are
362         now implemented in C.
363
364 2004-09-26  Kevin Ryde  <user42@zip.com.au>
365
366         * optargs.scm (let-optional-template, let-keywords-template): Change
367         "(begin body)" to "(let () body)" for empty bindings, since the former
368         allows "internal defines" in body leak out to the surrounding
369         environment.
370
371 2004-09-23  Marius Vollmer  <mvo@zagadka.de>
372
373         * boot-9.scm (handle-system-error): Pass rest argument to
374         display-backtrace for wrong-type-arg and out-of-range errors so
375         that the bad value gets highlighted.
376
377 2004-09-04  Kevin Ryde  <user42@zip.com.au>
378
379         * streams.scm (stream-for-each-many): Correction, should recurse into
380         itself, not stream-for-each-one.
381
382         * time.scm (time-proc): Make result inexact, since format ~f doesn't
383         support fractions currently.
384
385 2004-09-08  Marius Vollmer  <marius.vollmer@uni-dortmund.de>
386
387         * boot-9.scm (expt): Only call integer-expt for an exact integer
388         exponent, not for an inexact integer one.  Also, let integer-expt
389         handle negative exponents instead of doing it here.
390
391 2004-09-02  Kevin Ryde  <user42@zip.com.au>
392
393         * format.scm (format:out): Ignore excess arguments, per common lisp.
394
395         * format.scm (format:out-num-padded): Print "+" on 0 under @ modifier.
396
397 2004-08-27  Kevin Ryde  <user42@zip.com.au>
398
399         * regex.scm (regexp-quote): [ and | must be quoted.  Quote ( ) { + ?
400         using char class [(] etc since \( in fact makes them become special in
401         regexp/basic.
402
403 2004-08-25  Kevin Ryde  <user42@zip.com.au>
404
405         * and-let-star.scm (and-let*): Give #t for an empty body, per srfi-2
406         spec, previously came out as an empty (begin).
407
408 2004-08-25  Marius Vollmer  <mvo@zagadka.de>
409
410         * boot-9.scm (%cond-expand-features): Added srfi-13 and srfi-14.
411
412 2004-08-20  Marius Vollmer  <marius.vollmer@uni-dortmund.de>
413
414         * debugger/utils.scm (display-source): Use unmemoize-expr instead
415         of unmemoize.
416         (write-frame-short/expression): Likewise.
417
418 2004-08-18  Kevin Ryde  <user42@zip.com.au>
419
420         * and-let-star.scm: Add cond-expand-provide srfi-2, since this module
421         provides that feature.
422         * receive.scm: Add cond-expand-provide srfi-8, since this module
423         provides that feature.
424
425 2004-08-09  Marius Vollmer  <mvo@zagadka.de>
426
427         From Matthias Koeppe.  Thanks!
428         
429         * pretty-print.scm (generic-write): In the local procedure `wr', use
430         object->string to print all data (except for the reader macros),
431         rather than implementing an own printer.  The user-visible
432         difference is that procedures and control characters like #\tab
433         are now printed in the same way as by `write'.
434
435 2004-08-09  Kevin Ryde  <user42@zip.com.au>
436
437         * slib.scm (*features*): Remove array and array-for-each, core
438         definitions are insufficient for latest slib.
439         (t, nil): New constants slib says are supposed to exist.
440         (call-with-open-ports, browse-url): New functions for latest slib.
441         Implementations taken from Template.scm (public domain).
442         (open-file): Extend core definition to accept symbols for the mode,
443         required by latest slib.
444         (delete-file): Replace core definition with version returning #t/#f as
445         per slib spec.
446         (system): Mark as #:replace to suppress override warning, use new
447         style "(@ (guile) system)" to call core function.
448
449 2004-05-25  Matthias Koeppe  <mkoeppe@mail.math.uni-magdeburg.de>
450
451         * format.scm: Remove the arbitrary limit of 100 iterations for the
452         ~{...~} control structure.
453
454 2004-07-10  Kevin Ryde  <user42@zip.com.au>
455
456         * and-let-star.scm (and-let*): Remove unused variable "val".
457         * pretty-print.scm (read-macro-prefix): Remove unused variable "tail".
458
459         * boot-9.scm (%cond-expand-features): Add srfi-6 which is in the core.
460
461         * safe-r5rs.scm (re-export): Uncomment numerator, denominator,
462         rationalize, since they now exist.
463         
464 2004-07-05  Kevin Ryde  <user42@zip.com.au>
465
466         * slib.scm (system): Correction to redefinition, now guile is stricter
467         about when a define binding comes into existance.
468
469 2004-05-29  Dirk Herrmann  <dirk@dirk-herrmanns-seiten.de>
470
471         * boot-9.scm: Reordered definitions such that macro definitions
472         preceed their first usage.  Include and define deprecated stuff
473         late in the file to have a better change of detecting accidental
474         uses of deprecated definitions. Further, unified the layout a
475         little and grouped definitions more cleanly into topics.
476
477 2004-05-24  Marius Vollmer  <mvo@zagadka.de>
478
479         * history.scm (use-value-history): Use resolve-interface instead
480         of resolve-module so that only the exported bindings are searched.
481         (save-value-history): Export the newly defined variable.  Reported
482         by Wolfgang Jaehrling.
483         
484 2004-05-04  Dirk Herrmann  <dirk@dirk-herrmanns-seiten.de>
485
486         * boot-9.scm (resolve-module): Always start searching from the
487         root module.  This will allow the C equivalent scm_resolve_module
488         to work, independent of what the current module is.
489
490 2004-02-18  Marius Vollmer  <mvo@zagadka.de>
491
492         * boot-9.scm (top-repl): Make the (guile-user) module use the
493         (ice-9 r5rs) module.
494
495 2004-02-12  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
496
497         * boot-9.scm (module-map): Renamed hash-map -> hash-map->list.
498
499 2004-02-09  Neil Jerram  <neil@ossau.uklinux.net>
500
501         * debugger/trap-hooks.scm (debug-hook-membership): New, exported.
502
503         * debugger/commands.scm (debug-trap-hooks): New, exported.
504
505 2004-02-08  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
506
507         * debugger/breakpoints/Makefile.am (TAGS_FILES),
508         debugger/Makefile.am (TAGS_FILES), Makefile.am (TAGS_FILES): Use
509         this variable instead of ETAGS_ARGS so that TAGS can be built
510         using separate build directory.
511
512 2004-01-20  Neil Jerram  <neil@ossau.uklinux.net>
513
514         * boot-9.scm (error-catching-loop): Back out 2003-11-19 change to
515         lazy-handler-dispatch lookup.
516
517 2004-01-12  Marius Vollmer  <mvo@zagadka.de>
518
519         * mapping.scm: Use '#:' prefix for keywords instead of ':'.
520         Thanks to Richard Todd!
521
522 2004-01-11  Kevin Ryde  <user42@zip.com.au>
523
524         * slib.scm (system): New function, giving an exit code return in
525         accordance with slib spec.
526         
527         Revert this, it breaks test-suite/tests/r5rs_pitfalls.test where
528         false-if-exception is used within syntax-rules.  (Suspect syntax-rules
529         ought to support this sort of thing, but it doesn't right now.)
530         * boot-9.scm (false-if-exception): Unquote catch and lambda, so as not
531         to depend on expansion environment.
532
533 2004-01-07  Marius Vollmer  <marius.vollmer@uni-dortmund.de>
534
535         * boot-9.scm (with-fluids): Use with-fluid* when only one fluid is
536         being set.
537
538 2004-01-07  Kevin Ryde  <user42@zip.com.au>
539
540         * q.scm (q-pop!): Should be "null?" not "not" for end-of-list.
541         Reported by Richard Todd.
542
543 2004-01-04  Kevin Ryde  <user42@zip.com.au>
544
545         * boot-9.scm (false-if-exception): Unquote catch and lambda, so as not
546         to depend on expansion environment.
547
548         * slib.scm (-1+, <?, <=?, =?, >?, >=?): Define as aliases for 1-, <,
549         <=, =, >, >= respectively, required by slib 'rev2-procedures but no
550         longer in the guile core.
551
552 2003-11-19  Neil Jerram  <neil@ossau.uklinux.net>
553
554         * boot-9.scm (error-catching-loop): Defer lookup of
555         lazy-handler-dispatch.
556
557 2003-11-17  Marius Vollmer  <mvo@zagadka.de>
558
559         * boot-9.scm (@, @@): New macros.
560
561 2003-11-16  Dirk Herrmann  <D.Herrmann@tu-bs.de>
562
563         * boot-9.scm: Started comment about module system workings.
564
565 2003-11-11  Neil Jerram  <neil@ossau.uklinux.net>
566
567         * debugger.scm: Change ui-* calls to gds-*.
568         (debug-on-error): Debug if throw key is in specified syms, not if
569         it isn't!  Also throw 'abort after debugging, so as to skip the
570         REPL's backtrace.
571
572         * debugger/behaviour.scm (*trap*): New variable, stores trap type.
573         (before-enter-frame-hook, before-apply-frame-hook,
574         before-exit-frame-hook): Set here.
575         (debug-if-flag-set): Passed into flags on debug-stack call.
576         (at-step, at-next): Changed to debug at frame exit points as well.
577
578         * debugger/utils.scm: Big comment added.
579
580 2003-10-30  Neil Jerram  <neil@ossau.uklinux.net>
581
582         * debugger/ui-client.scm: Moved to ../emacs/gds-client.scm.
583
584 2003-10-16  Neil Jerram  <neil@ossau.uklinux.net>
585
586         * debugger/ui-client.scm (ui-connect): Add arg to say whether to
587         debug immediately on connection.
588         (ui-eval): Handle exceptions during read and evaluation.
589
590         * debugger.scm (debug-on-error, default-default-lazy-handler):
591         Remove an unnecessary level of indirection in calling lazy
592         handler.
593
594 2003-10-12  Marius Vollmer  <mvo@zagadka.de>
595
596         * ftw.scm (directory-files): Close dir-stream when done.  Thanks
597         to Paul Jarc!
598
599 2003-10-09  Kevin Ryde  <user42@zip.com.au>
600
601         * poe.scm (funcq-assoc): Rewrite, don't assume '() is false, and
602         actually traverse the given alist.
603         
604 2003-10-06  Neil Jerram  <neil@ossau.uklinux.net>
605
606         * debugger/ui-client.scm (handle-instruction): Add evaluation
607         support.
608         (ui-eval): New.
609
610 2003-10-04  Neil Jerram  <neil@ossau.uklinux.net>
611
612         * debugger/ui-client.scm (ui-disable-async-thread,
613         ui-continue-async-thread, start-async-ui-thread): New.
614         (ui-command-loop): Call ui-disable-async-thread and
615         ui-continue-async-thread.
616         (handle-instruction): Read terminating newline char so it doesn't
617         cause following select to pop immediately.
618
619 2003-09-25  Neil Jerram  <neil@ossau.uklinux.net>
620
621         * debugger/ui-client.scm, debugger/ui-server.scm: New (work in
622         progress on new debugging front end).
623
624 2003-09-24  Neil Jerram  <neil@ossau.uklinux.net>
625
626         * debugger.scm (default-default-lazy-handler, debug-on-error):
627         New.
628
629         * debugger/behaviour.scm (debug-if-flag-set): Display debug entry
630         messages through (debugger-output-port).
631         (after-exit-frame-hook): Trace through (debugger-output-port).
632         (trace-here): Trace through (debugger-output-port).
633
634         * debugger/commands.scm (evaluate): If supplied expression is a
635         string, read from it before evaluating.
636         (evaluate): Change output format to "EXPR => VALUE".
637
638 2003-09-19  Kevin Ryde  <user42@zip.com.au>
639
640         * popen.scm (open-process): Correction to previous fdes closing
641         change, need to watch out for stdin==stderr or stdout==stderr.
642
643 2003-09-15  Marius Vollmer  <mvo@zagadka.de>
644
645         * format.scm (format): Rewritten as a big letrec to make it
646         reentrant.  No mutex is necessary.  Thanks to Clinton Ebadi!
647
648 2003-09-13  Kevin Ryde  <user42@zip.com.au>
649
650         * boot-9.scm (file-exists?): Use stat rather than access?, so as to
651         follow the effective UID/GID not the real ID.  file-exists? is
652         normally used as a prelude to opening or some other operation, and
653         it's the effective ID which will apply there.  Emacs file-exists-p
654         uses stat, presumably for the the same reason.
655
656 2003-09-12  Marius Vollmer  <mvo@zagadka.de>
657
658         * boot-9.scm (make-autoload-interface): Use a proper hashtable as
659         the obarray, not an empty vector.
660         (make-module): Always construct a hashtable for the obarray, even
661         for empty ones.
662
663         * format.scm (format:error): Use 'format:format' instead of
664         'format' since the latter will lock the mutex again that we have
665         already locked.
666         (format:format-work): Flag multiple '#' as an error.
667         
668 2003-08-17  Kevin Ryde  <user42@zip.com.au>
669
670         * boot-9.scm (while): Use a new key dynamically for each loop, so
671         break and continue associate to their loop even when recursing.
672
673 2003-08-14  Kevin Ryde  <user42@zip.com.au>
674
675         * boot-9.scm (while): Rewrite, continue as proper escape, break
676         without return value, break and continue new for each while form,
677         don't depend on bindings in expansion environment.
678
679         * popen.scm (open-process): Close input-fdes, output-fdes and
680         error-fdes after duping them to 0, 1 and 2.
681
682 2003-06-19  Kevin Ryde  <user42@zip.com.au>
683
684         * threads.scm (parallel): For no forms, use `(values)' not `(begin)'.
685
686 2003-05-27  Dirk Herrmann  <D.Herrmann@tu-bs.de>
687
688         * boot-9.scm (make-autoload-interface): Added missing quote around
689         vector constant.
690
691 2003-05-20  Marius Vollmer  <marius.vollmer@uni-dortmund.de>
692
693         * deprecated.scm (list*): Added.
694
695 2003-05-10  Kevin Ryde  <user42@zip.com.au>
696
697         * documentation.scm (file-commentary, find-documentation-in-file): Use
698         call-with-input-file, to close ports when done.
699
700 2003-05-03  Marius Vollmer  <mvo@zagadka.de>
701
702         * gap-buffer.scm (point++n!, point+-n!): Use substring-move!
703         instead of substring-move-left! or substring-move-right!.  Thanks
704         to Kevin Ryde.
705
706         * deprecated.scm (substring-move-left!, substring-move-right!):
707         New.
708
709         * boot-9.scm (display-usage-report): Use keyword->symbol instead
710         of keyword-symbol, which doesn't exist.  Thanks to Kevin Ryde.
711
712         * hcons.scm (hashq-cons-get-handle): Pass only the expected four
713         arguments to hashx-get-handle.  Thanks to Kevin Ryde!
714
715         * lineio.scm (make-line-buffering-input-port) Pass 0 as second
716         argument to string-ref.  Thanks to Kevin Ryde!
717
718 2003-04-25  Mikael Djurfeldt  <mdj@kvast.blakulla.net>
719
720         * serialize.scm: New file.
721
722 2003-04-24  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
723
724         * threads.scm (n-for-each-par-map): New procedure.
725
726 2003-04-05  Marius Vollmer  <mvo@zagadka.de>
727
728         * Changed license terms to the plain LGPL thru-out.
729
730 2003-03-26  Marius Vollmer  <marius.vollmer@uni-dortmund.de>
731
732         * deprecated.scm: New file, to collect deprecated things.
733         * Makefile.am (ice9_sources): Added.
734
735         * boot-9.scm: Load "ice-9/deprecated.scm" when appropriate.
736         (try-load-module): Also try the old deprecated method, maybe.
737         
738 2003-03-22  Marius Vollmer  <mvo@zagadka.de>
739
740         * boot-9.scm (call/cc): Added.
741
742 2003-03-20  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
743
744         * list.scm: New file.
745
746 2003-03-19  Marius Vollmer  <mvo@zagadka.de>
747
748         * format.scm (format:out-substr): Update the column counter
749         correctly. This fixes the behavior of ~T (tabbing) after ~F, for
750         instance.  Thanks to Matthias Koeppe!
751
752 2003-03-13  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
753
754         * session.scm (apropos): Don't look in duplicates interface.
755
756 2003-03-12  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
757
758         * boot-9.scm (duplicate-handlers): Make sure the merge-generics
759         and merge-accessors handlers are available also before (oop goops)
760         has been loaded.  This is so that people can put them as default
761         handlers without worrying about availability.
762
763         * slib.scm (logical:ipow-by-squaring): Removed.
764
765         * boot-9.scm (ipow-by-squaring): Removed.
766         (default-duplicate-binding-handler): Set default to
767         '(replace warn-override-core warn last)
768
769         * boot-9.scm (module-make-local-var!): Use module-add!.
770         (module-primitive-add!): New function.
771         (resolve-interface): Use
772         (call-with-deferred-observers, module-call-observers): New
773         functions.
774         (module-defer-observers, module-defer-observers-mute,
775         module-defer-observers-table): New variables.
776         (process-define-module, process-use-modules, export, re-export):
777         Use call-with-deferred-observers.
778         (module-duplicates-info, set-module-duplicates-info!): Removed.
779         (module-duplicates-handlers, module-duplicates-interface): New.
780         (module-type): Added duplicates-handlers and
781         duplicates-interface.
782
783         * syncase.scm (eval): Mark as replacement.
784
785         * boot-9.scm (defmacro-public): Use export-syntax instead of export.
786
787         * slib.scm (*features*): Set the core variable instead of defining
788         a local version.
789         (provide, provided?): Mark as replacements.
790
791         * boot-9.scm (beautify-user-module!): Don't install the duplicates
792         handler here.
793         (default-duplicate-binding-handler): Renamed from
794         default-module-duplicates-handler; Removed converter.
795         (process-duplicates): Lookup default duplicates handler dynamically.
796         (default-duplicate-binding-procedures): New parameter.
797
798 2003-03-12  Mikael Djurfeldt  <mdj@kvast.blakulla.net>
799
800         * slib.scm (identity): Removed.  (Provided by core.)
801
802 2003-03-11  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
803
804         * debugger/command-loop.scm: Prefix all commands imported from
805         (ice-9 debugger command-loop) with debugger:.
806
807         * boot-9.scm (process-duplicates): Use module-import-interface.
808         (module-symbol-interface): Removed.
809         (resolve-interface): Process #:hide; Name custom interfaces
810         appropriately.
811         (module-use!, module-use-interfaces!): Remove existing interfaces
812         on the use-list based on module name rather than interface
813         identity so that custom interfaces truly replaces their previous
814         version.
815
816         * boot-9.scm (module-override!, make-mutable-parameter,
817         lookup-duplicates-handlers, default-module-duplicates-handler):
818         New functions.
819         (process-duplicates): Don't call duplicates handlers for duplicate
820         bindings of the same variable.
821         (process-define-module): Process #:replace.
822         (compile-interface-spec, resolve-interface): Process #:prefix.
823
824         * format.scm (format): Marked as replacement.
825
826         * threads.scm (future, future-ref): Marked as replacements.
827
828 2003-03-07  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
829
830         These changes enables checking for duplicate imported bindings.
831
832         * boot-9.scm (process-define-module): Handle #:duplicates.
833         (module-use-interfaces! process-duplicates): New functions.
834         (duplicate-handlers): Dictionary of duplicate handlers.
835         (module-symbol-local-binding, module-symbol-binding): Bugfix.
836
837 2003-03-04  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
838
839         * session.scm (apropos): Use hash-for-each instead of
840         array-for-each.
841
842 2003-02-19  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
843
844         * boot-9.scm (make-module): Changed default size from 1021 to 31
845         (since the size now adapts).
846         (macro-table, xformer-table): Changed default size from 523 to 61.
847         (make-module): Don't call make-hash-table with zero size.
848
849         * Makefile.am (ice9_sources): Added weak-vector.scm.
850
851         * weak-vector.scm: New file.
852
853         * boot-9.scm (module-clear!): Use hash-clear!.
854         (module-for-each): Use hash-for-each.
855         (module-map): Use hash-map.
856
857 2003-02-11  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
858
859         * boot-9.scm (make-hash-table): Turned primitive.
860
861 2003-01-27  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
862
863         * syncase.scm (guile-macro): Strip syntactic information from
864         expression before trying to treat it as a Guile macro call.
865         (Thanks to Kevin Ryde.)
866
867 2003-01-24  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
868
869         * threads.scm (parallel, letpar): Rewritten.
870
871 2003-01-23  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
872
873         * threads.scm (par-mapper, n-par-map, n-par-for-each): Use
874         futures.
875
876 2003-01-20  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
877
878         * occam-channel.scm (alt): New syntax.
879
880         * psyntax.ss (self-evaluating?): Removed.  Guile now provides this
881         operator as a primitive procedure.
882         (build-data): Quote vectors (psyntax.ss requires this).
883
884 2003-01-19  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
885
886         * psyntax.ss (self-evaluating?): Allow procedures implanted in
887         source.  (Guile uses this internally.)
888
889 2003-01-16  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
890
891         * psyntax.ss (build-data): Don't quote self-evaluating expressions
892         in output.  (We normally *would* like also these expressions to be
893         quoted, but until Guile's native macros and syncase cooperates
894         better, it is less destructive not to quote.)
895         (self-evaluating?): Removed null? (In Guile, the empty list is not
896         self-evaluating).
897         (sc-chi): Export chi as sc-chi.
898         (external-macro): New syntax type.
899
900         * psyntax.pp: Regenerated.
901
902         * compile-psyntax.scm: Set expansion-eval-closure.
903
904         * boot-9.scm (use-syntax): Return *unspecified*.
905
906         * syncase.scm: Set expansion-eval-closure to
907         the-syncase-eval-closure during booting so that variables are
908         created in the correct module.
909         (syncase): Set expansion-eval-closure.
910         (define-syntax define-syntax-public eval-when fluid-let-syntax
911         identifier-syntax let-syntax letrec-syntax syntax syntax-case
912         syntax-rules with-syntax include): Removed definitions (these are
913         created from within psyntax.pp).
914         Enable expansion of Guile macros during a syntax-case
915         transformation.
916
917 2003-01-10  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
918
919         * occam-channel.scm (make-channel): Renamed from channel.
920         (make-timer): New function.
921
922         * Makefile.am (ice9_sources): Added occam-channel.scm.
923
924         * occam-channel.scm: New file.  Implements occam-like channels.
925
926 2002-12-28  Neil Jerram  <neil@ossau.uklinux.net>
927
928         * boot-9.scm (module-defined-hook): New hook, run whenever a new
929         module is defined.
930         (process-define-module): Run this hook.
931
932 2002-12-18  Mikael Djurfeldt  <mdj@kvast.blakulla.net>
933
934         * threads.scm: Removed bogus definition of future-ref.
935
936 2002-12-15  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
937
938         * threads.scm (par-map, par-for-each): Reimplemented using
939         joing-thread.
940         (parallel): Reimplemented using futures.
941         (n-par-map, n-for-each): New procedures.
942
943 2002-12-12  Marius Vollmer  <mvo@zagadka.ping.de>
944
945         * optargs.scm (improper-list-copy): New.
946         (parse-arglist): Use it instead of list-copy.
947
948 2002-12-09  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
949
950         * threads.scm (letpar): New macro.
951
952 2002-12-08  Rob Browning  <rlb@defaultvalue.org>
953
954         * debugger/breakpoints/Makefile.am (subpkgdatadir): VERSION ->
955         GUILE_EFFECTIVE_VERSION.
956
957         * debugger/Makefile.am (subpkgdatadir): VERSION ->
958         GUILE_EFFECTIVE_VERSION.
959
960         * Makefile.am (subpkgdatadir): VERSION -> GUILE_EFFECTIVE_VERSION.
961
962 2002-12-04  Mikael Djurfeldt  <mdj@linnaeus>
963
964         * threads.scm (parallel): New macro.
965          (par-map, par-for-each): New procedures.
966
967         * documentation.scm (object-documentation): Added support for
968         defmacros.
969
970 2002-11-24  Dirk Herrmann  <D.Herrmann@tu-bs.de>
971
972         * boot-9.scm (re-export-syntax):  Re-introduced after accidentally
973         removing it in my patch from 2002-11-16.
974
975 2002-11-24  Dirk Herrmann  <D.Herrmann@tu-bs.de>
976
977         Thanks to Mikael Djurfeldt for a bugreport which led to the
978         following changes:
979
980         * slib.scm (%system-define): Removed.
981
982         (define): Changed to use define-private instead of
983         %system-define.
984
985         * boot-9.scm (define-private): Undid my changes from 2002-11-16
986         until Guile supports hygienic macros.
987
988 2002-11-17  Neil Jerram  <neil@ossau.uklinux.net>
989
990         * emacs.scm (emacs-load): Locally define `read-and-eval!', as it
991         has been removed from the core.
992
993 2002-11-16  Dirk Herrmann  <D.Herrmann@tu-bs.de>
994
995         * syncase.scm (define-syntax, eval-when, fluid-let-syntax,
996         identifier-syntax, let-syntax, letrec-syntax, syntax, syntax-case,
997         syntax-rules, with-syntax, include):  Changed definitions to form
998         'real' macro definitions.
999
1000 2002-11-16  Dirk Herrmann  <D.Herrmann@tu-bs.de>
1001
1002         * boot-9.scm (define-private, export-syntax, export-syntax):
1003         Fixed my previous fix (blush).
1004
1005 2002-11-16  Dirk Herrmann  <D.Herrmann@tu-bs.de>
1006
1007         * boot-9.scm (define-private, export-syntax, export-syntax):
1008         Changed definitions to form 'real' macro definitions.
1009
1010 2002-11-07  Marius Vollmer  <marius.vollmer@uni-dortmund.de>
1011
1012         * format.scm (format): Use 'monitor' properly.  Not the definition
1013         needs to be restricted, the actual function needs to be.
1014
1015 2002-11-05  Neil Jerram  <neil@ossau.uklinux.net>
1016
1017         * boot-9.scm (define-option-interface): Fix to "simplification"
1018         change below.
1019
1020         * debugger/breakpoints/source.scm: Enable source property
1021         recording when module is loaded.
1022         (##): Cope with ports whose `filename' is not a string.
1023
1024 2002-11-04  Neil Jerram  <neil@ossau.uklinux.net>
1025
1026         * boot-9.scm (define-option-interface): Simplify code-generation
1027         code.
1028
1029         * debugger/command-loop.scm (read-and-dispatch-command): Import
1030         set-readline-prompt dynamically if we need to.  (Previous
1031         arrangement didn't work if this module was loaded before (ice-9
1032         readline).)
1033
1034 2002-11-03  Marius Vollmer  <mvo@zagadka.ping.de>
1035
1036         * format.scm (format): Wrap a monitor around format:format since
1037         it is not thread-safe.
1038
1039 2002-10-27  Marius Vollmer  <mvo@zagadka.ping.de>
1040
1041         * threads.scm (%thread-handler): Explicitely return '#f'.  This
1042         value will be returned by join-thread.
1043
1044 2002-10-26  Neil Jerram  <neil@ossau.uklinux.net>
1045
1046         Merging debugger enhancements previously in separate
1047         `guile-debugger' package ...
1048         
1049         * debugger.scm: Factored out into the following constituent parts
1050         - see comment in file for more details.
1051         (*not-yet-introduced*): New (avoids repeatedly introducing the
1052         debugger when entering it from breakpoints).
1053         (debug-stack): New.
1054         (debug): Rewrite to use more general `debug-stack'.
1055
1056         * debugger/commands.scm, debugger/command-loop.scm,
1057         debugger/state.scm, debugger/utils.scm: New files containing bits
1058         of old (ice-9 debugger), plus some rewriting and enhancements for
1059         breakpoint support ...
1060
1061         * debugger/state.scm (state-rtd): Add flags field.
1062         (make-state): Extend to optionally take flags.
1063         (state-flags): New, accessor for flags field.
1064         (set-state-index!, set-stack-index!): New.
1065         (write-state-short): Rewritten to print out the current source
1066         location in a way that is more easily trackable by Emacs.
1067         
1068         * debugger/commands.scm (assert-continuable, continue, finish,
1069         trace-finish, step, next): New debugger commands for continuing
1070         execution from a breakpoint.
1071
1072         * debugger/behaviour.scm, debugger/breakpoints.scm,
1073         debugger/breakpoints/procedural.scm,
1074         debugger/breakpoints/range.scm, debugger/breakpoints/source.scm,
1075         debugger/trap-hooks.scm, debugger/trc.scm: New files - breakpoint
1076         support.
1077
1078         * Makefile.am (SUBDIRS): Add debugger subdirectory.
1079
1080         * debugger/Makefile.am, debugger/breakpoints/Makefile.am: New.
1081         
1082 2002-10-21  Marius Vollmer  <mvo@zagadka.ping.de>
1083
1084         * threads.scm (%thread-handler): Do not call unmask-signals, that
1085         should be unnecessary now.
1086
1087 2002-10-20  Mikael Djurfeldt  <mdj@linnaeus>
1088
1089         * boot-9.scm (top-repl): Look for use-emacs-interface in
1090         guile-user-module (should it be there?) instead of
1091         the-root-module.
1092
1093 2002-10-10  Marius Vollmer  <mvo@zagadka.ping.de>
1094
1095         * boot-9.scm (top-repl): Use 2 as the limit when saving the stack.
1096         (error-catching-loop): use call-with-blocked-asyncs and
1097         call-with-unblocked-asyncs instead of mask-signals and
1098         unmask-signals.
1099         
1100 2002-10-09  Neil Jerram  <neil@ossau.uklinux.net>
1101
1102         * buffered-input.scm (make-buffered-input-port): Build an
1103         input-waiting thunk for just extended version of make-soft-port.
1104
1105 2002-10-04  Rob Browning  <rlb@defaultvalue.org>
1106
1107         * boot-9.scm (expt): switch if sense and use negative? rather than
1108         >= 0.
1109
1110 2002-10-04  Marius Vollmer  <mvo@zagadka.ping.de>
1111
1112         * boot-9.scm (top-repl): Use "1" instead of "%deliver-signals" to
1113         limit the signal stack.
1114
1115 2002-09-15  Marius Vollmer  <mvo@zagadka.ping.de>
1116
1117         * boot-9.scm (feature?): Added deprecation message.
1118
1119 2002-09-14  Rob Browning  <rlb@defaultvalue.org>
1120
1121         * boot-9.scm (sqrt): minor indentation fix.
1122
1123 2002-09-05  Marius Vollmer  <mvo@zagadka.ping.de>
1124
1125         * syncase.scm: Set the module transformer of the-syncase-module so
1126         that we can use define-syntax.
1127         (define-syntax-public): New and exported.
1128
1129 2002-09-04  Marius Vollmer  <mvo@zagadka.ping.de>
1130
1131         * syncase.scm (expansion-eval-closure, env->eval-closure): New.
1132         (sc-macro): Set the expansion-eval-closure expanding the form.
1133         (putprop, getprop): Use the expansion-eval-closure to find
1134         variables instead of the current module.
1135
1136 2002-07-08  Marius Vollmer  <mvo@zagadka.ping.de>
1137
1138         * slib.scm (make-exchanger): Added.  Thanks to Clinton Ebadi!
1139
1140 2002-07-07  Dirk Herrmann  <D.Herrmann@tu-bs.de>
1141
1142         * boot-9.scm (define-option-interface): Replaced "macro" by
1143         mmacro.
1144
1145 2002-06-01  Gary Houston  <ghouston@arglist.com>
1146
1147         * boot-9.scm (file-set-position): Make third argument optional,
1148         for SCM compatibility.
1149         (file-position): simplify definition.
1150
1151 2002-06-01  Marius Vollmer  <mvo@zagadka.ping.de>
1152
1153         * boot-9.scm (file-set-position): Use seek instead of fseek.
1154
1155 2002-05-09  Marius Vollmer  <mvo@zagadka.ping.de>
1156
1157         * format.scm (format:out-inf-nan): New.
1158         (format:out-fixed, format:out-expon, format:out-general): Use it
1159         to print infs and nans.
1160
1161         * boot-9.scm (unsetenv): New, for completeness.
1162
1163 2002-05-08  Marius Vollmer  <mvo@zagadka.ping.de>
1164
1165         * format.scm (format:fn-max): Increase to 400 so ~f and ~g can
1166         print long real numbers with large positive and negative
1167         exponents.
1168
1169 2002-05-06  Marius Vollmer  <mvo@zagadka.ping.de>
1170
1171         * syncase.scm: Use (ice-9 threads) so that with-mutex is defined.
1172
1173 2002-04-30  Thien-Thi Nguyen  <ttn@giblet.glug.org>
1174
1175         * gap-buffer.scm: New file.
1176
1177         * Makefile.am (ice9_sources): Add gap-buffer.scm.
1178
1179 2002-03-12  Rob Browning  <rlb@defaultvalue.org>
1180
1181         * syncase.scm: fix bad let.
1182         (gensym): fix failure on non-threaded
1183
1184 2002-03-05  Thien-Thi Nguyen  <ttn@giblet.glug.org>
1185
1186         * ftw.scm: New file.
1187
1188         * Makefile.am (ice9_sources): Add ftw.scm.
1189
1190 2002-02-26  Thien-Thi Nguyen  <ttn@giblet.glug.org>
1191
1192         * Makefile.am: Update path to pre-inst-guile automake frag.
1193
1194         * boot-9.scm: Comment grammar fixes; nfc.
1195         Thanks to Christopher Cramer.
1196
1197 2002-02-24  Rob Browning  <rlb@defaultvalue.org>
1198
1199         * syncase.scm (gensym): redefine locally so we can control it's
1200         properties.  This is in preparation for changing the future public
1201         gensym to produce unreadable symbols.
1202
1203         * psyntax.pp: updated to reflect new syncase.scm.
1204
1205 2002-02-07  Thien-Thi Nguyen  <ttn@giblet.glug.org>
1206
1207         * regex.scm: Add commentary; nfc.
1208
1209 2002-02-05  Thien-Thi Nguyen  <ttn@giblet.glug.org>
1210
1211         * Makefile.am: Include $(top_srcdir)/pre-inst-guile.am.
1212
1213         (psyntax.pp): Use $(preinstguile).
1214
1215 2002-01-14  Marius Vollmer  <mvo@zagadka.ping.de>
1216
1217         * psyntax.ss (datum->syntax-object): Removed assertion in
1218         datum->syntax-object that checked if the first argument, a
1219         syntax-object, is an identifier.  This was a unconvenient and
1220         unnecessary restriction.  Thanks to Dorai Sitaram!
1221
1222 2002-01-12  Marius Vollmer  <mvo@zagadka.ping.de>
1223
1224         More options for pretty-print.  Thanks to Matthias Köppe!
1225
1226         * pretty-print.scm (generic-write): New per-line-prefix argument.
1227         (pretty-print): Check whether the new keyword argument style is
1228         used and dispatch to pretty-print-with-keys accordingly.
1229
1230 2001-11-27  Marius Vollmer  <mvo@zagadka.ping.de>
1231
1232         * format.scm (string-index, list-head): Removed, we already have
1233         these in the core.
1234
1235 2001-11-06  Marius Vollmer  <mvo@zagadka.ping.de>
1236
1237         * boot-9.scm (turn-on-debugging): New function, to be used by
1238         scm_compile_shell_switches.
1239
1240         * debug.scm: Do not enable debugging and recording of source
1241         positions.
1242
1243 2001-10-21  Mikael Djurfeldt  <mdj@linnaeus>
1244
1245         * slib.scm (array-indexes): New procedure.
1246         (*features*): Extend.  (Probably some of these options should be
1247         set elsewhere.)  (Thanks to Aubrey Jaffer.)
1248
1249         * and-let-star-compat.scm, and-let-star.scm, calling.scm,
1250           channel.scm, common-list.scm, debug.scm, debugger.scm,
1251           expect.scm, hcons.scm, lineio.scm, ls.scm, mapping.scm,
1252           null.scm, optargs.scm, poe.scm, popen.scm, pretty-print.scm,
1253           q.scm, r5rs.scm, rdelim.scm, regex.scm, runq.scm, safe-r5rs.scm,
1254           safe.scm, session.scm, slib.scm, streams.scm, string-fun.scm,
1255           syncase.scm, threads.scm: Move module the system directives
1256           `export', `export-syntax', `re-export' and `re-export-syntax'
1257           into the `define-module' form.  This is the recommended way of
1258           exporting bindings.
1259
1260 2001-10-17  Mikael Djurfeldt  <mdj@linnaeus>
1261
1262         * boot-9.scm (process-define-module): New options: :export-syntax,
1263         :re-export-syntax
1264
1265 2001-10-14  Mikael Djurfeldt  <mdj@linnaeus>
1266
1267         * arrays.scm (read:uniform-vector): Return *unspecified* instead
1268         of raising an exception if hash extend character isn't followed by
1269         the array list. (This prevents parsing of uniform vectors from
1270         interfering with parsing of numbers.)
1271
1272 2001-10-08  Mikael Djurfeldt  <mdj@linnaeus>
1273
1274         * emacs.scm (%%load-port, %%emacs-load, %%emacs-eval-request,
1275         %%emacs-select-frame, %%emacs-frame-eval, %%emacs-symdoc,
1276         %%apropos-internal): Use module-define! instead of
1277         builtin-variable.
1278
1279 2001-09-24  Mikael Djurfeldt  <mdj@linnaeus>
1280
1281         * boot-9.scm (process-define-module): Added :re-export.
1282
1283 2001-09-19  Thien-Thi Nguyen  <ttn@glug.org>
1284
1285         * expect.scm: Commentary fix; nfc.
1286
1287         * boot-9.scm (process-use-modules): Fix typo.
1288
1289 2001-09-18  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
1290
1291         * Makefile.am (psyntax.pp): Reference compile-psyntax.scm in
1292         $(srcdir) in order to support separate build trees.
1293
1294 2001-09-08  Thien-Thi Nguyen  <ttn@revel.glug.org>
1295
1296         * optargs.scm (lambda*): Record the broken-down argument list in
1297         the `arglist' procedure property.
1298         * session.scm (arity): Use new `arglist' procedure property to
1299         present a more detailed argument list.
1300
1301         Thanks to Matthias Köppe!
1302
1303 2001-09-07  Thien-Thi Nguyen  <ttn@revel.glug.org>
1304
1305         * getopt-long.scm (process-options, getopt-long): Fix omission
1306         bug: Handle multiple occurrances of an option.  Thanks to Daniel
1307         Skarda.
1308
1309 2001-08-31  Dirk Herrmann  <D.Herrmann@tu-bs.de>
1310
1311         * boot-9.scm: Don't load module (ice-9 rdelim).
1312
1313         (feature?): Deprecated.
1314
1315         (id, -1+, return-it, string-character-length, flags,
1316         eval-in-module, split-c-module-name,
1317         (convert-c-registered-modules, registered-modules,
1318         register-modules, warn-autoload-deprecation, init-dynamic-module,
1319         dynamic-maybe-call, dynamic-maybe-link,
1320         find-and-link-dynamic-module, try-using-libtool-name,
1321         try-using-sharlib-name, link-dynamic-module, try-module-linked,
1322         try-module-dynamic-link): Removed.
1323
1324         (module-make-local-var!, module-ensure-local-variable!,
1325         module-define!): Eliminate call to `variable-set-name-hint!'.
1326
1327         (try-load-module, use-syntax, module-export!): Remove deprecated
1328         functionality.
1329
1330         * format.scm:  Remove deprecated definition of format that was
1331         needed to trick export.
1332
1333 2001-08-31  Dirk Herrmann  <D.Herrmann@tu-bs.de>
1334
1335         * optargs.scm:  Remove #& reader extension.
1336
1337 2001-08-31  Dirk Herrmann  <D.Herrmann@tu-bs.de>
1338
1339         * and-let-star-compat.scm:  Deleted.
1340
1341         * Makefile.am: Remove references to and-let-star-compat.scm.
1342
1343 2001-08-30  Thien-Thi Nguyen  <ttn@revel.glug.org>
1344
1345         * boot-9.scm (resolve-interface): When returning a custom
1346         interface, also consult source module's entire binding set,
1347         not just its exported bindings, before throwing error.
1348
1349 2001-08-25  Marius Vollmer  <mvo@zagadka.ping.de>
1350
1351         * boot-9.scm (resolve-interface): Get variables from the public
1352         interface of a module instead of from the module itselfs.
1353
1354 2001-08-25  Marius Vollmer  <mvo@zagadka.ping.de>
1355
1356         * Makefile.am (AUTOMAKE_OPTIONS): Change "foreign" to "gnu".
1357
1358 2001-08-12  Thien-Thi Nguyen  <ttn@revel.glug.org>
1359
1360         * getopt-long.scm: Rewrite.
1361         Touch up docstrings.
1362         Augment commentary.
1363
1364 2001-08-02  Neil Jerram  <neil@ossau.uklinux.net>
1365
1366         * debugger.scm (run-last-command): Return current state if
1367         last-command fluid is not yet set.
1368
1369 2001-08-02  Thien-Thi Nguyen  <ttn@revel.glug.org>
1370
1371         * getopt-long.scm: Refill to fit in 80 columns.
1372
1373         (process-long-option): Fix bug: Keep track of `optional'
1374         value-required info and use this to determine whether or not the
1375         next element is to be taken as the option arg.
1376
1377 2001-07-31  Keisuke Nishida  <knishida@nurs.or.jp>
1378
1379         * boot-9.scm (process-define-module): Fixed a bug that did not
1380         handle :use-syntax correctly.
1381
1382 2001-07-24  Marius Vollmer  <mvo@zagadka.ping.de>
1383
1384         * syncase.scm (psyncomp): Removed, it is now in
1385         compile-psyntax.scm.
1386
1387 2001-07-23  Marius Vollmer  <mvo@zagadka.ping.de>
1388
1389         * Makefile.am (psyntax.pp): Enable rule for psyntax.pp only in
1390         maintainer mode.  Use compile-psyntax.scm for actual compilation.
1391         Make sure the uninstalled guile is used.
1392         (EXTRA_DIST): Distribute compile-psyntax.scm
1393         * compile-psyntax.scm: New file.
1394
1395 2001-07-18  Martin Grabmueller  <mgrabmue@cs.tu-berlin.de>
1396
1397         * and-let-star.scm, debug.scm, debugger.scm, history.scm,
1398         lineio.scm, null.scm, optargs.scm, r4rs.scm, r5rs.scm,
1399         receive.scm, safe-r5rs.scm, streams.scm: Updated copyright notice.
1400
1401 2001-07-17  Martin Grabmueller  <mgrabmue@cs.tu-berlin.de>
1402
1403         * r5rs.scm: Use `re-export' instead of `export' for re-exported
1404         primitives.  Thanks Neil!
1405
1406 2001-07-13  Marius Vollmer  <mvo@zagadka.ping.de>
1407
1408         * safe-r5rs.scm: Use `re-export' instead of `export' for
1409         re-exported core bindings.  Do not re-export `numerator',
1410         `denominator' and `rationalize' since Guile does not have them.
1411         Continue to use `export' for `null-environment'.
1412
1413         * null.scm: Use `re-export' instead of `export' for re-exported
1414         core bindings.  Do not export `unquote' and `unquote-splicing'
1415         since there aren't definitions for them.
1416
1417         * boot-9.scm (compile-interface-spec): Bug fix: the keyword
1418         argument is "renamer" not "rename".
1419
1420 2001-07-09  Rob Browning  <rlb@defaultvalue.org>
1421
1422         * boot-9.scm: Fixed the sense of the error message when read-eval?
1423         is #f.  Thanks to Matthias for catching this.
1424
1425 2001-07-06  Rob Browning  <rlb@defaultvalue.org>
1426
1427         * boot-9.scm: added fix suggested by Matthias for #. read
1428         extension -- now only works if read-eval? is not #f.
1429
1430 2001-06-30  Dirk Herrmann  <D.Herrmann@tu-bs.de>
1431
1432         * arrays.scm:  Don't install a read-hash-extension for 'b':  #b
1433         is already defined by R5RS.  Further, there is already a working
1434         read syntax for bitvectors, starting with #*.
1435
1436 2001-06-30  Martin Grabmueller  <mgrabmue@cs.tu-berlin.de>
1437
1438         * Makefile.am (ice9_sources): Removed tags.scm.
1439
1440         * tags.scm: Removed file.
1441
1442 2001-06-29  Neil Jerram  <neil@ossau.uklinux.net>
1443
1444         Changes to support tracing other than inside the repl-stack that
1445         is set up by the REPL code in boot-9.scm.
1446
1447         * debug.scm (trace-entry, trace-exit): Conditionalize tracing on
1448         whether the current stack id is in `traced-stack-ids'.
1449         (traced-stack-ids, trace-all-stacks?, trace-stack, untrace-stack):
1450         New.
1451
1452 2001-06-27  Marius Vollmer  <mvo@zagadka.ping.de>
1453
1454         * common-list.scm (member-if): Put in docstring for member-if, it
1455         was a cut-n-paste error previously.
1456
1457 2001-06-26  Neil Jerram  <neil@ossau.uklinux.net>
1458
1459         * debug.scm (trace): Set evaluator trap options to handle tracing.
1460         Don't reset trace-level to 0.
1461
1462         * boot-9.scm (lazy-handler-dispatch): Remove enter-frame-handler,
1463         apply-frame-handler and exit-frame-handler.  (They're replaced by
1464         evaluator trap options.)
1465
1466 2001-06-25  Michael Livshin  <mlivshin@bigfoot.com>
1467
1468         * streams.scm (stream-for-each-many): typo fix.
1469
1470 2001-06-25  Marius Vollmer  <mvo@zagadka.ping.de>
1471
1472         * boot-9.scm (re-export-syntax): New.
1473
1474 2001-06-16  Marius Vollmer  <mvo@zagadka.ping.de>
1475
1476         * boot-9.scm (system-error-errno): New.
1477
1478 2001-06-14  Marius Vollmer  <mvo@zagadka.ping.de>
1479
1480         * common-list.scm (remove-if, remove-if-not): Fix typo: use
1481         `pred', not `pred?', in the body.
1482
1483 2001-06-13  Thien-Thi Nguyen  <ttn@revel.glug.org>
1484
1485         * match.scm:
1486         No longer use module `(ice-9 slib)'.
1487         Use module `(ice-9 pretty-print)'.
1488         No longer require `pretty-print'.
1489
1490         (slib:error): Delete.
1491         (match:error, match:syntax-err): Rewrite.
1492
1493         Thanks to Dale P. Smith.
1494
1495         * README: New file.
1496
1497         * common-list.scm:
1498         Clean up some docstrings; nfc.
1499         Add Commentary.
1500         Update copyright.
1501
1502 2001-06-11  Marius Vollmer  <mvo@zagadka.ping.de>
1503
1504         * boot-9.scm: Use `begin-deprecated' instead of testing
1505         `include-deprecated-features' when conditionally using the (ice-9
1506         rdelim) module.  See below.
1507
1508 2001-06-10  Gary Houston  <ghouston@arglist.com>
1509
1510         * boot-9.scm: use the (ice-9 rdelim) module if
1511         include-deprecated-features is true.
1512
1513 2001-06-09  Marius Vollmer  <mvo@zagadka.ping.de>
1514
1515         * pretty-print.scm (generic-write): Use `object->string' to print
1516         unknown objects.
1517
1518         * optargs.scm (lambda*): Make sure that BODY is always put into a
1519         real body context so that it can contain internal definitions.
1520         Thanks to Matthias Köppe!
1521
1522         * format.scm: Use (ice-9 and-let-star).
1523         (format:out): Initialize format:output-col with current column of
1524         `port', if it has one.  Else leave it alone.  Thanks to Matthias
1525         Köppe!
1526
1527 2001-06-05  Marius Vollmer  <mvo@zagadka.ping.de>
1528
1529         * boot-9.scm (module-ensure-local-variable!): Renamed from
1530         `module-ensure-variable!'.  Make sure that there really is a local
1531         variable, not just a visible one.
1532         (module-ensure-variable!): See above.
1533         (module-export!): Behave like always when deprecated features are
1534         enabled, but issue a warning when re-exporting a variable.  When
1535         deprecated features are disabled, only export local variables,
1536         creating them uninitialized when they don't yet exist.
1537         (module-re-export!): New.  Use this for re-exporting imported
1538         variables.
1539         (re-export): New, to go with `module-re-export!'.
1540
1541         * format.scm: Added kluge at top that keeps `export' from
1542         re-exporting the `format' variable of the `(guile)' module.
1543
1544 2001-06-04  Marius Vollmer  <mvo@zagadka.ping.de>
1545
1546         * boot-9.scm (named-module-use!, top-repl): Use resolve-interface
1547         instead of resolve-module to get at the used module.
1548
1549 2001-06-04  Gary Houston  <ghouston@arglist.com>
1550
1551         * rw.scm: export write-string/partial.
1552
1553 2001-06-04  Marius Vollmer  <mvo@zagadka.ping.de>
1554
1555         Added exception notice to all files.
1556
1557         * boot-9.scm (module-export!): Revert 2001-06-02 change.  It
1558         caused more problems than it solved by accidentally re-exporting
1559         importing bindings once in a while.
1560
1561 2001-06-03  Marius Vollmer  <mvo@zagadka.ping.de>
1562
1563         * boot-9.scm (try-load-module): Bracket calls to try-module-linked
1564         and try-module-dynamic-link with `begin-deprecated'.
1565         (split-c-module-name, convert-c-registered-modules,
1566         registered-modules, register-modules, warn-autoload-deprecation,
1567         init-dynamic-module, dynamic-maybe-call, dynamic-maybe-link,
1568         find-and-link-dynamic-module, try-using-libtool-name,
1569         try-using-sharlib-name, link-dynamic-module, try-module-linked,
1570         try-module-dynamic-link): Deprecated.  Activate deprecation
1571         message.
1572         (define-public): Define binding before exporting it.  This is to
1573         avoid accidentally re-exporting a imported binding.
1574
1575 2001-06-02  Marius Vollmer  <mvo@zagadka.ping.de>
1576
1577         * Makefile.am (psyntax.pp): Make it dependent on psyntax.ss and
1578         fix command so that it works.
1579
1580         * session.scm (apropos-fold, submodules, apropos): Be careful not
1581         to access unbound variables.
1582
1583         * boot-9.scm (module-ensure-variable!): New.
1584         (module-export!): Use it to ensure that there is a variable to
1585         export.  Previously, we would always create a new variable, copy
1586         the value over, and export the new variable.  This confused
1587         syncase since it keys important properties on variables.
1588
1589 2001-06-01  Marius Vollmer  <mvo@zagadka.ping.de>
1590
1591         * boot-9.scm (top-repl): Revert part of the 2001-05-19 change.
1592         When defining the guile-user module, do not use any modules.  Add
1593         them to guile-user when `top-repl' is called.
1594         (resolve-interface): Expect keyword arguments instead of a `spec'.
1595         (compile-interface-spec, compile-define-module-args): New.
1596         (define-module): Use compile-define-module-args to construct
1597         argument for process-define-module.
1598         (use-modules, use-syntax): Use compile-interface-spec to construct
1599         arguments for process-use-modules.
1600         (process-define-module): Expect keywords in argument list.
1601
1602 2001-05-25  Marius Vollmer  <mvo@zagadka.ping.de>
1603
1604         * boot-9.scm (cond-expand): Define using
1605         `procedure->memoizing-macro' to get at the lexical environment.
1606         Use `env-module' instead of `current-module' to get the right
1607         module.
1608
1609         * Makefile.am (ice9_sources): Added "pretty-print.scm".
1610         * pretty-print.scm: New file, copied from SLIB.
1611         (generic-write): Return the `unspecified' value.
1612
1613         * format.scm: Autoload `pretty-print'.
1614
1615 2001-05-23  Martin Grabmueller  <mgrabmue@cs.tu-berlin.de>
1616
1617         * boot-9.scm (%cond-expand-table): New hash table mapping modules
1618         to feature lists.
1619         (cond-expand): Use feature information associated with modules.
1620
1621 2001-05-21  Martin Grabmueller  <mgrabmue@cs.tu-berlin.de>
1622
1623         * boot-9.scm (use-srfis): Do not extend the srfi-0 feature list.
1624         (cond-expand-provide): New procedure.
1625
1626 2001-05-22  Marius Vollmer  <mvo@zagadka.ping.de>
1627
1628         * boot-9.scm (define-module): Return the new module.
1629         (process-define-module): Use `spec' instead of `module-name' when
1630         getting the syntax transformer.  Thanks to Matthias Köppe!
1631
1632 2001-05-21  Marius Vollmer  <mvo@zagadka.ping.de>
1633
1634         * boot-9.scm (use-syntax): Do not set scm:eval-transformer when
1635         deprecated features have been removed.  Thanks to Dale P. Smith!
1636
1637         * optargs.scm (#\&): Use `issue-deprecation-warning' instead of
1638         `display'.
1639
1640 2001-05-19  Marius Vollmer  <mvo@zagadka.ping.de>
1641
1642         * psyntax.ss (build-lexical-var): Use gensym instead of gentemp.
1643         * match.scm: Likewise.
1644         * expect.scm: Likewise.
1645         * psyntax.pp: Regenerated.
1646
1647         * rdelim.scm:  Call `%init-rdelim-builtins'.
1648
1649         * rw.scm: Call `%init-rw-builtins'.
1650
1651         * boot-9.scm (process-define-module): Do not call
1652         set-current-module.
1653         (define-module): Do it here, in the expansion.
1654         (top-repl): Do not define '(guile-user)' module and conditionally
1655         load `(ice-9 threads)' and/or `(ice-9 regex)' here.  Do it on
1656         top-level as the last thing in boot-9.scm instead.
1657         (%load-path): Use `list' instead of `cons' to create a single
1658         element list when adding "." to it.
1659         (process-define-module, process-use-modules, module-export!): Add
1660         dummy definitions prior to booting the mdule system.
1661
1662 2001-05-18  Thien-Thi Nguyen  <ttn@revel.glug.org>
1663
1664         * boot-9.scm: (resolve-interface, use-srfis): Small
1665         cleanup; nfc.
1666         (process-define-module): Internal proc `unrecognized'
1667         now accepts arg; update callers.
1668         Reverse order of interfaces added to module to be
1669         consistent with that specified in `define-module' form.
1670
1671         * session.scm: (help): Use `provided?' instead of `feature?'.
1672         Factor "TYPE not found for X" output into internal proc.
1673         Support `(quote SYMBOL)'; call `search-documentation-files'.
1674         (help-doc): If initial search fails, try using
1675         `search-documentation-files'.
1676         (apropos-fold-accessible, apropos-fold-all): Use `identity'
1677         instead of `(lambda (x) x)'.  "An identity edit", ha ha.
1678         (help-usage): Mention support for "(help 'NAME)".
1679
1680         * documentation.scm: Fix documentation for Guile Documentation
1681         Format Version 2: Mention required terminating newlines.
1682
1683         (find-documentation): Delete.
1684         (search-documentation-files): New proc, exported.
1685         (object-documentation): Use `search-documentation-files'.
1686
1687 2001-05-15  Martin Grabmueller  <mgrabmue@cs.tu-berlin.de>
1688
1689         * boot-9.scm (cond-expand-features): Made the feature list public,
1690         so it can be manipulated by `use-srfis'.
1691         (use-srfis): New procedure.
1692
1693 2001-05-15  Thien-Thi Nguyen  <ttn@revel.glug.org>
1694
1695         * boot-9.scm (resolve-interface): Signal error now also if
1696         used module's public interface is not available.
1697         No longer call `beautify-user-module!'.
1698         Signal error now also if selected binding not found.
1699
1700 2001-05-10  Marius Vollmer  <mvo@zagadka.ping.de>
1701
1702         Merge from mvo-vcell-clenaup-1-branch.
1703
1704         * session.scm (apropos): Do not use `builtin-bindings', always use
1705         the module obarray.
1706         (apropos-fold): Likewise.
1707
1708         * optargs.scm (bound?): Removed.  We should not play games with
1709         the magical undefined value.
1710         (let-o-k-template): Use `#f' instead of the undefined value as
1711         the default default for bindings.
1712
1713         * boot-9.scm (module-make-local-var!): Do not pass name hint to
1714         make-undefined-variable, use `variable-set-name-hint!' instead.
1715         (root-module-closure): Removed.
1716         (make-root-module): Set the obarray of the module to the
1717         `pre-modules-obarray'.  Do not use a lazy binder.
1718         (scm-module-closure): Removed.
1719         (make-root-module): Set the obarray of the module to the
1720         `pre-modules-obarray'.  Do not use a lazy binder.  Set the
1721         eval-closure to a `standard-interface-eval-closure'.
1722         (module-define!): Do not pass name hint to make-variable, use
1723         `variable-set-name-hint!' instead.
1724         (make-modules-in, beautify-user-module, resolve-module): Moved
1725         towards the beginning of boot-9.scm, across the call to
1726         set-current-module that boots the module system.  These
1727         definitions need to be visible at the time of the first
1728         `set-current-module' call.
1729         (try-module-autoload): Define a `#f' before the call to
1730         set-current-module.  It is redefined later.
1731
1732         * debug.scm: Use `module-set!' instead of `variable-set!' to set
1733         insert `debug-options' into the-root-module.
1734         * format.scm: Likewise, for `format'.
1735
1736 2001-05-15  Marius Vollmer  <mvo@zagadka.ping.de>
1737
1738         * boot-9.scm (error-catching-repl): Call the E
1739         ("eval'er") procedure via call-with-values and call the P
1740         ("printer") for each produced value.  Thanks to Matthias Köppe!
1741
1742 2001-05-14  Martin Grabmueller  <mgrabmue@cs.tu-berlin.de>
1743
1744         * boot-9.scm (cond-expand): Reduce feature list to built-in
1745         features.
1746
1747 2001-05-14  Dirk Herrmann  <D.Herrmann@tu-bs.de>
1748
1749         * boot-9.scm (-1+, return-it, string-character-length, flags):
1750         Deprecated.
1751
1752 2001-05-11  Martin Grabmueller  <mgrabmue@cs.tu-berlin.de>
1753
1754         * boot-9.scm: Added `cond-expand' (SRFI-0) for portable feature
1755         checking.
1756
1757 2001-05-10  Thien-Thi Nguyen  <ttn@revel.glug.org>
1758
1759         * boot-9.scm (resolve-module): Abstraction maintenance: Use
1760         `module-public-interface'.
1761         (resolve-interface): Extend to handle selection and renaming in spec.
1762         Arg is now `spec' which can be a simple module name (list of symbols)
1763         or a interface spec.
1764         (symbol-prefix-proc): New proc.
1765         (%autoloader-developer-mode): Delete.
1766         (process-define-module): Use "define-module" in error messages
1767         instead of "defmodule".  Factor error into internal proc.
1768         Rewrite `use-module' and `use-syntax' handlers.
1769         Replace some single-arm `if-not' constructs w/ `or'.
1770         (process-use-modules): Arg is now `module-interface-specs',
1771         which is passed through to `resolve-interface' as before; nfc.
1772         (named-module-use!, top-repl): Abstraction maintenance: Use
1773         `provided?'.
1774
1775 2001-05-06  Thien-Thi Nguyen  <ttn@revel.glug.org>
1776
1777         * q.scm, runq.scm, getopt-long.scm: Update copyright.
1778         Surround commentary w/ standard markers; nfc.
1779
1780         * expect.scm: Update copyright.
1781         Fix commentary typo; nfc.
1782
1783 2001-05-05  Rob Browning  <rlb@cs.utexas.edu>
1784
1785         * psyntax.ss: make sure emacs knows it's scheme code.
1786
1787 2001-05-05  Neil Jerram  <neil@ossau.uklinux.net>
1788
1789         * boot-9.scm (use-syntax): Change error message to say
1790         `use-syntax' rather than `use-modules'.
1791
1792 2001-05-02  Martin Grabmueller  <mgrabmue@cs.tu-berlin.de>
1793
1794         * safe-r5rs.scm: Fix typo: make-rectangualr => make-rectangular.
1795
1796 2001-05-02  Marius Vollmer  <mvo@zagadka.ping.de>
1797
1798         * boot-9.scm (begin-deprecated): New.
1799         (call-with-deprecation): Removed.
1800         (id): Use `issue-deprecation-warning' instead of
1801         `call-with-deprecation'.  Wrap definition in `begin-deprecated'.
1802         (eval-in-module): Manifest deprecation via `begin-deprecation' and
1803         `issue-deprecation-warning'.
1804         (warn-autoload-deprecation): Deactivated.
1805
1806 2001-04-26  Marius Vollmer  <mvo@zagadka.ping.de>
1807
1808         * boot-9.scm (the-module, set-current-module, current-module):
1809         Removed, they are now defined in libguile.
1810
1811 2001-04-29  Gary Houston  <ghouston@arglist.com>
1812
1813         * rw.scm: new file, for module (ice-9 rw).
1814         * Makefile.am: add rw.scm.
1815
1816 2001-04-28  Thien-Thi Nguyen  <ttn@revel.glug.org>
1817
1818         * boot-9.scm, optargs.scm:
1819         Surround commentary w/ standard markers; nfc.
1820
1821         * threads.scm, time.scm, channel.scm, expect.scm:
1822         Add commentary; nfc.
1823
1824 2001-04-27  Thien-Thi Nguyen  <ttn@revel.glug.org>
1825
1826         * documentation.scm: Update copyright.
1827         Add commentary.
1828         Use `define-module' `:export' clause instead of `define-public'.
1829         Autoload (ice-9 regex) on `match:suffix'.
1830
1831         (default-in-line-re, default-after-line-re): New vars.
1832         (default-scrub): New proc.
1833         (file-commentary): New proc, exported.
1834         (object-documentation): Expand docstring; nfc.
1835
1836         * session.scm: Update copyright.
1837         Use (ice-9 rdelim).
1838
1839         (help): Consider a list of symbols that does not start with
1840         `quote' as a module name and call `module-commentary' on it.
1841         (module-filename, module-commentary): New procs.
1842         (id): Delete.
1843         (apropos): Use `identity' instead of deprecated `id'.
1844         (help-usage): Add blurb about "(help (my module))" support.
1845
1846 2001-04-27  Martin Grabmueller  <mgrabmue@cs.tu-berlin.de>
1847
1848         * Makefile.am (ice9_sources): Remove srfi-8.scm.
1849
1850 2001-04-26  Rob Browning  <rlb@cs.utexas.edu>
1851
1852         * srfi-8.scm: removed in favor of srfi/srfi-8.scm - (wasn't ever
1853         in a production release).
1854
1855 2001-04-25  Keisuke Nishida  <kxn30@po.cwru.edu>
1856
1857         * channel.scm: New file.
1858         * Makefile.am (ice9_sources): Include channel.scm.
1859
1860 2001-04-19  Keisuke Nishida  <kxn30@po.cwru.edu>
1861
1862         * receive.scm (receive): Use `define-macro'.
1863
1864 2001-04-15  Keisuke Nishida  <kxn30@po.cwru.edu>
1865
1866         * boot-9.scm (load-compiled): New variable, initialized in the VM.
1867         (try-module-autoload): Try loading compiled modules if applicable.
1868
1869 2001-04-15  Keisuke Nishida  <kxn30@po.cwru.edu>
1870
1871         * boot-9.scm (call-with-deprecation): New procedure.
1872         (identity): New procedure.
1873         (id): Deprecated.
1874
1875 2001-04-15  Keisuke Nishida  <kxn30@po.cwru.edu>
1876
1877         * boot-9.scm (defmacro, define-macro, define-syntax-macro):
1878         Define only at the top level.
1879
1880 2001-04-06  Thien-Thi Nguyen  <ttn@revel.glug.org>
1881
1882         * threads.scm: Update copyright.
1883
1884         Use `export' and `export-syntax' instead of
1885         `define-public' and `defmacro-public'.
1886
1887         (make-thread): Rename first arg to `proc'; nfc.
1888         (begin-thread, monitor): Rename second arg to `rest'; nfc.
1889         (with-mutex): Rename second arg to `body'; nfc.
1890
1891 2001-04-06  Neil Jerram  <neil@ossau.uklinux.net>
1892
1893         * boot-9.scm (warn-autoload-deprecation): Close parenthesis in
1894         "You just tried to autoload ..." message.
1895
1896 2001-04-05  Keisuke Nishida  <kxn30@po.cwru.edu>
1897
1898         * Makefile.am (ice9_sources): Add history.scm.
1899         * history.scm: Create the module (value-history) at the beginning.
1900
1901 2001-03-29  Marius Vollmer  <mvo@zagadka.ping.de>
1902
1903         * boot-9.scm (init-dynamic-module): Fix typo in call to
1904         warn-autoload-deprecation.  I feel silly.
1905
1906 2001-03-27  Marius Vollmer  <mvo@zagadka.ping.de>
1907
1908         * r4rs.scm (call-with-values): New definition, defers to
1909         @call-with-values.
1910
1911 2001-03-26  Marius Vollmer  <mvo@zagadka.ping.de>
1912
1913         * boot-9.scm (warn-autoload-deprecation): New function.
1914         (init-dynamic-module): Use it here to print warning.  Only give
1915         warning when a module has actually been found.
1916
1917 2001-03-25  Marius Vollmer  <mvo@zagadka.ping.de>
1918
1919         * boot-9.scm (init-dynamic-module): Issue warning about
1920         auto-loading of compiled code modules being deprecated.
1921
1922         * Makefile.am (ice9_sources): Added "time.scm".
1923
1924 2001-03-20  Keisuke Nishida  <kxn30@po.cwru.edu>
1925
1926         * time.scm (time): Reimplemented as a procedure call.
1927         (Thanks to Marius Vollmer)
1928
1929 2001-03-20  Keisuke Nishida  <kxn30@po.cwru.edu>
1930
1931         * safe-r5rs.scm (list): Export.
1932
1933 2001-03-17  Keisuke Nishida  <kxn30@po.cwru.edu>
1934
1935         * boot-9.scm (before-eval-hook, after-eval-hook,
1936         before-print-hook, after-print-hook): New hooks.
1937         (scm-style-repl): Call these hooks.
1938
1939         * history.scm: New file.
1940
1941 2001-03-17  Keisuke Nishida  <kxn30@po.cwru.edu>
1942
1943         * time.scm: New file.
1944
1945 2001-03-17  Dirk Herrmann  <D.Herrmann@tu-bs.de>
1946
1947         * oldprint.scm:  Removed.
1948
1949 2001-03-12  Mikael Djurfeldt  <mdj@linnaeus.mit.edu>
1950
1951         * arrays.scm (make-array): Added quote in front of ().
1952
1953 2001-03-12  Keisuke Nishida  <kxn30@po.cwru.edu>
1954
1955         * common-list.scm (count-if): New procedure.
1956
1957 2001-03-10  Neil Jerram  <neil@ossau.uklinux.net>
1958
1959         * buffered-input.scm (make-buffered-input-port): New, more general
1960         buffered input procedure.  Does not assume that a newline
1961         character should be interpolated between chunks of input returned
1962         by the reader proc.
1963         (make-line-buffered-input-port): Redefine in terms of
1964         make-buffered-input-port.
1965
1966 2001-03-09  Keisuke Nishida  <kxn30@po.cwru.edu>
1967
1968         * match.scm: Don't export defstruct.  Use (unquote defstruct) instead.
1969
1970 2001-03-09  Mikael Djurfeldt  <mdj@linnaeus.mit.edu>
1971
1972         * Makefile.am (psyntax.pp): Added rule for producing psyntax.pp.
1973
1974 2001-03-09  Keisuke Nishida  <kxn30@po.cwru.edu>
1975
1976         * match.scm: export defstruct.
1977
1978 2001-03-08  Mikael Djurfeldt  <mdj@linnaeus.mit.edu>
1979
1980         * psyntax.ss: Added FSF copyright notice.  Added a notice of
1981         changes in order to comply with paragraph 2a of the GPL.  (Thanks
1982         to Keith Wright.)
1983
1984 2001-03-07  Neil Jerram  <neil@ossau.uklinux.net>
1985
1986         * buffered-input.scm (make-line-buffered-input-port): Don't set
1987         the continuation flag for leading whitespace.  Thanks to Dirk
1988         Herrmann for the suggestion.
1989
1990 2001-03-05  Neil Jerram  <neil@ossau.uklinux.net>
1991
1992         * optargs.scm (rest-arg->keyword-binding-list): Use "'()" instead
1993         of "()".
1994
1995         * buffered-input.scm: New file, with guts of line buffered input
1996         port implementation extracted from guile-readline/readline.scm.
1997
1998 2001-03-03  Mikael Djurfeldt  <mdj@linnaeus.mit.edu>
1999
2000         * stack-catch.scm: New file.
2001
2002         * Makefile.am (ice9_sources): Added stack-catch.scm.
2003
2004 2001-03-03  Marius Vollmer  <mvo@zagadka.ping.de>
2005
2006         * boot-9.scm, rdelim.scm: Use "'()" instead of "()" in all places
2007         where the empty list is meant.
2008
2009 2001-02-26  Mikael Djurfeldt  <mdj@linnaeus.mit.edu>
2010
2011         * boot-9.scm (save-stack): Use `primitive-eval' for stack
2012         cutting.  Makes backtraces work again!  Also added a reference to
2013         save-stack from the place in the repl where the primitive-eval
2014         frame is invoked.
2015
2016 2001-02-25  Keisuke Nishida  <kxn30@po.cwru.edu>
2017
2018         * match.scm: New file, including Andrew K. Wright's pattern matcher.
2019         * Makefile.am (ice9_sources): Added match.scm.
2020
2021 2001-02-16  Marius Vollmer  <mvo@zagadka.ping.de>
2022
2023         * boot-9.scm (eval-when, eval-case): Renamed `eval-when' to
2024         `eval-case', everywhere.
2025
2026 2001-02-13  Marius Vollmer  <mvo@zagadka.ping.de>
2027
2028         * boot-9.scm (define-public): Removed spurious call to
2029         `interaction-evironment'.
2030         (define-public, defmacro-public): Use `export' instead of explicit
2031         module magic.
2032         (eval-when): New macro.
2033         (define-module, use-modules, use-syntax, export): Use it to
2034         restrict the use of these forms to the top level.
2035         (define-public, defmacro-public): Only export binding when on
2036         top-level.
2037         (process-define-module): Call `set-current-module' with the
2038         defined module.
2039         (define-module): Simply call `process-define-module' without any
2040         fuss (but only on top-level).
2041         (named-module-use!): New function.
2042         (top-repl): Do not use `define-module'.  Use equivalent low-level
2043         means instead.
2044
2045 2001-02-11  Marius Vollmer  <mvo@zagadka.ping.de>
2046
2047         * boot-9.scm (scm-style-repl): Use `primitive-eval' instead of
2048         `eval'.
2049         (define-public): Do not use `eval'.
2050
2051 2001-02-08  Marius Vollmer  <marius.vollmer@uni-dortmund.de>
2052
2053         * and-let-star-compat.scm: Display the warning to the
2054         `current-error-port'.
2055
2056 2001-02-04  Marius Vollmer  <mvo@zagadka.ping.de>
2057
2058         Avoid the use of "*" in file names for the benefit of lesser
2059         operating systems.
2060
2061         * and-let-star.scm, and-let*.scm: Renamed `and-let*.scm' to
2062         `and-let-star.scm'.  Updated module name as well.
2063         * and-let-star-compat.scm: New file, installed as `and-let*.scm'.
2064         * Makefile.am (ice9_sources): Replaced "and-let*.scm" with
2065         "and-let-star.scm".
2066         (install-data-local): Install "and-let-star-compat.scm" as
2067         "and-let*.scm", ignoring errors.
2068         (EXTRA_DIST): Distribute `and-let-star-compat.scm'.
2069
2070 2001-01-26  Dirk Herrmann  <D.Herrmann@tu-bs.de>
2071
2072         This patch fixes a problem reported by Martin Grabmueller about
2073         the impossibility to access readline's run-time options.
2074
2075         * boot-9.scm (define-option-interface):  New macro.  Allows to
2076         conveniently define a group of option interface functions.
2077
2078         (readline-options readline-enable readline-disable,
2079         readline-set!):  Moved to guile-readline/readline.scm.
2080
2081 2001-01-24  Gary Houston  <ghouston@arglist.com>
2082
2083         * boot-9.scm: don't import (ice-9 rdelim) here.  it's done
2084         in C for now.
2085         * rdelim.scm: export the C primitives too.
2086         * documentation.scm: use (ice-9 rdelim).
2087
2088 2001-01-21  Gary Houston  <ghouston@arglist.com>
2089
2090         * rdelim.scm: new file implementing module (ice-9 rdelim).
2091         * ice-9.scm (scm-line-incrementors read-line! read-delimited!
2092         read-delimited read-line): moved to rdelim.scm.
2093         scm-line-incrementors is not exported.
2094         * boot-9.scm: import (ice-9 rdelim) for backwards compatibility,
2095         for now.
2096         * lineio.scm: use module (ice-9 rdelim).
2097         * Makefile.am (ice9_sources): add rdelim.scm.
2098
2099 2000-12-29  Dirk Herrmann  <D.Herrmann@tu-bs.de>
2100
2101         * boot-9.scm (root-module-closure, scm-module-closure):  Remove
2102         calls '(symbol-interned? #f s)'.  Formerly, these calls were
2103         basically no-ops, guaranteed to return #t if 's' was a symbol.
2104         After the separation of symbols and bindings, a call to
2105         '(symbol-interned? #f s)' will only return #t if there really is a
2106         binding for 's' in the scm_symhash table.  Thanks to Dale P. Smith
2107         for providing a test case that helped finding this bug.
2108
2109 2000-12-13  Dirk Herrmann  <D.Herrmann@tu-bs.de>
2110
2111         * session.scm (apropos):  Completed the last patch, which did only
2112         half the job.  Thanks to Dale P. Smith.
2113
2114 2000-12-12  Dirk Herrmann  <D.Herrmann@tu-bs.de>
2115
2116         * session.scm (apropos, apropos-fold):  There are no weak bindings
2117         any more.
2118
2119 2000-12-12  Dirk Herrmann  <D.Herrmann@tu-bs.de>
2120
2121         * boot-9.scm (top-repl):  Lookup 'use-emacs-interface in
2122         the-root-module.
2123
2124 2000-12-07  Neil Jerram  <neil@ossau.uklinux.net>
2125
2126         * emacs.scm (flush-whitespace): Fix spelling typo ("recieving").
2127
2128 2000-11-28  Dirk Herrmann  <D.Herrmann@tu-bs.de>
2129
2130         * boot-9.scm (read-delimited), lineio.scm
2131         (make-line-buffering-input-port), regex.scm (match:prefix,
2132         match:suffix, match:substring, regexp-substitute/global), slib.scm
2133         (slib-parent-dir), string-fun.scm (split-after-char,
2134         split-before-char, split-discarding-char, split-after-char-last,
2135         split-before-char-last, split-discarding-char-last,
2136         split-before-predicate, split-after-predicate,
2137         split-discarding-predicate, separate-fields-discarding-char,
2138         separate-fields-after-char, separate-fields-before-char,
2139         string-prefix-predicate, sans-surrounding-whitespace,
2140         sans-trailing-whitespace, sans-leading-whitespace,
2141         sans-final-newline):  Use substring instead of
2142         make-shared-substring.
2143
2144 2000-11-26  Gary Houston  <ghouston@arglist.com>
2145
2146         * boot-9.scm: values?, get-values, values, call-with-values:
2147         removed.  values and call-with-values are now primitives and
2148         the other two were only exported by accident.  don't define
2149         *values-rtd* record type or handle multiple values in
2150         scm-style-repl.
2151
2152 2000-11-07  Gary Houston  <ghouston@arglist.com>
2153
2154         * popen.scm (open-output-pipe): added docstrings for open-input-pipe
2155         and open-output-pipe.
2156
2157 2000-11-06  Gary Houston  <ghouston@arglist.com>
2158
2159         * popen.scm (open-process): bug fix: don't use
2160         close-all-ports-except to close ports in the child process, since
2161         it causes port buffers to be flushed.  they may be flushed again
2162         in the parent, causing duplicate output.  use a more elaborate
2163         method for setting up the child descriptors (thanks to David
2164         Pirotte for the bug report).
2165         standard file descriptors 0, 1, 2 in the child process
2166         are now set up from current-input-port etc., where possible.
2167
2168 2000-10-10  Dirk Herrmann  <D.Herrmann@tu-bs.de>
2169
2170         * syncase.scm (eval):  string=? requires a string argument.
2171         Thanks to Dale P. Smith for the patch.
2172
2173 2000-10-15  Neil Jerram  <neil@ossau.uklinux.net>
2174
2175         * optargs.scm: Fix typos in commentary for bound? and lambda*.
2176
2177 2000-10-10  Dirk Herrmann  <D.Herrmann@tu-bs.de>
2178
2179         * session.scm (apropos, apropos-fold):  regexp-exec does not
2180         accept symbol arguments any more.  Thanks to Dale P. Smith for the
2181         patch.
2182
2183 2000-09-30  Gary Houston  <ghouston@arglist.com>
2184
2185         * posix.scm (setgrent): pass #t, not #f.  thanks to
2186         Jacques A. Vidrine.
2187
2188 2000-09-29  Neil Jerram  <neil@ossau.uklinux.net>
2189
2190         * documentation.scm (find-documentation-in-file): Modified
2191         according to changed format of guile-procedures.txt caused by my
2192         snarfing/makeinfo changes in libguile.
2193
2194         * session.scm (help-doc): Improvements to (help) output: (i) a
2195         friendlier Emacs-style introduction line; (ii) where the help arg
2196         matches multiple documented entries, print an initial list of the
2197         entries for which documentation is found, before printing the
2198         actual documentation entries themselves.
2199
2200 2000-09-20  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
2201
2202         * boot-9.scm: Removed comment.  (Thanks to Brad Knotwell.)
2203
2204 2000-09-12  Dirk Herrmann  <D.Herrmann@tu-bs.de>
2205
2206         * syncase.scm (putprop):  Use the high-level property interface.
2207
2208 2000-09-12  Mikael Djurfeldt  <mdj@linnaeus.mit.edu>
2209
2210         * psyntax.ss (build-lexical-var): Use gentemp instead of gensym;
2211         Convert first argument to a string.
2212
2213         * calling.scm (excursion-function-syntax,
2214         getter-and-setter-syntax,
2215         delegating-getter-and-setter-syntax): Call gensym with string
2216         argument.  (Thanks to Dale P. Smith.)
2217
2218         * oldprint.scm (print-table-add!): Ditto.
2219
2220         * boot-9.scm (gentemp): Moved to symbols.c.
2221
2222 2000-08-27  Marius Vollmer  <mvo@zagadka.ping.de>
2223
2224         * boot-9.scm (make-object-property): New function.
2225
2226 2000-08-26  Mikael Djurfeldt  <mdj@linnaeus.mit.edu>
2227
2228         * boot-9.scm (make-record-type): Use `string-append' instead of
2229         `symbol-append'.
2230         (symbol-append): Map `symbol->string' on
2231         args.
2232         (obarray-symbol-append, obarray-gensym): Simply removed.  I don't
2233         think I'll announce this in NEWS even.  One of the functions never
2234         even worked...  /mdj.
2235         (find-and-link-dynamic-module, keyword->symbol): Use
2236         `symbol->string'.
2237         (try-module-autoload, process-define-module): Rewrote using R5RS
2238         semantics.
2239
2240 2000-08-24  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
2241
2242         * psyntax.ss (set!): Added generalized set! support to core syntax
2243         form set!.
2244
2245 2000-08-19  Marius Vollmer  <mvo@zagadka.ping.de>
2246
2247         * optargs.scm (#\&): Changed #:allow-other-keys-value to
2248         #:allow-other-keys.  Thanks to Bill Schottstaedt!
2249
2250 2000-08-17  Marius Vollmer  <mvo@zagadka.ping.de>
2251
2252         * optargs.scm (#\&): Emit warning about `#&' being deprecated.
2253
2254 2000-08-16  Marius Vollmer  <mvo@zagadka.ping.de>
2255
2256         * optargs.scm: Replaced `#&' reader syntax with keywords.
2257
2258 2000-08-14  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
2259
2260         * format.scm (format:obj->str): Made tail-recursive.  (Thanks to
2261         Matthias Köppe.)
2262
2263 2000-08-13  Mikael Djurfeldt  <mdj@linnaeus.mit.edu>
2264
2265         * psyntax.ss (top-level-eval-hook, local-eval-hook): Pass
2266         `(interaction-environment)' as second arg to `eval'.  This is
2267         completely equivalent with the state before the change to eval of
2268         2000-08-11, but we should extend psyntax.ss to be module aware.
2269         (Thanks to Ian Bicking.)
2270
2271         * emacs.scm (emacs-symdoc): Parenthesis fix.
2272
2273 2000-08-11  Mikael Djurfeldt  <mdj@linnaeus.mit.edu>
2274
2275         * r5rs.scm (interaction-environment): Removed definition.  (Is now
2276         provided by libguile/modules.c.)
2277
2278         * safe-r5rs.scm (null-environment): Bugfix: Should include
2279         syntactic bindings.
2280
2281         * boot-9.scm (record-constructor, record-accessor,
2282         record-modifier, scm-style-repl): Add second arg to eval.
2283         (read-hash-extend #\.): Ditto.  (This is actually a bugfix!)
2284         (eval-in-module): Redefined to be eval and deprecated.
2285
2286         * syncase.scm (eval): Add second arg both in definition and use.
2287
2288         * slib.scm (slib:eval): Use eval instead of eval-in-module.
2289         (defmacro:eval): Eval in (interaction-environment).
2290
2291         * safe-r5rs.scm (eval): Removed definition.
2292
2293         * emacs.scm (emacs-eval-request):
2294         (emacs-symdoc): (This procedure needs updating!)
2295
2296 2000-08-10  Mikael Djurfeldt  <mdj@linnaeus.mit.edu>
2297
2298         * boot-9.scm: Added note about dependency in modules.h to
2299         definition of module-type.
2300
2301         * Makefile.am (ice9_sources): Added receive.scm, srfi-8.scm.
2302
2303         * receive.scm, srfi-8.scm: New files.
2304
2305         * boot-9.scm (scm-style-repl): Print multiple values on successive
2306         lines.
2307         (process-define-module): Bugfix: Make sure that exports are done
2308         *after* all used interfaces has been added.
2309
2310 2000-07-24  Marius Vollmer  <mvo@zagadka.ping.de>
2311
2312         * common-list.scm (uniq): Made tail-recursive.  Thanks to thi!
2313
2314 2000-07-13  Dirk Herrmann  <D.Herrmann@tu-bs.de>
2315
2316         * boot-9.scm (expt):  In case of negative integer exponents return
2317         an exact result if the input paramters were exact.  Thanks to
2318         Mikael for the suggestion.
2319
2320 2000-07-12  Dirk Herrmann  <D.Herrmann@tu-bs.de>
2321
2322         * boot-9.scm (expt):  Make sure that integer-expt is only called
2323         if the exponent is a non-negative integer.
2324
2325 2000-07-01  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
2326
2327         * boot-9.scm (process-define-module): Bugfix: Only check the CDR
2328         for export args.
2329
2330 2000-06-27  Dirk Herrmann  <D.Herrmann@tu-bs.de>
2331
2332         * popen.scm:  gc-thunk is deprecated.  Use after-gc-hook instead.
2333
2334 2000-06-16  Dirk Herrmann  <D.Herrmann@tu-bs.de>
2335
2336         * common-list.scm (intersection, set-difference, remove-if,
2337         remove-if-not):  Made tail-recursive.  Thanks to William Webber
2338         for the hint.
2339
2340         (delete-if!, delete-if-not!):  Renamed parameter from `list' to
2341         `l' in order to avoid confusion.  Note:  These functions are not
2342         tail recursive yet.
2343
2344 2000-06-21  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
2345
2346         * boot-9.scm: Turned `the-module', `*top-level-lookup-closure*',
2347         and `scm:eval-transformer' into fluids.
2348
2349         * boot-9.scm (purify-module!, module-export!): New procedures.
2350         (export): Rewritten using `module-export!'.
2351         (process-define-module): New define-module options: pure, export.
2352         See NEWS.
2353         (scm-style-repl): Added optional module argument.
2354
2355         * null.scm, r5rs.scm, safe-r5rs.scm, safe.scm: New modules.
2356
2357 2000-06-20  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
2358
2359         * session.scm (make-fold-modules): Detect circular references in
2360         module graph.  (Thanks to Matthias Köppe.)
2361
2362 2000-06-20  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
2363
2364         * session.scm: Use module (ice-9 regex).
2365         (help): Regexp-quote a name given as a symbol.
2366
2367 2000-06-16  Dirk Herrmann  <D.Herrmann@tu-bs.de>
2368
2369         * common-list.scm (list*):  Removed, since this function is
2370         implemented as a primitive in libguile/list.c.
2371
2372 2000-06-12  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
2373
2374         * session.scm (help): Warn user if 'regex isn't provided.
2375
2376         * Makefile.am (ice9_sources): Removed getopt-gnu-style.scm.
2377
2378         * getopt-gnu-style.scm: Removed deprecated module.
2379
2380 2000-06-11  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
2381
2382         * boot-9.scm (make-autoload-interface): Set init value for uses to
2383         '() instead of #f.
2384         (make-modules-in): Name modules with their real (= full) names.
2385         (the-root-module, the-scm-module): Named `(guile)' instead of
2386         `the-root-module'.
2387         (the-scm-module): Set kind to 'interface.
2388
2389         * Makefile.am (ice9_sources): Replaced doc.scm with
2390         documentation.scm.
2391
2392         * session.scm (ice-9): Use module (ice-9 documentation).
2393         (name): Use the name property if everything else fails.
2394         (apropos-fold): New procedure.
2395         (apropos-internal): Re-implement in terms of `apropos-fold'.
2396         (help): Rewritten.
2397
2398         * doc.scm: Removed module (ice-9 doc).
2399
2400         * documentation.scm: New module (ice-9 documentation).
2401
2402 2000-06-08  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
2403
2404         * doc.scm (documentation-files): Renamed from `doc-files'.
2405         (write-all): Removed.
2406         (find-documentation): Renamed from `documentation'.  Return
2407         documentation string instead of printing it.  Not exported.
2408
2409 Tue Jun  6 09:21:28 2000  Greg J. Badros  <gregb@go2net.com>
2410
2411         * session.scm: Update references to `proc-doc' to be
2412         `proc-documentation'
2413
2414         * doc.scm: Cleaned up a great deal.  Put variables at the top of
2415         the file, eliminated `object-documentation' that was broken
2416         (referencing Scwm), drop `help' as session.scm has a better
2417         supported version of that procedure. Rename `proc-doc' to
2418         `proc-documentation' -- `procedure-documentation' is a primitive
2419         getter function, so I use the shorter name for this more useful
2420         function.  (Alternatively, we could rename the primitive
2421         getter...)
2422
2423 2000-06-05  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
2424
2425         * boot-9.scm (error-catching-loop): Inform about debugger on error.
2426
2427 2000-06-04  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
2428
2429         * boot-9.scm (scm-module-closure): New procedure: Was previously
2430         anonymous.  Now needed in modules.c.
2431         (make-module): Use `standard-eval-closure' to create the eval
2432         closure.
2433
2434 2000-05-14  Gary Houston  <ghouston@arglist.com>
2435
2436         * boot-9.scm (load-user-init): rewritten.  first work out the home
2437         directory and then try to open the file (previously it could try
2438         to open a file in more than one place).  catch exceptions when
2439         trying to get a directory from the user database.  don't check
2440         that ~/.guile is not a directory before trying to load it (a lack
2441         of ~/.guile is not a crime, but if the file is not valid for any
2442         reason then primitive-load will raise an error).
2443
2444 2000-05-11  Dirk Herrmann  <D.Herrmann@tu-bs.de>
2445
2446         * boot-9.scm (abs):  Don't set to magnitude.  abs now does not
2447         accept complex numbers as parameter.
2448
2449 2000-05-09  Marius Vollmer  <mvo@zagadka.ping.de>
2450
2451         * common-list.scm (delete-if-not!): Bug fix of bug fix: change
2452         label of named let to `delete-if-not'.  Sorry.
2453
2454 2000-05-08  Marius Vollmer  <mvo@zagadka.ping.de>
2455
2456         * common-list.scm (doc fixes): Talk about `true values' instead of
2457         `#t' when a function treats all non-#f valuers the same.
2458         (remove-if-not): Bug fix: call remove-if-not
2459         instead of remove-if when iterating.
2460         (delete-if-not!): Bug fix: call delete-if-not! instead of
2461         delete-if! when iterating.
2462
2463 2000-04-16  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
2464
2465         * r4rs.scm (close-input-port, close-output-port): Removed.
2466
2467 2000-04-13  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
2468
2469         * session.scm (help): New macro.  Prints helpful information.
2470
2471 2000-04-10  Gary Houston  <ghouston@arglist.com>
2472
2473         * popen.scm (open-process): after forking, close all ports except
2474         the end of the pipe to the parent.  otherwise move->fdes and
2475         the exec'd program and the exit handlers can interfere with file
2476         descriptors still in use in parent ports.
2477
2478 2000-04-09  Gary Houston  <ghouston@arglist.com>
2479
2480         * popen.scm (close-process-quietly): new procedure.  use it from
2481         reap-pipes to avoid errors or hanging during background cleanup.
2482
2483 2000-04-04  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
2484
2485         * format.scm (format:obj->str): Handle circular references.  Also,
2486         print improper lists with (x y . z) syntax rather than as
2487         individual pairs.  (This code should probably be integrated into C
2488         level facilities.  It is currently terribly slow.)
2489
2490 2000-04-03  Michael Livshin  <mlivshin@bigfoot.com>
2491
2492         * streams.scm (stream-fold, stream-for-each): don't use named let,
2493         because it prevents the gc from junking the stream argument.
2494
2495 Thu Mar  9 08:05:08 2000  Greg J. Badros  <gjb@cs.washington.edu>
2496
2497         * slib.scm: Back-out change to software-type -- renamed
2498         slib:software-type to software-type, and leave it non-public.
2499
2500 Thu Mar  2 12:20:52 2000  Greg J. Badros  <gjb@cs.washington.edu>
2501
2502         * boot-9.scm: Drop unused definition of sfx function -- thanks
2503         Dirk Hermann!
2504
2505 Wed Mar  1 12:21:02 2000  Greg J. Badros  <gjb@cs.washington.edu>
2506
2507         * streams.scm: Doc patch from Richard Kim, using MIT Scheme as
2508         source of the numerous very short changes.
2509
2510 Sun Feb 13 18:03:19 2000  Greg J. Badros  <gjb@cs.washington.edu>
2511
2512         * slib.scm: Rename software-type to slib:software-type and make it
2513         public.
2514
2515         * r4rs.scm: Added documentation; largely cut and pasted from R4RS
2516         info pages.
2517
2518 Sun Feb 13 17:49:29 2000  Greg J. Badros  <gjb@cs.washington.edu>
2519
2520         * common-list.scm: Added documentation; largely cut and pasted
2521         from slib docs.
2522
2523 2000-02-11  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
2524
2525         * format.scm (format): Reintroduce (define format format:format)
2526         so that the binding in the public interface of the module will be OK.
2527
2528 2000-01-30  Gary Houston  <ghouston@arglist.com>
2529
2530         * boot-9.scm (find-and-link-dynamic-module): pass strings, not symbols,
2531         to string-append.
2532
2533 2000-01-29  Gary Houston  <ghouston@arglist.com>
2534
2535         * expect.scm (expect): don't call char-ready? before expect-select,
2536         since select now checks port buffers itself.  don't bother to check
2537         the time first either, since expect-select does it.
2538
2539 Thu Jan 20 12:57:36 2000  Greg J. Badros  <gjb@cs.washington.edu>
2540
2541         * format.scm: Use (variable-set! (builtin-variable 'format)) to
2542         re-define format to be format:format (instead of just define,
2543         which interacts poorly with the module system).  Thanks to Shuji
2544         Narazaki for this change.
2545
2546 Tue Jan 11 10:49:22 2000  Greg J. Badros  <gjb@cs.washington.edu>
2547
2548         * boot-9.scm expect.scm, syncase.scm: Switch to new style
2549         `simple-format' message strings: substitute ~A for %s, and ~S for
2550         %S.
2551
2552         * boot-9.scm:  Added (define format simple-format) to expose that
2553         primitive via the simpler name until format.scm is loaded.
2554
2555 2000-01-09  Marius Vollmer  <mvo@zagadka.ping.de>
2556
2557         * boot-9.scm (try-using-libtool-name): Do not bother to look
2558         inside libtool ".la" file, dynamic-link does this for us now.
2559
2560 1999-12-15  Gary Houston  <ghouston@freewire.co.uk>
2561
2562         * slib.scm (library-vicinity, home-vicinity,
2563         scheme-implementation-type, scheme-implemenation-version):
2564         use define-public to export from the module.
2565
2566 Wed Dec 15 08:32:09 1999  Greg J. Badros  <gjb@cs.washington.edu>
2567
2568         * doc.scm: Use `%library-dir' and the other system directories,
2569         not the quickly defuncted `library-dir' that I added before
2570         realizing the former existed.  Thanks Brad Knotwell!
2571
2572 Sun Dec 12 19:18:52 1999  Greg J. Badros  <gjb@cs.washington.edu>
2573
2574         * Makefile.am, doc.scm: Added doc.scm.
2575
2576 1999-12-12 18:54:06 1999  Greg J. Badros  <gjb@cs.washington.edu>
2577
2578         * popen.scm, slib.scm: Added some docstrings for procedures that
2579         were primitives that I encountered in posix.texi.
2580
2581 1999-11-19  Gary Houston  <ghouston@freewire.co.uk>
2582
2583         * Makefile.am (ice9_sources): add arrays.scm.
2584
2585         * boot-9.scm: load arrays.scm if 'array is provided.
2586
2587         * arrays.scm: new file with stuff from boot-9.scm.
2588
2589 1999-11-18  Gary Houston  <ghouston@freewire.co.uk>
2590
2591         * boot-9.scm (read-hash-extend to set up arrays): add 'l' for
2592         long_long uniform vectors.
2593
2594 1999-11-17  Gary Houston  <ghouston@freewire.co.uk>
2595
2596         * networking.scm (sethostent, setnetent, setprotoent, setservent):
2597         take an optional argument STAYOPEN.  default is #f.
2598
2599 1999-10-05  Jim Blandy  <jimb@savonarola.red-bean.com>
2600
2601         * Makefile.in: Deleted from CVS repository.  Run the autogen.sh
2602         script to create generated files like this one.
2603
2604 1999-09-23  Gary Houston  <ghouston@freewire.co.uk>
2605
2606         * boot-9.scm (load-user-init): check that the posix feature is
2607         available before using getpw and getuid.
2608         (top-repl): don't install handlers for SIGINT etc., without posix.
2609         (file-is-directory?): use 'posix instead of i/o-extensions to
2610         check for stat.
2611         (load-user-init): use file-exists? and file-is-directory? to
2612         check for .guile, instead of stat.
2613         (file-is-directory?): don't display the file name if posix not
2614         available.
2615         (feature?): I guess this is deprecated.  redefined using "provided?"
2616         and changed users in boot-9.scm to "provided?".
2617         Conditionally load posix.scm and networking.scm.
2618
2619         posix.scm, networking.scm: new files.  Move definitions from
2620         boot-9.scm if they are only useful with posix/networking available.
2621
2622         * Makefile.am (ice9_sources): add posix.scm, networking.scm.
2623
2624 1999-09-17  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
2625
2626         * debugger.scm (read-and-dispatch-commands): Handle other throws
2627         than 'exit-debugger.
2628
2629         * boot-9.scm (before-signal-stack): New fluid.
2630         (top-repl): Set before-signal-stack in the signal handler.
2631
2632         * debugger.scm (eval-handler): Handle unhandled exceptions.
2633
2634 1999-09-16  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
2635
2636         * debugger.scm ("p"): New alias for "evaluate";
2637         Mark module with :no-backtrace.
2638         ("position"): New command.
2639         (source-position, display-position): New procedures.
2640         (display-source): Display position of expression, if available.
2641         (catch-user-errors): Return #f on error.  (Commands are expected
2642         to return a valid state.)
2643         (read-and-dispatch-command): Bugfix: Return old state on error.
2644
2645 1999-09-16  Jim Blandy  <jimb@savonarola.red-bean.com>
2646
2647         * regex.scm (regexp-substitute/global): Handle the end of the
2648         match list and an empty match list identically.  (Thanks to Greg
2649         Badros.)
2650
2651 1999-09-15  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
2652
2653         * debugger.scm ("evaluate"): Replaced `write-line' with calls to
2654         `write' and `newline' since write-line doesn't write but displays.
2655
2656 1999-09-12  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
2657
2658         * debugger.scm ("evaluate"): Newline after no env announcement.
2659
2660         * debug.scm, emacs.scm: Updated copyright notices.
2661
2662         * boot-9.scm (make-autoload-interface): Bugfix.
2663         (top-repl): Autoload debugger.
2664
2665         * debugger.scm ("backtrace"): Don't pass length param to
2666         display-backtrace if it wasn't explicitly given by the user.
2667         (write-frame-long/application): Also print corresponding source
2668         expression.
2669         ("evaluate"): Evaluate in local environment frame, if existent;
2670         Handle errors.
2671
2672 1999-09-11  Jim Blandy  <jimb@savonarola.red-bean.com>
2673
2674         * format.scm (format:format-work): Use #\tab and #\page instead of
2675         slib:form-feed and slib:tab.  (Thanks to Ceri Storey.)
2676
2677         * format.scm (format:abort): Call error, not slib:error.
2678
2679 1999-09-11  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
2680
2681         * boot-9.scm (using-readline?): New procedure: Returns #t if
2682         readline is used by the repl run by this thread.
2683         (handle-system-error): Print "Backtrace:" before backtrace since
2684         this is no longer done by display-backtrace.
2685
2686         * debug.scm (frame-number->index): Optionally take stack as
2687         argument.
2688
2689         * debugger.scm: Use the frame number abstraction which allows for
2690         both forward and backward views of the stack
2691         (write-frame-index-short, write-frame-index-long):
2692         Use selector `frame-number';
2693         (select-frame-absolute): Use frame-number->index.
2694         ("backtrace"): Use builtin backtrace printing.
2695         Use (ice-9 debug).
2696         Use readline conditionally.
2697
2698 1999-09-11  Jim Blandy  <jimb@savonarola.red-bean.com>
2699
2700         * regex.scm (fold-matches, list-matches): New functions.
2701         (regexp-substitute/global): Rewritten again in terms of
2702         list-matches, to get null match behavior correct.
2703
2704         * regex.scm (regexp-substitute/global): Rewrite so that 'post at
2705         the end of the item list actually causes a tail call.  (Thanks to
2706         Jan Nieuwenhuizen.)
2707
2708 1999-09-11  Marius Vollmer  <mvo@zagadka.ping.de>
2709
2710         * readline.scm: Moved to ../guile-readline.
2711
2712         * boot-9.scm (top-repl): Removed code for activating readline.
2713
2714         * Makefile.am: Removed mention of readline.scm.
2715
2716         * Makefile.in: Regenerated.
2717
2718 1999-09-11  Jim Blandy  <jimb@savonarola.red-bean.com>
2719
2720         Delete the test which compares the configuration date of libguile
2721         with the configuration date of ice-9.  This test yields too many
2722         false positives to be helpful.  For example, if you build Guile
2723         for several architectures but have them all share a "share"
2724         directory (which is supposed to work), then all but one
2725         architecture's Guile will complain that the configuration dates
2726         don't match.  Which is true, but indicates nothing wrong.
2727         * boot-9.scm: Delete code which compares ice-9-config-stamp with
2728         libguile-config-stamp.
2729         * version.scm.in: Delete.
2730         * Makefile.am (ice9_generated): Delete.
2731         (subpkgdata_DATA): Remove ice9_generated.
2732         (EXTRA_DIST): Remove version.scm.in.
2733         * Makefile.in: Regenerate.
2734
2735 1999-09-11  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
2736
2737         * debugger.scm: New file: Initial version of the Guile debugger
2738         written by Chris Hanson.  (The debugger isn't finished, but is
2739         included in Guile anyway since it is already quite useful.)
2740
2741         * boot-9.scm (top-repl): Use (ice-9 debug) (ice-9 debugger) (ice-9
2742         session) (ice-9 threads) (ice-9 regex) from guile-user only if
2743         top-repl is called.  This makes startup time for scripts 30% of
2744         what it was before...  Removed redundant code for loading of
2745         readline.
2746
2747         * Makefile.am (ice9_sources): Added debugger.scm.
2748
2749 1999-08-29  Keisuke Nishida  <kxn30@po.cwru.edu>
2750
2751         * boot-9.scm (try-module-autoload): Use %search-load-path.
2752
2753 1999-08-24  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
2754
2755         * boot-9.scm: Removed old style hooks.
2756         (inherit-print-state): Rwwritten to use port-with-print-state.
2757
2758 1999-08-20  James Blandy  <jimb@mule.m17n.org>
2759
2760         Remove support for the #/ path list syntax entirely.
2761         * boot-9.scm (read-path-list-notation,
2762         read-path-list-notation-warning): Deleted.
2763         Don't register read-path-list-notation-warning as a reader for
2764         objects starting with '#/'.
2765
2766 1999-08-05  Mikael Djurfeldt  <mdj@thalamus.nada.kth.se>
2767
2768         GOOPS needs the observer protocol specified for the new module
2769         system.  Here's a simple version for the old module system:
2770         * boot-9.scm (module-observers, module-weak-observers,
2771         module-observer-id, set-module-observers!,
2772         set-module-observer-id!): New accessors.
2773         (module-type): Added slots `observers', `weak-observers' and
2774         `observer-id'.
2775         (module-observe, module-observe-weak, module-unobserve,
2776         module-modified): New procedures.
2777         (module-make-local-var!, module-add!, module-remove!,
2778         module-clear!, module-define!, module-use!): Call module-modified.
2779
2780 1999-07-29  Marius Vollmer  <mvo@zagadka.ping.de>
2781
2782         * boot-9.scm (error-catching-loop): Correct non-RnRS usage of internal
2783         defines.
2784
2785 1999-07-19  Jim Blandy  <jimb@savonarola.red-bean.com>
2786
2787         * streams.scm: New module, contributed by Michael Livshin.
2788         * Makefile.am (ice9_sources): List it.
2789         * Makefile.in: Regenerated.
2790
2791         * boot-9.scm (read-delimited!): Put the terminator in the correct
2792         position.
2793
2794 1999-06-29  Mikael Djurfeldt  <mdj@mdj-pc.nada.kth.se>
2795
2796         * readline.scm: Bugfix: Avoid getting the continued-lines prompt
2797         at multiple calls to read.
2798         (promtp2): Variable for continued-lines prompt.
2799         (make-readline-port): Use prompt2.
2800         (set-readline-prompt!): New optional arg which sets
2801         continued-lines prompt.
2802
2803         * boot-9.scm (top-repl): Set/clear readline prompts before/after
2804         reading expressions.
2805
2806 1999-06-18  Jim Blandy  <jimb@savonarola.red-bean.com>
2807
2808         * ls.scm (ls, lls): Handle no arguments as meaning to look in
2809         `(current-module)'. (Patch from Thien-Thi Nguyen.)
2810
2811 1999-06-14  Jim Blandy  <jimb@savonarola.red-bean.com>
2812
2813         * string-fun.scm (split-before-predicate, split-after-predicate,
2814         split-discarding-predicate): Make these public.  (Thanks to
2815         Thien-Thi Nguyen.)
2816
2817         1999-06-13  Gary Houston  <ghouston@easynet.co.uk>
2818
2819         * more changes to expect.scm, to avoid the one-character lookhead
2820         that was introduced to fix the $ problem:
2821
2822         * expect.scm (expect): call the match proc an extra time at end
2823         of file and set the eof? argument appropriately.  call
2824         expect-eof-proc only if the last call didn't match.
2825         * expect.scm (expect-strings): change port to eof? in match proc.
2826         * expect.scm (expect-regexec): take an eof indicator as an argument
2827         instead of a port.
2828
2829 1999-06-09  Jim Blandy  <jimb@savonarola.red-bean.com>
2830
2831         * Makefile.am (ice9_sources): Add popen.scm to list.
2832         * Makefile.in: Regenerated.
2833
2834         Fixes for expect from Gary Houston  <ghouston@easynet.co.uk>:
2835
2836         * expect.scm (expect-regexec): define 'eof-next?'.  I don't
2837         know why it was missing.  also don't peek for end of lines
2838         unless expect-strings-exec-flags contains regexp/noteol.
2839         (expect-strings-exec-flags): initialise to regexp/noteol.
2840
2841         Gary Houston's open-buffer port patches:
2842
2843         1999-04-01  Gary Houston  <ghouston@easynet.co.uk>
2844
2845         * popen.scm: applied fixes from Greg Harvey.  use a guardian
2846         and a gc-thunk so that cleanup is done if a pipe is garbage
2847         collected or closed with close-port.  use a weak hash-table instead of
2848         an alist.
2849
2850         1999-03-20  Gary Houston  <ghouston@easynet.co.uk>
2851
2852         * expect.scm (expect): call the match proc with the port instead.
2853         (expect-strings): use peek-char to get the next char.  this has
2854         the advantage of getting the handling of $ "correct", but the
2855         disadvantage of needing to get (and maybe block for) an extra character
2856         from the port when it may not be needed.  hence:
2857         (expect-strings-exec-flags): new variable/parameter, supplies
2858         flags for regexp-exec.  if this includes regexp/noteol, then
2859         automatic regexp/noteol handling (requiring an extra peeked char)
2860         is enabled.  default is regexp/noteol.
2861         (expect-strings-compile-flags): new variable/parameter, supplies
2862         flags for make-regexp.  default is regexp/newline.
2863
2864         1999-03-15  Gary Houston  <ghouston@easynet.co.uk>
2865
2866         * expect.scm (expect): call the match proc with an extra char,
2867         peeked from the stream.
2868         (expect-strings): build a match proc which takes the extra char.
2869         (expect-regexec): take an extra arg "eof-next?" and use it
2870         to decide whether the regexp/noteol flag should be added.
2871
2872         1999-02-26  Gary Houston  <ghouston@easynet.co.uk>
2873
2874         * boot-9.scm (top-repl): don't flush all ports at exit.
2875         (error-catching-loop): likewise.
2876
2877         1998-12-23  Gary Houston  <ghouston@easynet.co.uk>
2878
2879         * boot-9.scm (scm-style-repl): -read: don't call
2880         consume-trailing-whitespace if val is eof object.  Allows
2881         exiting repl with single control-D.
2882
2883         1998-12-06  Gary Houston  <ghouston@easynet.co.uk>
2884
2885         * boot-9.scm (error-catching-loop): don't force output within
2886         error catching loop after quit received.
2887         (top-repl): flush all ports when the repl terminates.
2888
2889         * boot-9.scm (error-catching-loop): flush all ports before
2890         primitive exit if non-interactive.
2891         force-output on current-error-port if interactive.
2892
2893         * boot-9.scm (reopen-file): deleted.
2894         * popen.scm (open-output-pipe, open-input-pipe): moved from
2895         boot-9.scm.
2896         * popen.scm: new file.
2897
2898 1999-06-04  Dirk Herrmann  <D.Herrmann@tu-bs.de>
2899
2900        * boot-9.scm (iota):  replaced by a tail recursive version.
2901        (reverse-iota):  removed.
2902
2903 1999-06-03  Mikael Djurfeldt  <mdj@mdj-pc.nada.kth.se>
2904
2905         * optargs.scm (lambda*): Bugfix: Replaced ARGLIST -->
2906         non-optional-args.  (Thanks to David Lutterkort.)
2907
2908 1999-05-09  Jim Blandy  <jimb@savonarola.red-bean.com>
2909
2910         * string-case.scm: Removed; functions moved to libguile/strop.c
2911         (which could be dynamically linked in the future anyway).
2912         * Makefile.am (ice9_sources): Don't list string-case.scm.
2913         * Makefile.in: Regenerated.
2914         * format.scm: Don't bother importing (ice-9 string-case).
2915
2916 1999-05-02  Jim Blandy  <jimb@savonarola.red-bean.com>
2917
2918         * boot-9.scm (provided?): New function.
2919
2920         * Makefile.am: Add string-case.scm and format.scm to ice9_sources.
2921         * Makefile.in: Regenerated.
2922
2923         * string-case.scm: New file, brought in from SLIB, and adapted to
2924         Guile's module system.
2925
2926         * format.scm: New file, brought in from SLIB, with the following
2927         changes:
2928         (format:format): If the first argument is the format string, stick
2929         a #f on the front of it, so it is now a valid CL format argument
2930         list.  This is easier than changing everyplace else (like the
2931         error formatter) that expects it to be in CL form.  The other
2932         clause which explicitly tests for this case is now dead code.
2933         (format:format-work): Allow `@' and `:' in either order, as per
2934         modern CL behavior.
2935         (format:num->cardinal): Don't assume that an elseless if returns
2936         '() when the condition is false.
2937
2938 1999-04-17  Jim Blandy  <jimb@savonarola.red-bean.com>
2939
2940         * Makefile.in: Regenerated.
2941
2942 1999-04-08  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
2943
2944         * boot-9.scm: Provide 'values.
2945
2946 1999-03-21  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
2947
2948         * boot-9.scm (process-define-module, use-syntax): Bugfix:
2949         :use-syntax should add syntax to using module, not current module.
2950         (internal-use-syntax): Removed.
2951
2952 1999-03-21  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
2953
2954         * session.scm (apropos-internal): Modified to comply with new
2955         argument order for hash-fold.
2956
2957 1999-03-19  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
2958
2959         * boot-9.scm (try-load-module): New procedure.  Broken out from
2960         resolve-module.
2961         (resolve-module): Bugfix: Make it possible for a module at a
2962         deeper level (x y z) to depend on a module on a higher (x y).
2963
2964         This also has the desired side-effect that multiple attempts to
2965         load a module (e.g. with `use-modules') work until source is
2966         actually found for the module (e.g. because the correct catalog
2967         has been added to the load path).
2968
2969         Use try-load-module.
2970
2971 1999-03-18  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
2972
2973         * session.scm (system-module): New procedure.  Used to switch a
2974         module between system and user state.
2975
2976 1999-03-16  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
2977
2978         * session.scm (apropos-internal): Rewritten using hash-fold.
2979
2980         * emacs.scm, session.scm, slib.scm): Added :no-backtrace in module
2981         definition.
2982
2983 1999-03-14  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
2984
2985         * boot-9.scm (make-record-type): Use `set-struct-vtable-name!' to
2986         associate a name to the record type descriptor so that the object
2987         system can create a wrapper class for it.
2988
2989 1999-03-12  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
2990
2991         Improvement of backtraces: Introduces a new stack narrowing
2992         specifier, #t, for the inner cut.  If the inner cut is specified
2993         by #t, `make-stack' will throw away inner stack frames (most
2994         recent calls on call chain) up to but excluding the first user
2995         stack frame encountered.
2996
2997         This specifier is now used in `save-stack' so that the call
2998         `(save-stack)' will get the new behaviour. [It is recommended that
2999         any error reporting functions written by the user have this call
3000         on the outermost expression level (i.e. as a member of the lambda
3001         list).]
3002
3003         Modules are partitioned into "user" and "system" modules. [I know
3004         that some names used here are silly, but I don't have more time to
3005         spend on a better solution, especially considering that the module
3006         system will be replaced.  But if people have better ideas, then
3007         please tell me!]
3008
3009         System modules are created by adding :no-backtrace among the
3010         define-module switches:
3011
3012         (define-module (foo)
3013           :no-backtrace)
3014
3015         Modules which doesn't have the :no-backtrace specifier are user
3016         modules.
3017
3018         A stack frame is classified as a user frame if it has source code
3019         associated with it and if this source code can be proven to come
3020         from a user module.  If it can be proven to come from a system
3021         module it is a system frame.
3022
3023         Frames which can't be classified, e.g. application frames, are cut
3024         away if they occur between system frames, but are left on the
3025         stack if they occur between the last system frame and the first
3026         user frame encountered.  (Note that the first user frame
3027         encountered is the last user code being evaluated!)
3028
3029         In some cases the system part of the call chain is introduced by
3030         frames which should but can't be proven to be system frames.  The
3031         following workaround has been implemented: The cutting proceeds
3032         over application frames where the operator is marked by the
3033         `system-procedure' property.  (This has been used to cut away
3034         generic function dispatch code in the object system.)
3035
3036         * boot-9.scm (set-system-module!): New procedure: Set system/user
3037         status of a module.;
3038         Mark `the-root-module' and `the-scm-module' as system modules.
3039         (process-define-module): Add new keyword :no-backtrace.
3040
3041         * boot-9.scm (environment-module): Bugfixed.
3042         (set-module-eval-closure!): Add a pointer back from the eval
3043         closure to the module.
3044
3045         * emacs.scm (emacs-load): Reset port filename after transfer.
3046
3047 1999-03-03  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3048
3049         * slib.scm (make-random-state): Added for compatibility.
3050
3051 1999-02-16  Maciej Stachowiak  <mstachow@alum.mit.edu>
3052
3053         * optargs.scm (lambda*): Handle empty argument lists properly.
3054
3055 1999-02-15  Jim Blandy  <jimb@savonarola.red-bean.com>
3056
3057         Fix from Russ McManus:
3058         * getopt-long.scm (parse-option-spec): Store 'optional as the
3059         value-required? field for options that take optional values.
3060         (process-short-option): Grab a value for the option when it takes
3061         either an optional or required value.
3062
3063 1999-02-12  Jim Blandy  <jimb@savonarola.red-bean.com>
3064
3065         * getopt-long.scm: Remove debugging calls to `pk'.
3066
3067         * getopt-long.scm: Return list of ordinary arguments as the value
3068         of the '() key, not `rest'.
3069
3070         A new argument-processing package from Russ McManus.
3071         * getopt-long.scm: New file.
3072         * Makefile.am (ice9_sources): Added getopt-long.scm.
3073         * Makefile.in: Regenerated.
3074
3075 1999-02-09  Maciej Stachowiak  <mstachow@alum.mit.edu>
3076
3077         * optargs.scm: New file.
3078         * Makefile.am (ice9_sources): Add optargs.scm here. Makefile.in
3079         not regenerated because I don't have the right version of Automake.
3080
3081 1999-02-06  Jim Blandy  <jimb@zwingli.cygnus.com>
3082
3083         * and-let*.scm: New file, from Michael Livshin.
3084         * Makefile.am (ice9_sources): Add and-let* here.
3085         * Makefile.in: Regenerated.
3086
3087 1999-01-11  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3088
3089         * slib.scm (install-require-module): Fixed the kludge which loads
3090         the slib catalog: Doesn't anylonger assume that the feature tested
3091         for isn't loaded.
3092
3093 1998-12-14  Jim Blandy  <jimb@zwingli.cygnus.com>
3094
3095         * Makefile.in: Regenerated.
3096
3097 1998-12-14  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3098
3099         * boot-9.scm (process-define-module): Reverted the change of
3100         1998-11-23 which caused loading of object code if :use-module was
3101         applied to the module itself.
3102
3103 1998-12-11  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
3104
3105         * Makefile.am: Removed setf.scm.
3106
3107         * setf.scm: Removed.  1. It was buggy.  2. It was unschemey.
3108         (These shortcomings were my fault.)
3109
3110 1998-12-10  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3111
3112         * boot-9.scm (environment-module): New procedure.
3113
3114 1998-12-07  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
3115
3116         * Makefile.am: Added setf.scm.
3117
3118 1998-12-05  Christian Lynbech  <chl@tbit.dk>
3119
3120         * setf.scm: New file.  Adds the new forms `setf!' and `setter'
3121         which implements generalized references a la Common LISP.
3122
3123 1998-12-02  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
3124
3125         * boot-9.scm (process-define-module): Added new specifier
3126         :autoload MODULENAME BINDINGS to the define-module form.
3127         The autoload specifier tells the module system to load the module
3128         MODULENAME at the first occasion that any variable with its name
3129         among BINDINGS is referenced.
3130         (make-autoload-interface): New procedure:  Constructs a stand-in
3131         for the public interface for the module to be autoloaded.
3132
3133 1998-12-01  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3134
3135         * boot-9.scm (*suppress-old-style-hook-warning*): Set this to #t
3136         if you don't want the old style hook warnings.
3137
3138 1998-12-01  Christian Lynbech  <chl@tbit.dk>
3139
3140         * boot-9.scm (try-using-libtool-name): Fix check on dlname to make
3141         sure that it isn't empty, as it is when we are only buidling
3142         static libraries.
3143
3144 1998-11-27  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3145
3146         * session.scm (arity): New procedure.
3147
3148 1998-11-26  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3149
3150         * boot-9.scm: Use run-hook instead of run-hooks everywhere.
3151
3152 1998-11-26  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
3153
3154         * boot-9.scm (run-hooks, add-hook!, remove-hook!): Added temporary
3155         code for backward compatibility until people have had time to
3156         adapt to the new hooks.
3157
3158 1998-11-23  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
3159
3160         * boot-9.scm (beautify-user-module!): Beautify also if public
3161         interface is set to the module itself.  In this way we can use
3162         beautify-user-module! to beautify a module prepared for object
3163         code.
3164         (process-define-module): Special case: Try to load object code as
3165         well if a module does :use-module on itself.
3166
3167         * boot-9.scm: Bugfix: Since boot-9.scm is now loaded from
3168         invoke_main_func, we can no longer be sure that all modules have
3169         been registered when boot-9.scm is loaded.
3170         (register-modules): New function: Register and tag modules
3171         registered by scm_register_module_xxx since last call to this
3172         function.  Modules are tagged with the dynamic object passed as
3173         argument.  (Already linked modules should be tagged with #f.)
3174         (init-dynamic-module, link-dynamic-module): Call register-modules
3175         first to register linked modules.
3176
3177         * boot-9.scm (init-dynamic-module): Remove module from
3178         registered-modules as soon as possible in case we are recursively
3179         invoked; Set public interface before doing the dynamic-call.
3180
3181         * boot-9.scm (map-in-order): Removed (replaced by scm_serial_map).
3182         (abort-hook, before-error-hook, after-error-hook,
3183         before-backtrace-hook, after-backtrace-hook, before-read-hook,
3184         after-read-hook, exit-hook): Make hooks with `make-hook'.
3185
3186         * boot-9.scm: Make hooks first class citizens and make them easier
3187         to use from C:
3188         (make-hook, add-hook!, remove-hook!, run-hooks): Moved to
3189         libguile/feature.c.
3190
3191         * boot-9.scm: Added warnings about bindings used in
3192         libguile/modules.c: the-module, set-current-module,
3193         make-modules-in, beautify-user-module!, module-eval-closure.
3194
3195 1998-11-21  Mikael Djurfeldt  <mdj@kenneth>
3196
3197         * boot-9.scm (the-environment): New special form: Returns an
3198         object representing the current local evaluation environment.
3199         This object can be used in `local-eval' and `defined?'.
3200
3201 1998-11-13  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
3202
3203         * boot-9.scm (collect): New syntax.  Similar to begin but returns
3204         a list of the results of all forms in the sequence instead of the
3205         result of the last form.
3206
3207 1998-11-10  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
3208
3209         * boot-9.scm (values, call-with-values): Moved here from
3210         syncase.scm.
3211
3212         * syncase.scm (values, call-with-values): Moved to boot-9.scm.
3213
3214         * boot-9.scm (readline-options, readline-enable, readline.disable,
3215         readline-set!: New options interface.
3216
3217         * readline.scm (readline-port): Use readline-options-interface.
3218
3219 1998-11-05  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
3220
3221         * boot-9.scm: Set the repl start module in `top-repl' instead of
3222         at the end of boot-9.scm.
3223
3224 1998-11-01  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3225
3226         * emacs.scm (format): Bugfix: Handle multiple arguments
3227         correctly.  (Thanks to Thien-Thi Nguyen.)
3228
3229 1998-11-01  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
3230
3231         * boot-9.scm (exit-hook): New hook: Is run at the very end of an
3232         interactive session.
3233         (top-repl): Run exit-hook on exit.
3234
3235         * readline.scm (readline-port): Maybe read history; Maybe write
3236         history at exit (add to exit-hook).
3237
3238 Fri Oct 30 15:15:37 1998  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3239
3240         * readline.scm (make-readline-port): Bugfixed last change...
3241
3242 1998-10-28  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
3243
3244         * readline.scm (make-readline-port): Don't set prompt to "... " if
3245         read line was empty.
3246
3247 1998-10-19  Jim Blandy  <jimb@zwingli.cygnus.com>
3248
3249         * boot-9.scm, debug.scm, expect.scm, hcons.scm, lineio.scm,
3250         r4rs.scm, slib.scm, threads.scm: Update copyright years.
3251
3252         * getopt-gnu-style.scm, slib.scm: Add copyright notice.
3253
3254         Talked to Stallman.  Actually, the syntax-case copyright is no
3255         problem.  Duh.
3256         * Makefile.am (ice9_sources): Revert last change.
3257         * syncase.scm, psyntax.pp, psyntax.ss: Added again.
3258         * Makefile.in: Regeneretade.
3259
3260         * boot-9.scm: Don't assume that this file is loaded just before
3261         entering a read-eval-print loop.  Turn code to load (ice-9 emacs)
3262         into...
3263         (load-emacs-interface): New function.
3264         (top-repl): Call it, if use-emacs-interface is defined and true.
3265         At this point, we *do* know we're about to enter a REPL.
3266
3267         We can't include Kent Dybvig's syntax-case macro expander in the
3268         core Guile distribution, because we don't have copyright
3269         assignments for this code.  We can certainly distribute them as a
3270         separate package, but Guile should be FSF code.
3271         * syncase.scm, psyntax.pp, psyntax.ss: Removed.
3272         * Makefile.am (ice9_sources): Removed syncase.scm, psyntax.pp, and
3273         psyntax.ss.
3274         * Makefile.in: Regenerated.
3275
3276         * Makefile.am (ice9_sources): Add getopt-gnu-style.scm.
3277         * Makefile.in: Regenerated.
3278
3279 1998-10-18  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
3280
3281         * boot-9.scm: Added extended read syntax for byte vectors #y(...)
3282         and short vectors #h(...).
3283
3284 1998-10-14  Jim Blandy  <jimb@zwingli.cygnus.com>
3285
3286         * calling.scm (excursion-function-syntax): Use a sequence of
3287         set!'s, not a single multi-variable set!; we removed support for
3288         that syntax a long time ago.  (Thanks to Shuji Narazaki.)
3289
3290 1998-10-12  Jim Blandy  <jimb@zwingli.cygnus.com>
3291
3292         * r4rs.scm (OPEN_READ, OPEN_WRITE, OPEN_BOTH): Don't bother
3293         testing software-type here.  That's the least of our Windows
3294         porting issues, and it's done wrong anyway.
3295
3296 1998-10-09  Jim Blandy  <jimb@zwingli.cygnus.com>
3297
3298         * boot-9.scm (read-path-list-notation-warning): New function:
3299         print a warning the first time we see `#/' notation.
3300
3301         * q.scm (sync-q!, q?, q-remove!, q-push!, enq!): Lots of bugs, and
3302         (eq?  #f '()) assumptions.  Make functions that aren't documented
3303         to return anything else return the queue itself.  (Bug report from
3304         Michael Livshin --- thanks!)
3305
3306 1998-08-21  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3307
3308         * debug.scm (trace-entry, trace-exit): Removed re-enabling of
3309         trace flag.
3310
3311         * boot-9.scm (make-options): Bugfix: Changed pair? --> list? in
3312         order to allow the empty list as arg.
3313         (error-catching-loop): Use `with-traps' to create a dynamic
3314         context with traps enabled.
3315
3316 1998-08-19  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
3317
3318         * boot-9.scm: Removed (ice-9 regex) from use-list of (guile)
3319         module.
3320         (try-using-libtool-name): Removed dependency on (ice-9 regex).
3321
3322 1998-08-15  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
3323
3324         * boot-9.scm: Make the root module use (ice-9 regex) if
3325         available.  The dynamic linking facilities in boot-9.scm are
3326         currently dependent upon regular expressions.  My change of
3327         1998-07-14 removed (ice-9 regex) from the use-list of the root
3328         module and thereby destroyed dynamic linking.
3329
3330 1998-07-29  Jim Blandy  <jimb@zwingli.cygnus.com>
3331
3332         * Makefile.in: Regenerated using the last public version of
3333         automake, not the hacked Cygnus version.
3334
3335 1998-07-28  Jim Blandy  <jimb@zwingli.cygnus.com>
3336
3337         * Makefile.in: Regenerated, after removing Totoro kludge.
3338
3339 1998-07-28  Jim Blandy  <jimb@totoro.red-bean.com>
3340
3341         * getopt-gnu-style.scm: New file.  (Thanks to Russ McManus.)
3342
3343 1998-07-26  Jim Blandy  <jimb@zwingli.cygnus.com>
3344
3345         * Makefile.in Rebuilt, for config changes in parent dir.
3346
3347 1998-07-21  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3348
3349         * readline.scm (make-readline-port): Set prompt string to "... "
3350         after first read line.  (Thanks to Richard Polton.)
3351
3352 1998-07-19  Jim Blandy  <jimb@zwingli.cygnus.com>
3353
3354         * lineio.scm (make-line-buffering-input-port): Don't use
3355         ungetc-char-ready?, since we don't provide that function any
3356         more.  The unread-string function doesn't interact properly with
3357         any of the standard I/O functions anyway.  (Thanks to Andrew
3358         Archibald.)
3359
3360         * hcons.scm (hashq-cons-assoc): Don't assume the empty list is
3361         false.  Return false when we cannot find a matching entry in the
3362         list.  (Thanks to Andrew Archibald.)
3363
3364 1998-07-16  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
3365
3366         * boot-9.scm (export, export-syntax): New special forms: Export
3367         bindings from a module.  `(export name1 name2 ...)' can be used at
3368         the top of a module (after `define-module') to specify which names
3369         should be exported.  It can be used as an alternative to
3370         `define-public'.  `export-syntax' works equivalently to `export'
3371         but is intended for export of syntactic keywords.
3372         (Thanks to Thien-Thi Nguyen.)
3373
3374 1998-07-15  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
3375
3376         * boot-9.scm: Renamed module `(guile-repl)' --> `(guile-user)'.
3377
3378 1998-07-14  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3379
3380         * boot-9.scm: Let the user start in module `(guile-repl)' instead
3381         of module `(guile)'.  Also make sure that `(guile-repl)' uses
3382         suitable modules.  This change improves Guile stability
3383         substantially since bindings will only be copied from the root
3384         module: If the user redefines builtins in `(guile-repl)' it won't
3385         affect the internal operation of Guile itself.
3386
3387 1998-06-19  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
3388
3389         * boot-9.scm (load-module): When loading files from within files
3390         themselves being loaded: Use the directory path of the file being
3391         loaded as root for relative filenames.  (After suggestion by
3392         Steven G. Johnson.)
3393
3394 1998-06-15  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3395
3396         * emacs.scm (emacs-load): New feature: Eval in specified module.
3397
3398 1998-06-14  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3399
3400         * readline.scm: Typo in regex module name.
3401
3402 1998-06-13  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
3403
3404         * readline.scm (apropos-completion-function): regexp-quote text to
3405         be completed.
3406
3407 1998-06-11  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3408
3409         * debug.scm, emacs.scm: Bugfix: Treat `the-last-stack' as a fluid.
3410
3411 1998-06-09  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3412
3413         * boot-9.scm: Check that (current-input-port) is a tty before
3414         enabling readline.  (Thanks to Michael N. Livshin.)
3415
3416 1998-06-07  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3417
3418         * boot-9.scm (use-syntax): Turned into a macro inorder to be
3419         similar in use to `use-modules'.
3420         Example: (use-syntax (ice-9 syncase)) will 1. load the module
3421         (ice-9 syncase), and, 2. install the procedure `syncase' as eval
3422         transformer.
3423         (internal-use-syntax): New procedure.
3424         (process-define-module): Use `internal-use-syntax'.
3425
3426 1998-05-19  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3427
3428         * Makefile.am (ice9_sources): Add emacs.scm.
3429
3430 1998-05-13  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3431
3432         * readline.scm: Use the new readline facilities: Add the
3433         possibility to control input and output ports; Add apropos
3434         completion.
3435
3436         * boot-9.scm: Antirevert Jim's readline code which he reverted
3437         19971027 and adapt it to the current readline interface.
3438
3439         * boot-9.scm (top-repl): Only enable readline if not using the
3440         Emacs interface; Only use repl prompt when using the readline port
3441         from repl-read.  (We don't want to see it when calling `read'.)
3442
3443         * boot-9.scm (remove-hook!): Parenthesis bug.
3444
3445 1998-05-11  Mikael Djurfeldt  <mdj@kenneth>
3446
3447         * boot-9.scm: Load readline module if readline is present.
3448
3449         * readline.scm (apropos-completion-function): New procedure:
3450         Symbolic completion.  (Thanks to Andrew Archibald!)
3451
3452 1998-04-22  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3453
3454         * boot-9.scm (process-define-module): Added keyword use-syntax.
3455
3456 1998-04-19  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3457
3458         * nonblocking.scm: Removed.  libguile is now inherently
3459         nonblocking through the use of scm_internal_select.
3460
3461         * emacs.scm: Removed use of nonblocking.scm.
3462
3463         * gwish.scm, gtcl.scm: Removed.  tcltk.scm has made these
3464         obsolete.
3465
3466 1998-04-15  Mikael Djurfeldt  <mdj@nada.kth.se>
3467
3468         * runq.scm (runq-control): Corrected spelling of enqueue!.
3469         (Thanks to Karl M. Hegbloom.)
3470
3471 1998-03-30  Mikael Djurfeldt  <mdj@nada.kth.se>
3472
3473         * boot-9.scm: Added new run-time option interface eval-options.
3474
3475 1998-03-28  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3476
3477         * boot-9.scm (remove-hook!): New macro.  (Thanks to Maciej
3478         Stachowiak.)
3479
3480 1998-01-30  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3481
3482         * threads.scm: Added simple error and signal handler.
3483         (make-thread, begin-handler): Use this handler.  The most
3484         important effect of this is that signals get unmasked.
3485         Previously, when a signal was thrown signals remained masked
3486         (signals get masked when a signal is taken) which influenced other
3487         threads.
3488
3489 1998-01-01  Tim Pierce  <twp@skepsis.com>
3490
3491         A better fix to the SLIB identity problem -- thanks to Marius Vollmer.
3492         * slib.scm (identity): Unmake public.
3493         (slib:eval): Evaluate inside `slib-module'.
3494
3495 1997-12-24  Tim Pierce  <twp@skepsis.com>
3496
3497         * boot-9.scm: Doc fix.
3498
3499         * slib.scm (identity): Made public.
3500         (home-vicinity): New function (from SLIB/Template.scm).
3501
3502 1997-12-13  Tim Pierce  <twp@skepsis.com>
3503
3504         * boot-9.scm (read-line): Rewritten to call %read-line for
3505         improved speed.  Minor user-visible changes: the new functions are
3506         hardwired to treat the LFD character as signifying end-of-line, so
3507         changing `scm-line-incrementors' will no longer affect the
3508         behavior of read-line.  On platforms which do not represent
3509         end-of-line with a LFD character, read-line should behave more
3510         like native line-processing facilities, but there is still a ways
3511         to go here.
3512
3513 Sat Nov 29 01:24:46 1997  Mikael Djurfeldt  <mdj@kenneth>
3514
3515         * boot-9.scm (error-catching-loop, save-stack): `the-last-stack'
3516         is now a fluid.
3517
3518 1997-11-28  Tim Pierce  <twp@skepsis.com>
3519
3520         * boot-9.scm (find-and-link-dynamic-module): If a module directory
3521         contains a .la file (a libtool support file), attempt to extract
3522         the shared library name from that file.  If the .la file does not
3523         exist, try to link against a .so file.  Libtool-generated compiled
3524         modules should load more cleanly in Guile now.
3525         (try-using-libtool-name, try-using-sharlib-name): New functions.
3526
3527 Sun Nov  9 06:10:59 1997  Gary Houston  <ghouston@actrix.gen.nz>
3528
3529         * boot-9.scm (set-batch-mode?!, batch-mode?): initialize more
3530         usefully so they will work from a script.
3531
3532 1997-10-31  Marius Vollmer  <mvo@zagadka.ping.de>
3533
3534         * boot-9.scm (inherit-print-state): Moved definition to the
3535         neighborhood of the record code.
3536
3537 Mon Oct 27 02:05:49 1997  Jim Blandy  <jimb@totoro.red-bean.com>
3538
3539         * boot-9.scm: Revert changes to this file from Oct 23.  It turns
3540         out to interact badly with the Emacs support and the Tcl/Tk
3541         support.  It's not a high enough priority at the moment to be
3542         worth fixing.  I'm leaving the other readline support in, though.
3543
3544 Sat Oct 25 14:23:22 1997  Jim Blandy  <jimb@totoro.red-bean.com>
3545
3546         * Makefile.am: Include readline.scm in the list of files to be
3547         installed, so Guile can find it for interactive use.
3548         * Makefile.in: Regenerated.
3549
3550 Thu Oct 23 01:00:33 1997  Jim Blandy  <jimb@totoro.red-bean.com>
3551
3552         Add support for readline function.
3553         * readline.scm: New module.
3554         * boot-9.scm (repl-reader): New function.
3555         (scm-style-repl): Call repl-reader, instead of doing the reading
3556         ourselves.  Remove repl-report-reset; it was never used for
3557         anything.
3558         (top-repl): If we've got the readline primitives, then redefine
3559         repl-reader to use them.
3560         If we've got the readline primitives, import the readline module.
3561
3562         * ls.scm (ls, lls): Don't assume (eq? #f '()).
3563
3564 Wed Oct 22 18:26:57 1997  Jim Blandy  <jimb@totoro.red-bean.com>
3565
3566         * calling.scm, common-list.scm, ls.scm, q.scm, runq.scm,
3567         string-fun.scm: Added copyright notices; reformatted.
3568
3569 Thu Oct  9 05:44:00 1997  Gary Houston  <ghouston@actrix.gen.nz>
3570
3571         * expect.scm: (expect-regexec): new procedure, use it in
3572         expect-strings to fix the => syntax under the new regex system.
3573         (top): include regex module in define-module statement.
3574
3575 Wed Oct  8 03:16:01 1997  Gary Houston  <ghouston@actrix.gen.nz>
3576
3577         * (error-catching-loop): new local variable "interactive".  if
3578         #f, abort terminates the process.
3579         (set-batch-mode?!, batch-mode?): new closures, defined in
3580         error-catching-loop.  the names are from scsh.
3581
3582 1997-10-06  Marius Vollmer  <mvo@zagadka.ping.de>
3583
3584         * boot-9.scm (inherit-print-state): If NEW-PORT contains a
3585         print-state, throw it away.
3586
3587 Fri Oct  3 12:00:00  Mikael Djurfeldt  <mdj@nada.kth.se>
3588
3589         * boot-9.scm (struct-layout): Use `vtable-index-layout' instead of
3590         `0'.
3591
3592 Thu Oct  2 12:00:00  Mikael Djurfeldt  <mdj@nada.kth.se>
3593
3594         * boot-9.scm (struct-printer, make-struct-printer,
3595         set-struct-printer-in-vtable!, *struct-printer*): Removed.
3596         (record-type-vtable, make-record-type): Don't use make-struct-printer.
3597         (record-type-vtable): User fields "prpr" (printer is no longer a
3598         user field).
3599         (record-type-name, record-type-fields): Decreased slot index by
3600         one; Use `vtable-offset-user'.
3601
3602 Thu Oct  2 12:00:00  Marius Vollmer  <mvo@zagadka.ping.de>
3603
3604         * boot-9.scm (inherit-print-state): New experimental function.
3605
3606 Tue Sep 30 13:12:48 1997  Jim Blandy  <jimb@totoro.red-bean.com>
3607
3608         Suggestion and script from Maciej Stachowiak:
3609         * boot-9.scm: Split off modules into separate, autoloadable files.
3610         This reduces startup time from 10.5s to 5.5s (user cpu).
3611         * calling.scm, common-list.scm, ls.scm, q.scm, runq.scm,
3612         string-fun.scm: New files, containing stuff that used to be in
3613         boot-9.scm.
3614         * Makefile.am (ice9_sources): List new files here, for
3615         distribution and installation.
3616         * Makefile.in: Regenerated.
3617
3618 Mon Sep 29 23:53:55 1997  Jim Blandy  <jimb@totoro.red-bean.com>
3619
3620         * Makefile.in: Regenerated with automake 1.2c.
3621
3622 Mon Sep 29 03:21:24 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3623
3624         * slib.scm (slib:load): slib:load first tries to load the file
3625         named NAME, then NAME.scm.  On error, report the error occuring at
3626         the first attempt (NAME) rather than the second (NAME.scm).
3627
3628         * boot-9.scm: Bugfix: Hard-solder the print-option procedure into
3629         the make-options macro so that we needn't refer to a global
3630         symbol.
3631
3632 Sun Sep 28 21:40:24 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3633
3634         * debug.scm: Moved options interface procedures to boot-9.scm.
3635
3636         * boot-9.scm: Define options interface procedures here instead.
3637
3638 Sat Sep 27 20:19:20 1997  Jim Blandy  <jimb@totoro.red-bean.com>
3639
3640         * boot-9.scm (separate-fields-discarding-char,
3641         separate-fields-after-char, separate-fields-before-char): Call
3642         continuation function, RET, as advertised: with each separated
3643         field a separate argument.
3644
3645         * Makefile.in: Regenerated with automake 1.2a.
3646
3647 Sat Sep 20 14:23:53 1997  Mikael Djurfeldt  <mdj@kenneth>
3648
3649         * slib.scm (slib:load): Export.
3650
3651         * boot-9.scm (in-vicinity): Bugfix: Don't add "/" to an empty
3652         vicinity;
3653         Provide defmacro.
3654
3655 Thu Sep 18 01:24:31 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3656
3657         * r4rs.scm (apply): Set name property to 'apply.
3658
3659 Tue Sep 16 22:09:50 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3660
3661         * boot-9.scm (keyword->symbol, display-usage-report): Changed
3662         length --> string-length.  (Thanks to Aleksandar Bakic.)
3663         (separate-fields-discarding-char, separate-fields-after-char,
3664         separate-fields-before-char): Bugfix from Maciej Stachowiak
3665         <mstachow@mit.edu>.  Thanks!
3666         (try-module-linked): Try to find module among those already
3667         registered.
3668         (try-module-dynamic-link): Removed the first test which
3669         corresponds to a call to `try-module-linked'.
3670         (resolve-module): Resolve modules in this order: 1. Already
3671         registered modules (for example those which have been statically
3672         linked), 2. Try to autoload an .scm-file, 3. Try to dynamically
3673         link a .so-file.
3674
3675 Mon Sep 15 23:39:54 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3676
3677         * boot-9.scm (iota): Renamed list-reverse! --> reverse!
3678
3679 Thu Sep 11 02:31:38 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3680
3681         * session.scm (name): New procedure: Gives name of object.
3682         (source): New procedure: Gives source of object.
3683
3684 Wed Sep 10 20:12:45 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3685
3686         * boot-9.scm (primitive-macro?): New procedure.
3687
3688         * slib.scm: Added hack which transfers syntactic information from
3689         the builtin variable `define' to the slib version if module (ice-9
3690         syncase) has been loaded.  This is necessary to get correct
3691         expansion inside the slib module.
3692
3693         * psyntax.ss (build-let, build-named-let): New output
3694         constructors.
3695         (build-lexical-var): Seed gensym with symbolic name.
3696         (self-evaluating?): Add keywords among self-evaluating types.
3697         (let): New core form.
3698         (if): Removed from core language.
3699         (or, and, let, cond): Removed syntactic definitions.
3700         (sc-expand3): New procedure: Expander which takes optional mode
3701         and eval-syntactic-expanders-when arguments.
3702
3703         * syncase.scm (psyncomp): New procedure: Recompiles psyntax.pp.
3704         Should be used inside the (ice-9 syncase) module with (use-syntax
3705         syncase) and with the current directory containing the psyntax.ss
3706         source.
3707         Added hack to transfer syntactic information from the builtin
3708         variable `define' to the slib version if module (ice-9 slib) has
3709         been loaded.
3710
3711 Fri Sep  5 05:47:36 1997  Mikael Djurfeldt  <mdj@faun.nada.kth.se>
3712
3713         * syncase.scm (sc-interface, sc-expand): Removed hook setup.
3714         (syncase): Publish syntax transformer to be used with
3715         `use-syntax'.
3716         (sc-macro): Use this as the value when publishing macros.
3717
3718         * boot-9.scm (module-type): Added `transformer'.
3719         (make-module): Modified initialization.
3720         (module-transformer, set-module-transformer!): Selector and
3721         mutator for module-associated transformer.
3722         (set-current-module): Use module-transformer to set
3723         `scm:eval-transformer'.
3724         (module-use!): Previous change reverted.
3725         (use-syntax): New function: Install a transformer in current
3726         module.
3727         (sc-interface, sc-expand): Removed! :)
3728
3729 Fri Sep  5 03:09:09 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3730
3731         * emacs.scm (emacs-load): Added new parameter `module'.
3732
3733         * syncase.scm (putprop, getprop): Modified to use the object
3734         properties of the variable object corresponding to the symbol;
3735         This way we can ride on the mechanisms of the module system.
3736         Changed `builtin-variable' calls to `define-public' calls.
3737         Setup the hooks sc-expand and sc-interface.
3738
3739         * boot-9.scm (sc-interface, sc-expand): New builtin variables.
3740         (set-current-module): Switch to and from sc-expand as
3741         scm:eval-transformer when going into and out of modules using
3742         syncase macros.
3743         (module-use!): Set scm:eval-transformer to sc-expand when adding
3744         the syncase interface.
3745
3746 Thu Sep  4 14:57:04 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3747
3748         * syncase.scm (putprop): Temporary fix which publishes new syntax
3749         globally (the old behaviour was complex and connected to the inner
3750         workings of the current module system).
3751
3752 Wed Sep  3 21:29:13 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3753
3754         * psyntax.ss: Updated.
3755         psyntax.pp: Bugfix: Previous version had some leading "t":s cut
3756         off!
3757
3758 Tue Sep  2 00:26:42 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3759
3760         * boot-9.scm (gensym): Removed (replaced by primitive).
3761         (obarray-gensym): Rewritten to use `gensym'.
3762         (gentemp): Rewritten to use `gensym'.
3763
3764 Mon Sep  1 20:08:32 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3765
3766         * gtcl.scm (make-tcl-binder): Rewritten to choose bindings
3767         according to the following priorities:
3768         1. tcl bindings which are present in override-scheme-list
3769         2. bindings from the-scm-module
3770         3. tcl bindings
3771         This way the gtcl module can occur first in the use-list without
3772         disabling the scheme interpreter.
3773         (new-interpreter): New function.
3774
3775         * gwish.scm: Moved initialization code for the-interpreter to
3776         gtcl.scm; Moved name space cleaning code to gtcl.scm and rewrote
3777         it; Call `new-interpreter'; Don't :use-module (guile).
3778
3779 Thu Aug 28 23:48:53 1997  Jim Blandy  <jimb@totoro.red-bean.com>
3780
3781         * Makefile.in: Regenerated.
3782
3783 Wed Aug 27 11:35:09 1997  Jim Blandy  <jimb@totoro.red-bean.com>
3784
3785         * Makefile.in: Regenerated, so it uses "tar", not "gtar".
3786
3787 Mon Aug 25 22:00:44 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3788
3789         * emacs.scm (object->string, format, error-args->string): New
3790         procedures.
3791         (emacs-frame-eval): Reworked.
3792
3793 Mon Aug 25 16:15:55 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3794
3795         * session.scm (apropos-internal): Musn't initialize symbol
3796         accumulator with a constant pair.  That led to mutation of the
3797         source!
3798
3799 Sun Aug 24 01:03:10 1997  Mikael Djurfeldt  <mdj@kenneth>
3800
3801         * session.scm (vector-for-each): Removed.
3802         (apropos): vector-for-each --> array-for-each.
3803         (apropos-internal): New function.  Return list of accessible
3804         symbols matching regexp.
3805
3806         * debug.scm (frame-number->index): New function.  Convert frame
3807         number (as displayed in the backtrace) to frame index (to be used
3808         in stack-ref).
3809
3810         * emacs.scm (emacs-load): New arguments: interactivep: when
3811         non-false, send back results to Emacs; colnum: Column number;
3812         Use modules (ice-9 debug) and (ice-9 session);
3813         (no-stack, no-source): New simple-actions;
3814         (result-to-emacs): New procedure. Sends data to Emacs via the
3815         result protocol;
3816         (get-frame-source, emacs-select-frame, emacs-frame-eval,
3817         emacs-symdoc): New procedures.
3818
3819 Wed Aug 20 13:21:11 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3820
3821         * emacs.scm (emacs-load): Adjust stack narrowing.
3822         (whitespace-chars): Include #\np.
3823
3824         * syncase.scm: Also turn off debugging evaluator and recording of
3825         procedure names during loading of psyntax.pp.
3826
3827         * psyntax.pp: Removed leading blanks => 800K -> 100K.
3828
3829 Tue Aug 19 02:39:41 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3830
3831         * syncase.scm: Don't tamper with debug mode setting when enabling
3832         macros.  Instead cut the stack with start-stack.
3833         Load psyntax.pp with recording of positions turned off.
3834
3835         * psyntax.pp, psyntax.ss (quasiquote): Changed fx= --> =.
3836
3837         * syncase.scm: New file: Guile-adaption for syntax-case macros.
3838         * psyntax.pp, psyntax.ss: Syntax-case macros, portable version 2 by
3839         R. Kent Dybvig, Oscar Waddell, Bob Hieb and Carl Bruggeman
3840
3841 Mon Aug 18 21:58:25 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3842
3843         * session.scm: New file: Session support.
3844         (apropos): New procedure: List bindings given regexp.
3845
3846 Sat Aug 16 18:44:24 1997  Gary Houston  <ghouston@actrix.gen.nz>
3847
3848         * boot-9.scm: define tms accessors: clock, utime, stime, cutime,
3849         cstime.
3850
3851 Thu Aug 14 19:55:37 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3852
3853         * emacs.scm (emacs-load): Something has changed in the reader so
3854         that we now should set the port line count to the specified value
3855         (linum) instead of (- linum 1).
3856
3857         * slib.scm (slib:load): Use load-from-path instead of
3858         primitive-load-path so that backtraces get narrowed properly at
3859         the top.
3860
3861         * boot-9.scm (top-repl): Save stack already in signal handler in
3862         order to narrow it correctly.
3863         (save-stack): Adjust narrowing tag for the top of load-stacks.
3864
3865 Tue Jul 29 01:18:08 1997  Gary Houston  <ghouston@actrix.gen.nz>
3866
3867         * boot-9.scm (move->fdes, dup->port): use dup->fdes, not primitive-dup.
3868         (dup->fdes): deleted, now done in C.
3869
3870 Sat Jul 26 08:00:42 1997  Gary Houston  <ghouston@actrix.gen.nz>
3871
3872         * boot-9.scm (setenv): new procedure, scsh compatible.
3873
3874 Sat Jul 26 21:30:10 1997  Marius Vollmer  <mvo@zagadka.ping.de>
3875
3876         * boot-9.scm (with-fluids): New macro to go with the
3877         builtin `with-fluids*'.
3878
3879 Thu Jul 24 04:28:11 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3880
3881         * slib.scm (install-require-module): In newer versions of slib
3882         *catalog* is #f until the first access.  Therefore we call
3883         require:provided? for a random feature if *catalog* is #f.
3884
3885 Wed Jul 23 20:13:04 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
3886
3887         * boot-9.scm: If using emacs interface, enable backtraces
3888         automatically.
3889
3890 Mon Jul 21 06:45:45 1997  Gary Houston  <ghouston@actrix.gen.nz>
3891
3892         * boot-9.scm (dup->port, dup->inport, dup->outport, dup->fdes,
3893         dup, fdes->inport, fdes->outport, port->fdes): new procedures.
3894         (duplicate-port): was a C primitive, now it's here.
3895         (move->fdes): allow the first argument to be a file descriptor.
3896         Return the modified port or file descriptor (was unspecified.)
3897
3898 Fri Jul 11 00:13:43 1997  Jim Blandy  <jimb@floss.red-bean.com>
3899
3900         Changes to compile under gnu-win32, from Marcus Daniels:
3901         * boot-9.scm (load-user-init): If HOME is unset, provide
3902         a default of /.
3903
3904         * boot-9.scm (define-public): Changed to accomodate Hobbit.
3905
3906 Tue Jun 24 00:31:47 1997  Jim Blandy  <jimb@floss.red-bean.com>
3907
3908         * boot-9.scm, debug.scm, hcons.scm, lineio.scm, mapping.scm,
3909         poe.scm, slib.scm, tags.scm, threads.scm: Use normal list
3910         notation, instead of #/ notation.
3911
3912         * expect.scm (expect-strings): Pass regexp/newline flag to
3913         make-regexp.
3914
3915 Mon Jun 23 16:13:38 1997  Jim Blandy  <jimb@floss.red-bean.com>
3916
3917         Fix inconsistencies in parsing of #/ style lists.
3918         * boot-9.scm (read-path-list-notation): New function.
3919         (parse-path-symbol): Deleted.  Replaced by above.
3920         Plug in read-path-list-notation as the parser for #/ lists,
3921         instead of the anonymous lambda form calling parse-path-symbol.
3922         (Thanks to Maurizio Vitale.)
3923
3924         * boot-9.scm (make-list): Remove the definition of this function
3925         from the (ice-9 common-list) module; make the `init' argument
3926         optional in the scm module's definition, to match the deleted
3927         definition.  Harmony reigneth?  (Thanks to Bernard URBAN.)
3928
3929 Sun Jun 22 18:33:17 1997  Jim Blandy  <jimb@floss.red-bean.com>
3930
3931         Try to detect when people are using one version of libguile and a
3932         different version of ice-9.  People have been skewing things and
3933         sending in bug reports.
3934         * version.scm.in: New file, which the configure script munges to
3935         produce version.scm, which contains the ice-9 config stamp.
3936         * boot-9.scm: Compare the libguile and ice-9 config stamps;
3937         display a warning if the two are different.
3938         * Makefile.am: Install version.scm, but don't distribute it.
3939         Distribute version.scm.in, but don't install it.
3940         * Makefile.in: Regenerated.
3941
3942 Thu Jun 19 21:01:16 1997  Jim Blandy  <jimb@floss.red-bean.com>
3943
3944         * slib.scm (slib:warn): Alias for WARN function.
3945
3946 Fri Jun 13 00:32:04 1997  Jim Blandy  <jimb@floss.red-bean.com>
3947
3948         * boot-9.scm (struct-printer): Fix off-by-one error in range
3949         check.  Correctly check for struct printer tag.
3950
3951         * expect.scm: Turn this into a module, (ice-9 expect).
3952         (expect-port, expect-timeout, expect-timeout-proc,
3953         expect-eof-proc, expect-char-proc, expect, expect-strings,
3954         expect-select): Make these public definitions.
3955         (expect-strings): Use make-regexp and regexp-exec, instead of
3956         regcomp and regexec.  We've omitted the REG_NEWLINE flag; hope
3957         that's okay.
3958
3959         * boot-9.scm (with-regexp-parts): Comment this out.  It has no
3960         users in the core, and relies on mildly hairy details of the old
3961         regexp interface.
3962
3963         * test.scm: Re-enable tests asserting that '() is true, and not a
3964         boolean.  This stuff has been true for a while.
3965
3966         * boot-9.scm (ipow-by-squaring, butlast): Fix uses of outdated
3967         function names.
3968
3969         * boot-9.scm (with-excursion-getter-and-setter, q-rear): Doc
3970         fixes.
3971
3972 Wed Jun 11 00:31:40 1997  Jim Blandy  <jimb@floss.red-bean.com>
3973
3974         * Makefile.in: Regenerated after xtra_PLUGIN_guile_libs change in
3975         ../configure.in.
3976
3977 Fri Jun  6 14:37:18 1997  Marius Vollmer  <mvo@zagadka.ping.de>
3978
3979         * boot-9.scm (struct-printer): Bugfix: Check the layout of the
3980         vtable and not the one of the struct.
3981
3982 Wed Jun  4 23:27:16 1997  Marius Vollmer  <mvo@zagadka.ping.de>
3983
3984         * boot-9.scm (struct-layout, %struct-printer-tag, struct-printer,
3985         make-struct-printer, set-struct-printer-in-vtable!): New bindings
3986         to support printing of structures.
3987         (record-type-vtable, make-record-type): Add slot to hold printing
3988         function and initialize it with something appropriate.  Removed
3989         commented out printing code.
3990         (record-type-name, record-type-fields): Adjusted slot offsets.
3991         (%print-module): Reduce argument list to "mod" and "port".
3992
3993 Tue Jun  3 17:04:18 1997  Jim Blandy  <jimb@totoro.cyclic.com>
3994
3995         * slib.scm (identity): New function, used by SLIB.
3996
3997 Sat May 31 18:57:12 1997  Gary Houston  <ghouston@actrix.gen.nz>
3998
3999         * boot-9.scm: signal-handler, alarm-thunk: removed.
4000         don't define ticks-interrupt etc.
4001         top-repl: install signal handlers for SIGINT, SIGFPE, SIGSEGV, SIGBUS
4002         during call to scm-style-repl.
4003
4004 Fri May 30 18:08:10 1997  Jim Blandy  <jimb@floss.cyclic.com>
4005
4006         * slib.scm (slib:load): Use primitive-load-path instead of
4007         basic-load.  This is probably wrong, but hopefully the entire
4008         source access system will be revised soon anyway, and this will
4009         make require behave more like Emacs Lisp's require.  If this
4010         breaks something, please let me know.  Maybe this is real dumb.
4011
4012 Thu May 29 02:36:48 1997  Jim Blandy  <jimb@floss.cyclic.com>
4013
4014         * regex.scm: Add a module declaration.  Use DEFINE-PUBLIC everywhere.
4015         * boot-9.scm: If the `regex' feature is present, use the module
4016         (ice-9 regex).
4017
4018 Tue May 27 22:48:14 1997  Tim Pierce  <twp@twp.tezcat.com>
4019
4020         * regex.scm: New file.
4021         * Makefile.am (subpkgdata_DATA): Add regex.scm.
4022         * Makefile.in: Regenerated.
4023
4024 Mon May 26 17:24:48 1997  Jim Blandy  <jimb@totoro.cyclic.com>
4025
4026         * COPYING, boot-9.scm, debug.scm, emacs.scm, expect.scm, gtcl.scm,
4027         gwish.scm, hcons.scm, lineio.scm, mapping.scm, nonblocking.scm,
4028         oldprint.scm, poe.scm, r4rs.scm, source.scm, tags.scm, test.scm,
4029         threads.scm: New address for FSF.
4030
4031 Fri May 16 04:09:45 1997  Jim Blandy  <jimb@floss.cyclic.com>
4032
4033         * debug.scm: Update copyright years; this file has been worked on
4034         in 1997.
4035
4036 Thu May 15 07:56:08 1997  Gary Houston  <ghouston@actrix.gen.nz>
4037
4038         * expect.scm: use gettimeofday instead of get-internal-real-time
4039         and use a floating point timeout when calling select.  Untested,
4040         since the regex library is currently AWOL.
4041
4042 Wed May 14 21:00:30 1997  Jim Blandy  <jimb@floss.cyclic.com>
4043
4044         * boot-9.scm (eval-string): Function deleted; it was already
4045         implemented in C, so there's no point in making a divergable copy
4046         here.
4047
4048 Tue May 13 16:40:06 1997  Jim Blandy  <jimb@floss.cyclic.com>
4049
4050         * Makefile.in: Regenerated, using automake-1.1p.
4051
4052 Tue May 13 16:40:06 1997  Jim Blandy  <jimb@floss.cyclic.com>
4053
4054         * Makefile.in: Regenerated, using automake-1.1p.
4055
4056 Tue May 13 02:48:49 1997  Gary Houston  <ghouston@actrix.gen.nz>
4057
4058         * boot-9.scm (error-catching-loop): don't read a line from
4059         current input when quit is encountered, the previous change
4060         fixes this too.
4061
4062 Mon May 12 19:00:21 1997  Jim Blandy  <jimb@floss.cyclic.com>
4063
4064         * boot-9.scm (scm-style-repl): After reading an expression,
4065         consume any trailing newline (perhaps preceded by whitespace), to
4066         avoid screwing up GDB.  More detail in comments.
4067
4068 Mon May  5 13:18:38 1997  Jim Blandy  <jimb@floss.cyclic.com>
4069
4070         * Makefile.am (ETAGS_ARGS): New variable, since we're not treating
4071         the Scheme code like code yet.
4072         * Makefile.in: Resrac,husrched.
4073
4074 Wed Apr 30 15:25:15 1997  Marius Vollmer  <mvo@zagadka.ping.de>
4075
4076         * boot-9.scm (link-dynamic-module): Do not catch errors from
4077         dynamic-link and dynamic-call.  When the shared library exists it
4078         is now assumed to be suitable for a dynamic C module.
4079
4080 Fri Apr 25 21:21:35 1997  Marius Vollmer  <mvo@zagadka.ping.de>
4081
4082         * boot-9.scm (process-use-modules): New function to support the
4083         use-modules macro
4084         (use-modules): throw an error iff one of the requested modules
4085         can't be found.
4086
4087 Tue Apr 29 06:54:46 1997  Gary Houston  <ghouston@actrix.gen.nz>
4088
4089         * boot-9.scm: don't define timer-thunk or gc-thunk.
4090
4091 Sun Apr 27 17:56:09 1997  Jim Blandy  <jimb@floss.cyclic.com>
4092
4093         * aclocal.m4: Removed; unnecessary, given changes of Apr 24.
4094
4095         * Makefile.am (subpkgdatadir): Use "ice-9" instead of "@module@";
4096         we're not using AM_INIT_GUILE_MODULE any more.
4097         * Makefile.in: Regeneratitetedrerd.
4098
4099 Thu Apr 24 01:33:33 1997  Jim Blandy  <jimb@floss.cyclic.com>
4100
4101         Get 'make dist' to work again.
4102         * Makefile.am (EXTRA_DIST): Remove PLUGIN files.
4103         * Makefile.in: Regenerated, like two tons of fleas.
4104
4105         Changes for reduced Guile distribution: one configure script,
4106         no plugins.
4107         * configure.in, configure: Removed.
4108         * Makefile.in: Regenerated.
4109
4110 Sat Apr 19 08:03:50 1997  Jim Blandy  <jimb@floss.cyclic.com>
4111
4112         * boot-9.scm (eval-string, command-line, load-user-init): New
4113         functions.
4114
4115 Sat Apr 12 08:27:05 1997  Gary Houston  <ghouston@actrix.gen.nz>
4116
4117         * boot-9.scm (log10): defined.
4118
4119 Tue Apr  1 17:46:49 1997  Gary Houston  <ghouston@actrix.gen.nz>
4120
4121         * expect.scm (expect-select): correct the millisecond timeout
4122         arithmetic (from Marko.Kohtala@ntc.nokia.com).
4123
4124 Mon Mar 31 03:23:19 1997  Gary Houston  <ghouston@actrix.gen.nz>
4125
4126         * boot-9.scm (open-input-pipe, open-output-pipe): defined here
4127         instead of in libguile.
4128         (tm:sec etc.) new accessors for broken-down time.
4129         (set-tm:sec etc.) new setters for broken-down time.
4130
4131 Thu Mar 27 05:06:00 1997  Gary Houston  <ghouston@actrix.gen.nz>
4132
4133         * boot-9.scm (netent:addrtype, servent:port): added missing
4134         procedures.
4135         (netent:net, servent:proto): repaired.
4136         (utsname:sysname etc.): new accessors for uname.
4137
4138 Tue Mar 25 03:04:03 1997  Gary Houston  <ghouston@actrix.gen.nz>
4139
4140         * boot-9.scm (sockaddr:fam, sockaddr:path, sockaddr:addr,
4141         sockaddr:port): new functions.
4142
4143 Wed Mar 19 04:50:34 1997  Gary Houston  <ghouston@actrix.gen.nz>
4144
4145         * boot-9.scm: define accessor procedures for the objects returned
4146         by getpw, getgr, gethost, getnet, getproto, getserv (e.g.,
4147         passwd:name, where the first component is the name of the C structure
4148         and the second is the unprefixed C member name.)
4149
4150 Tue Mar 18 18:39:31 1997  Gary Houston  <ghouston@actrix.gen.nz>
4151
4152         * boot-9.scm (setpwent, setgrent, sethostent, setnetent, setprotoent,
4153         setservent): no longer take an argument, it was bogus.
4154
4155 Thu Mar 13 00:13:41 1997  Gary Houston  <ghouston@actrix.gen.nz>
4156
4157         * boot-9.scm (scm-error): deleted, reimplemented in C.
4158
4159 Mon Mar 10 15:48:31 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
4160
4161         * boot-9.scm (process-define-module): Modified to handle both
4162         keywords and symbols.
4163
4164 Sat Mar  8 04:32:44 1997  Gary Houston  <ghouston@actrix.gen.nz>
4165
4166         * slib.scm: update read usage.
4167
4168         * r4rs.scm: update primitive-load usage.
4169         Don't define read-sharp.
4170
4171         * boot-9.scm: use read-hash-extend to install extra read syntax.
4172         (read-sharp): removed.
4173         Adjust usage of primitive-load-path, read, which no longer take
4174         case_i or read-sharp arguments.
4175
4176 Sat Mar  8 00:07:54 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
4177
4178         * boot-9.scm: Added loading of session support module.
4179
4180         * debug.scm: Removed `display-application'.  (Replaced by
4181         primitive procedure.)
4182
4183         * boot-9.scm (beautify-user-module!): Don't add the root module
4184         interface to the end of the use-list of the root module.
4185
4186 Thu Mar  6 07:26:34 1997  Gary Houston  <ghouston@actrix.gen.nz>
4187
4188         * boot-9.scm: repl-quit, repl-abort: obsolete variables deleted.
4189
4190 Wed Mar  5 20:30:24 1997  Gary Houston  <ghouston@actrix.gen.nz>
4191
4192         * boot-9.scm: check use-emacs-interface for emacs support.
4193
4194 Sun Mar  2 19:47:14 1997  Gary Houston  <ghouston@actrix.gen.nz>
4195
4196         * boot-9.scm (scm-style-repl): call repl-report-start-timing if
4197         read gets EOF.
4198         * (exit): alias for quit.
4199
4200 Sun Mar  2 05:25:11 1997  Gary Houston  <ghouston@actrix.gen.nz>
4201
4202         * boot-9.scm (error-catching-loop thunk): use a status variable to
4203         return the quit args.
4204         (scm-style-repl): call -quit, passing return value from
4205         error-catching-repl.  Make -quit return its args.
4206         stand-alone-repl: comment out, since it seems unused.
4207
4208         (error-catching-loop thunk): discard trailing junk after a (quit).
4209
4210 Sat Mar  1 15:24:39 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
4211
4212         * boot-9.scm: Removed the old printer code.
4213
4214         * r4rs.scm (apply, call-with-current-continuation): Added comment
4215         explaining why apply and call/cc need to be closures.
4216
4217         * boot-9.scm (apply, call-with-current-continuation): Bugfix:
4218         Removed. These definitions are already present in r4rs.scm.
4219
4220         * debug.scm (trace-entry, trace-exit): Check that we're on a repl
4221         stack before printing traced frames; Re-enable trace flag at end
4222         of handlers.
4223
4224 Sat Mar  1 00:10:38 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
4225
4226         * debug.scm: Add hook for reset of trace level at abort.
4227
4228         * boot-9.scm (run-hooks): New procedure.
4229         (add-hooks!): New macro.
4230         Change hooks to use these functions.
4231
4232         * debug.scm: *Warning* This feature is a bit premature.  I add
4233         it anyway because 1. it is very useful, and, 2. you can start
4234         making it less premature by complaining to me and by modifying
4235         the source! :-)
4236         (trace): Given one or more procedure objects, trace each one.
4237         Given no arguments, show all traced procedures.
4238         (untrace): Given one or more procedure objects, untrace each one.
4239         Given no arguments, untrace all traced procedures.  The tracing in
4240         Guile have an advantage to most other systems: We don't create new
4241         procedure objects, but mark the procedure objects themselves.
4242         This means that also anonymous and internal procedures can be
4243         traced.
4244
4245         * boot-9.scm (error-catching-loop): Added handling of apply-frame
4246         and exit-frame exceptions.
4247
4248         * boot-9.scm (assert-repl-prompt, the-prompt-string): Removed.
4249         (set-repl-prompt!): Setter for repl prompt.
4250         (scm-style-repl): If prompt is #f, don't prompt; if prompt is a
4251         string, display it; if prompt is a thunk, call it and display its
4252         result; otherwise display "> ".
4253         (Change suggested by Roland Orre <orre@nada.kth.se>.)
4254
4255         * r4rs.scm (%load-verbosely): Reverted change to
4256         `module-defined?', since the module system isn't bootstrapped when
4257         we load r4rs.scm.  This is just a temporary fix to make the
4258         repository version runnable.
4259
4260 Thu Feb 27 23:25:47 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
4261
4262         * boot-9.scm: Removed the enabling of debug evaluator and
4263         recording of source code positions.  This was placed there for our
4264         convenience, but it has already sneaked into the distribution
4265         once... so we'd better add this in our local copies instead when
4266         we need it.  (These options are normally enabled at the end of
4267         boot-9.scm when loading the debug module.)
4268
4269 Thu Feb 27 16:04:45 1997  Marius Vollmer  <mvo@zagadka.ping.de>
4270
4271         * boot-9.scm (module-defined?): New function.
4272         (macroexpand-1, macroexpand): Use local-ref instead of defined?
4273         and eval.
4274         * r4rs.scm (%load-verbosely): Use "module-defined?" instead of
4275         "defined?".
4276         * slib.scm (defined?): New function to take the place of the
4277         builtin "defined?".  It allways examines the slib module.
4278
4279 Mon Feb 24 21:46:15 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
4280
4281         * configure.in: Added AM_MAINTAINER_MODE
4282
4283 Sat Feb 15 04:51:20 1997  Gary Houston  <ghouston@actrix.gen.nz>
4284
4285         * boot-9.scm (read-sharp): define directly, don't go through a
4286         %read-sharp layer.
4287
4288 Tue Feb 11 08:45:48 1997  Gary Houston  <ghouston@actrix.gen.nz>
4289
4290         * boot-9.scm (uniform-vector-set!): use uniform-array-set1!, not
4291         uniform-vector-set1! which doesn't exist.
4292
4293 Mon Feb 10 03:01:48 1997  Mikael Djurfeldt  <mdj@kenneth>
4294
4295         * boot-9.scm (backtrace): Removed.  (A C version now exists in
4296         backtrace.c.)
4297
4298 Fri Jan 24 06:05:36 1997  Gary Houston  <ghouston@actrix.gen.nz>
4299
4300         * boot-9.scm (read-line!, read-delimited!, read-delimited,
4301         read-line): new procedures, see libguile/ChangeLog.
4302
4303 Thu Jan 16 17:07:03 1997  Marius Vollmer  <mvo@zagadka.ping.de>
4304
4305         Added dynamic linking of modules. See libguile/DYNAMIC-LINKING.
4306
4307         * boot-9.scm (split-c-module-name, convert-c-registered-modules,
4308         init-dynamic-module, dynamic-maybe-call,
4309         find-and-link-dynamic-module, link-dynamic-module,
4310         try-module-dynamic-link, registered-modules): New definitions for
4311         dynamic linking of modules.
4312         (resolve-module): Try to dynamically link the requested module
4313         after failing to load it as Scheme code.
4314
4315 Wed Jan  8 05:50:14 1997  Gary Houston  <ghouston@actrix.gen.nz>
4316
4317         * boot-9.scm (getservbyport, getservbyname): remove stray %.
4318
4319 Tue Jan  7 20:02:24 1997  Jim Blandy  <jimb@floss.cyclic.com>
4320
4321         * boot-9.scm (and=>): Rename THUNK argument to PROCEDURE, 'cos
4322         that's what it is.
4323
4324         * lineio.scm (make-line-buffering-input-port): Properly test for
4325         the case of an empty buffer list.  The old code assumed that '()
4326         was false.
4327
4328 Mon Jan  6 01:13:53 1997  Mikael Djurfeldt  <mdj@kenneth>
4329
4330         * boot-9.scm (use-modules): New macro (from Marius Vollmer).
4331         (use-modules <module name> ...) Put the the modules named by
4332         <module name> ... on the use list of the current module.
4333
4334 Sun Jan  5 15:52:59 1997  Jim Blandy  <jimb@floss.cyclic.com>
4335
4336         * boot-9.scm (error-catching-loop): Remove message saying that
4337         typing "$" will put you in the debugger.  This isn't implemented
4338         yet.
4339
4340 Sun Dec 22 23:27:25 1996  Jim Blandy  <jimb@floss.cyclic.com>
4341
4342         * boot-9.scm (delq-all!): Function deleted; delq!'s semantics have
4343         been fixed, so this function is superfluous.
4344         (transform-usage-lambda): Use delq!, not delq-all!.
4345
4346 Tue Dec 17 20:36:45 1996  Marius Vollmer  <mvo@zagadka.ping.de>
4347
4348         * boot-9.scm (resolve-module): New optional parameter that
4349         controls whether autoloading is attempted or not. Default is #t.
4350         (process-define-module): Don't autoload the defined module.
4351         (try-module-autoload): Don't autoload the directory modules.
4352
4353         * boot-9.scm (process-define-module): Ensure that the-scm-module
4354         is last in the `uses' list to allow shadowing builtin
4355         bindings. All :use-module options are added in the order they
4356         appear in the arguments but before anything already on the list
4357         (such as the-scm-module).
4358
4359 Wed Dec 11 21:06:05 1996  Gary Houston  <ghouston@actrix.gen.nz>
4360
4361         * slib.scm (slib-parent-dir): throw error if #f returned from
4362         %search-load-path.
4363
4364 Sat Nov 30 23:57:28 1996  Tom Tromey  <tromey@cygnus.com>
4365
4366         * PLUGIN/greet, PLUGIN/split.sed, PLUGIN/this.configure: Removed.
4367         * Makefile.am, aclocal.m4: New files.
4368         * configure.in: Updated for Automake.
4369
4370 Wed Nov 27 14:16:14 1996  Marius Vollmer  <mvo@zagadka.ping.de>
4371
4372         * boot-9.scm (macroexpand-1, macroexpand), slib.scm
4373         (slib:features), r4rs.scm (%load-verbosely): "defined?" is now a
4374         function, use it accordingly.
4375
4376 Thu Nov 21 11:12:10 1996  Jim Blandy  <jimb@floss.cyclic.com>
4377
4378         It's an "eval closure", not an "eval thunk."  A thunk is a
4379         function of no arguments.
4380         * boot-9.scm (module-type): Rename module field.
4381         (make-module, eval-in-module, make-root-module,
4382         set-current-module): Uses changed.
4383         (module-eval-closure, set-module-eval-closure!,
4384         root-module-closure): Renamed from module-eval-thunk,
4385         set-module-eval-thunk!, root-module-thunk.
4386         (set-current-module): Change uses of *top-level-lookup-thunk* to
4387         *top-level-eval-closure*.
4388
4389 Wed Nov 20 14:45:27 1996  Jim Blandy  <jimb@totoro.cyclic.com>
4390
4391         * slib.scm (slib-parent-dir): Use string-length, not length.
4392         (Thanks to Bernard Urban.)
4393
4394 Sat Nov  2 20:00:42 1996  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
4395
4396         * boot-9.scm: The debugging evaluator and recording of positions
4397         aren't enabled by default any longer (they are switched on in
4398         debug.scm).  But during development we want to have them also
4399         *inside* boot-9.scm.  Therefore, two lines are added at the
4400         beginning of boot-9.scm to enable these.
4401
4402         Call `provide' so that `records' are included among the
4403         `*features*'.
4404
4405         The scheme for saving the stack has been adjusted: save-stack is
4406         now commonly available for saving the stack.  Calling `save-stack'
4407         sets a flag `stack-saved?' which prevents overwriting the stack.
4408         `stack-saved?' is reset at `abort'.
4409
4410         Spelling correction: seperate --> separate.
4411
4412         Removed `:'s that had creeped into some comments.
4413
4414         The repl now doesn't print #<unspecified> results any longer
4415         If the user wants to see this, he can do
4416         (assert-repl-print-unspecified #t) in his startup file.
4417
4418         The user now gets a friendly message instead of a backtrace at
4419         error.
4420
4421         Added `before-read-hook'.
4422
4423         Load module (ice-9 emacs) if option `-e' was specified.
4424
4425         (provide): New function.
4426
4427         (error): Save stack at entry, so that Guile entrails won't show up
4428         in backtraces.
4429
4430         (backtrace): New function.
4431
4432         (save-stack): Can now take arbitrary number of stack narrowing
4433         specifier pairs.  The first specifier in a pair controls inner
4434         border, the second the outer border.  A number means cut that
4435         number of frames, a procedure object means cut until that object
4436         is found in operator position in a frame.
4437
4438         * debug.scm: Enable debugging evaluator and recording of positions
4439         by default.
4440
4441         * slib.scm (slib:load): Adapt to the new behavior of
4442         primitive-load: It doesn't any longer try both with and without
4443         ".scm" extension.  (We don't want to use %search-load-path here.)
4444
4445         (implementation-vicinity): New function.  slib requires it
4446
4447         (library-vicinity): Updated.
4448
4449         Load "require.scm" in the library-vicinity.
4450
4451         (install-require-vicinity, install-require-module): New functions.
4452
4453 Mon Oct 28 17:56:29 1996  Jim Blandy  <jimb@floss.cyclic.com>
4454
4455         * boot-9.scm (load-from-path): New function.
4456
4457         * boot-9.scm (try-load, basic-try-load, try-load-module,
4458         try-load): Deleted.  I don't think they're being used.
4459
4460         * Makefile.in (scm_files): Add r4rs.scm and test.scm to this list,
4461         so they'll get distributed.
4462
4463         Get Guile to be a little less chatty by default.  The new user
4464         should see as little clutter as possible.
4465         * r4rs.scm (%load-verbosely): Make this #f by default.
4466         * boot-9.scm (scm-repl-verbose): Make this #f by default.
4467         (scm-style-repl): Don't run 'pk' on the value passed to quit.
4468
4469         * r4rs.scm: New file.
4470         * boot-9.scm: Load r4rs.scm, first thing.
4471         (OPEN_READ, OPEN_WRITE, OPEN_BOTH, *null-device*, open-input-file,
4472         open-output-file, open-io-file, close-input-port,
4473         close-output-port, close-io-port, call-with-input-file,
4474         call-with-output-file, with-input-from-port, with-output-to-port,
4475         with-error-to-port, with-input-from-file, with-output-to-file,
4476         with-error-to-file, with-input-from-string, with-output-to-string,
4477         with-error-to-string, the-eof-object): Definitions moved to
4478         r4rs.scm.  Not all of them are R4RS, but those that are use those
4479         that are not.
4480         (load, %load-verbosely, %load-announce): Moved, along with code to
4481         set %load-hook, to r4rs.scm.
4482
4483         * test.scm: New file.
4484
4485         * boot-9.scm (integer?): Definition deleted, in favor of the one
4486         present in libguile (which used to be called int?).  I have no
4487         idea why integer? didn't just call int? to begin with.
4488
4489         * boot-9.scm (<, <=, =, >, >=): Definitions in terms of <?, <=?,
4490         =?, >?, and >=? deleted; they're defined that way by libguile now.
4491
4492         * boot-9.scm (load): Simplified; primitive-load does most of this
4493         work now.
4494         (%load-announce-win): Removed; no longer used.  Set %load-hook to
4495         call %load-announce.
4496
4497 Sun Oct 27 07:47:03 1996  Gary Houston  <ghouston@actrix.gen.nz>
4498
4499         * boot-9.scm (stat:dev, stat:ino, stat:mode, stat:nlink, stat:uid,
4500         stat:gid, stat:rdev, stat:size, stat:atime, stat:mtime,
4501         stat:ctime, stat:blksize, stat:blocks) accessor functions for stat
4502         components.
4503         (file-is-directory?): use stat:type.
4504
4505 Fri Oct 25 03:34:47 1996  Jim Blandy  <jimb@floss.cyclic.com>
4506
4507         * boot-9.scm (%read-sharp): Don't recognize the `#!' syntax here;
4508         that's now taken care of in libguile, and in a way compatible with
4509         SCSH (which this isn't).
4510
4511 Mon Oct 21 18:52:36 1996  Jim Blandy  <jimb@totoro.cyclic.com>
4512
4513         * boot-9.scm: Formatting tweaks.
4514
4515 Fri Oct 18 01:03:08 1996  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
4516
4517         * boot-9.scm (handle-system-error): Added hooks before-error-hook,
4518         after-error-hook, before-backtrace-hook and after-backtrace-hook
4519         to the error handler.  E.g.: fancy emacs support could plug into
4520         these.
4521         (save-stack): New function.  The stack is now made differently
4522         depending on the stack id.  (The motivation is to make a better
4523         choice regarding what stack frames to present to the user.)
4524         (error-catching-loop): Stack handling code moved outside into
4525         save-stack.
4526
4527 Thu Oct 17 20:33:08 1996  Gary Houston  <ghouston@actrix.gen.nz>
4528
4529         * Makefile.in (scm_files): add expect.scm.
4530
4531         * expect.scm: new file ported from guile-iii.
4532
4533         * boot-9.scm: remove handle-system-error, after moving the code into
4534         error-catching-loop.
4535         Don't set 'throw-handler-default property on error keys.
4536         Just interpret (almost) any throw with 4 args as an error throw.
4537         Delete some try-load stuff that was already commented out.
4538
4539         Second thoughts, keep handle-system-error but call it from
4540         error-catching-loop.
4541
4542 Tue Oct 15 17:07:20 1996  Jim Blandy  <jimb@floss.cyclic.com>
4543
4544         * boot-9.scm: Doc fixes.
4545         (make-module): Rework for readability.
4546         (make-root-module, make-scm-module): USES argument to make-module
4547         should be '(), not #f.
4548
4549         * boot-9.scm (try-load): %sys-load-path has been renamed to
4550         primitive-load-path; adjust call here.
4551
4552 Tue Oct 15 14:25:01 1996  Mikael Djurfeldt  <mdj@woody.nada.kth.se>
4553
4554         * boot-9.scm (signal-handler): Bugfix: Moved the recording of
4555         the stack to the correct place: when it is decided to generate an
4556         error-signal.
4557
4558 Mon Oct 14 22:20:30 1996  Mikael Djurfeldt  <mdj@woody.nada.kth.se>
4559
4560         * boot-9.scm (error-catching-loop, signal-handler,
4561         handle-system-error): Backtracing now works for signals aswell;
4562         Backtracing mechanism can now identify the stack root created by
4563         start-stack so that the user isn't exposed to system stack frames.
4564
4565 Mon Oct 14 06:05:42 1996  Mikael Djurfeldt  <mdj@woody.nada.kth.se>
4566
4567         * Makefile.in: Added threads.scm.
4568
4569 Mon Oct 14 04:21:51 1996  Mikael Djurfeldt  <mdj@woody.nada.kth.se>
4570
4571         * debug.scm (make-enable, make-disable): Simplified.
4572
4573         * boot-9.scm: Renamed %%throw-handler-default -->
4574         throw-handler-default.
4575         ((handle-system-error key . arg-list)): Changed the way errors are
4576         reported.
4577         ((scm-style-repl)): Wrap up the call to eval in a start-stack
4578         acro.
4579         ((error-catching-loop thunk)): Introduce a lazy-catch into
4580         error-catching-loop so that the stack can be captured.
4581
4582 Thu Oct 10 22:27:32 1996  Jim Blandy  <jimb@totoro.cyclic.com>
4583
4584         * mapping.scm (hash-table-mapping): Explicitly request that
4585         make-vector fill new vectors with '(); this will make it easier to
4586         port Guile Scheme code to other Schemes.
4587         * boot-9.scm (make-print-style, make-print-table): Same.
4588
4589 Sun Oct  6 03:54:59 1996  Gary Houston  <ghouston@actrix.gen.nz>
4590
4591         * boot-9.scm (load): rewritten again.
4592         Append "." to the default %load-path.
4593         (feature?): new function: checks for a symbol in the features list.
4594         (module-local-variable): remove apparently useless (caddr (list m v
4595         ...))
4596         (%load-announce): minor formatting change.
4597         (file-exists?): use access? if posix is featured.
4598         (file-is-directory?): use stat if i/o-extensions is featured.
4599         (try-module-autoload module-name): use file-exists? before
4600         file-is-directory?
4601
4602 Sat Oct  5 18:54:03 1996  Mikael Djurfeldt  <mdj@kenneth>
4603
4604         * boot-9.scm: Added conditional loading of threads.scm.
4605
4606         * threads.scm: New file.  Modified from the Cygnus-r0.3
4607         distribution.
4608
4609         * boot-9.scm (error-catching-loop): Added handling of key
4610         `switch-repl'.
4611
4612         * boot-9.scm: Name change %%bad-throw --> bad-throw.
4613
4614 Wed Oct  2 23:38:44 1996  Jim Blandy  <jimb@totoro.cyclic.com>
4615
4616         * boot-9.scm (make-record-type, record-constructor): Don't assume
4617         the empty list is false when parsing the argument list.
4618
4619 Mon Sep 30 22:15:50 1996  Jim Blandy  <jimb@totoro.cyclic.com>
4620
4621         * boot-9.scm (signal-handler): Clean up logic.
4622
4623         * boot-9.scm (load): Assume %load-path is always bound.
4624
4625 Sat Sep 28 00:15:37 1996  Gary Houston  <ghouston@actrix.gen.nz>
4626
4627         * boot-9.scm (error): replace another throw with scm-error.  Throw
4628         to 'misc-error instead of 'error (no need to distinguish these.)
4629         Don't set up 'error as a key.
4630         Set up regex-error as a key, if regex is available.
4631         (signal-handler): use scm-error, not throw.
4632
4633         (%try-load, try-load-with-path, %load, load-with-path,
4634         basic-try-load-with-path, basic-load-with-path,
4635         try-load-module-with-path,load-module-with-path): deleted, since
4636         they seem redundant.
4637         (try-load): define using %try-load, not try-load-with-path.
4638         (load): rewritten.  load tries to open the file directly and
4639         with a .scm extension before searching the library directories
4640         (should "." be added to %load-path?  then load could still open
4641         directly files starting with "/").
4642         (try-module-autoload): use load, not load-with-path.
4643         (%load-indent): deleted, -2 was causing errors.
4644
4645         (%read-sharp): use port-line, not line-number.
4646
4647 Fri Sep 27 16:23:51 1996  Jim Blandy  <jimb@totoro.cyclic.com>
4648
4649         * boot-9.scm (%%bad-throw): Delete definition. 1) It's very
4650         straightforward to provide the equivalent functionality using
4651         (catch #t ...), so there's no need for the extra complexity.  2)
4652         Outside the context of a read-eval-print loop (which Guile should
4653         not require) it's not clear we should do anything more complicated
4654         than print an error and exit; the user or REPL can establish
4655         something better if it wants.  3) In that case, it's much more
4656         robust to just do it in the C code.
4657
4658 Tue Sep 24 06:53:04 1996  Gary Houston  <ghouston@actrix.gen.nz>
4659
4660         * boot-9.scm (%try-load): define using primitive-load.  Previously
4661         %try-load itself was the primitive.
4662         (load-with-path): use scm-error instead of %load-announce-lossage.
4663         Errors are thrown to 'misc-error instead of 'could-not-load.
4664         (%load-announce-lossage): deleted.
4665
4666 Mon Sep 23 00:16:31 1996  Mikael Djurfeldt  <mdj@kenneth>
4667
4668         * boot-9.scm (warn, scm-style-repl): Use C printer instead of `print'.
4669         (make-record-type type-name fields): Temporarily remove support
4670         for printing of records (not possible yet with C printer).
4671
4672 Fri Sep 20 00:24:27 1996  Gary Houston  <ghouston@actrix.gen.nz>
4673
4674         * boot-9.scm (file-exists?, file-is-directory): catch only
4675         system-error, not every kind of error.
4676         (scm-error): new procedure.
4677
4678 Thu Sep 19 16:02:46 1996  Jim Blandy  <jimb@totoro.cyclic.com>
4679
4680         * boot-9.scm: Formatting tweaks.
4681
4682 Wed Sep 18 09:07:37 1996  Gary Houston  <ghouston@actrix.gen.nz>
4683
4684         * boot-9.scm (%%handle-system-error key): remove the code for
4685         SCM-style errors.  handle the case that an unexpected number
4686         of args are supplied.
4687         (%%system-errors): removed.
4688         (error): redefine using a throw with key and 4 args.
4689         ('error): associate 'error, 'error-signal keys with
4690         %%handle-system-error.
4691         (%%default-error-handler): removed.
4692         (signal-handler): throw with 4 args and use the error-signal key.
4693         Create an error message instead of using numerical codes.
4694         (%%bad-throw): call error instead of throw if key not found.
4695
4696 Tue Sep 17 04:11:28 1996  Gary Houston  <ghouston@actrix.gen.nz>
4697
4698         * boot-9.scm: initialize new error keys (see libguile/ChangeLog).
4699         (%%handle-system-error key): check subr is not #f before printing.
4700         Recognize %s (embed an argument using "display") and
4701         %S (embed an argument using "write").
4702
4703 Sun Sep 15 03:55:35 1996  Gary Houston  <ghouston@actrix.gen.nz>
4704
4705         * boot-9.scm (%%handle-system-error key): set args and rest to
4706         the empty list if they are #f.
4707         Initialize out-of-range as an error key.
4708
4709 Sat Sep 14 03:41:15 1996  Gary Houston  <ghouston@actrix.gen.nz>
4710
4711         * PLUGIN/REQ: remove the "ice-9 lgh" line which causes a cycle.
4712
4713         * boot-9.scm: remove leading %% from references to '%%system-error.
4714         (%%handle-system-error): don't pass all the thrown arguments when
4715         aborting, just the key and subr.
4716         Remove the code to "Install default handlers for built-in errors."
4717         Remove the definition of the syserror procedure.
4718         Associate 'numerical-overflow with default handler.
4719
4720 Fri Sep 13 04:58:11 1996  Mikael Djurfeldt  <mdj@woody.nada.kth.se>
4721
4722         * boot-9.scm: Name change: value-ref --> local-ref
4723         resolved-ref --> nested-ref  Motivation: conformance to the other
4724         dictionary operators: list-ref operates on list, vector-ref
4725         operates on vector, nested-ref operates on nested namespace,
4726         local-ref operates on the local nested namespace.
4727
4728 Sat Sep  7 06:44:47 1996  Gary Houston  <ghouston@actrix.gen.nz>
4729
4730         * boot-9.scm (%%handle-system-error): recognise errors thrown
4731         by lgh-error (fill-message etc.)
4732         (fill-message): check first whether args is null.
4733         (fill-message): bug fix and check that args is a list.
4734
4735 Thu Sep  5 11:33:41 1996  Jim Blandy  <jimb@floss.cyclic.com>
4736
4737         * boot-9.scm: %load-path is initialized in C code now.
4738         (implementation-vicinity, parse-path): Deleted, along with code to
4739         initialize %load-path.
4740
4741         * boot-9.scm (in-vicinity): If the vicinity doesn't end with a
4742         "/", use one to separate it from the file.
4743
4744 Thu Aug 29 23:05:11 1996  Thomas Morgan  <tmorgan@gnu.ai.mit.edu>
4745
4746         * boot-9.scm (%load-path): Add the site directory.
4747         Add the directory named after the version number.
4748         Prepend the version number to the other directories in the path.
4749         Simplify by mapping the common prefix onto each item.
4750         * Makefile.in (datadir, pkgdatadir, pkgverdatadir, subpkgdatadir,
4751         sitedatadir): New definitions.
4752         (libparent, libdir, install_path): Replaced by above.
4753         (install): Create the above directories.
4754         Put the source files into subpkgdatadir.
4755         (uninstall): Remove the above directories.
4756
4757 Thu Aug 29 21:48:47 1996  Jim Blandy  <jimb@floss.cyclic.com>
4758
4759         Don't use the PLUGIN system to gather information for the
4760         Makefile's distribution and installation targets; just put it all
4761         in the Makefile directly.
4762         * PLUGIN/this.configure (scm_files, aux_files): Remove sections
4763         for these.
4764         * configure.in: Remove code that gets and substitutes scm_files and
4765         aux_files.
4766         * Makefile.in (scm_files, aux_files): Write out the list of files
4767         here, where people expect to find them.
4768
4769 Fri Aug 23 06:44:36 1996  Mikael Djurfeldt  <mdj@woody.nada.kth.se>
4770
4771         * boot-9.scm: Preliminary solution: optionally load the debug
4772         module.  Changed "gls" to "guile1.0b3".
4773
4774         * debug.scm: New file: debug extensions.
4775
4776 Wed Aug 21 13:06:56 1996  Mikael Djurfeldt  <mdj@woody.nada.kth.se>
4777
4778         * boot-9.scm (print-vector): Renamed weak-hash-table? -->
4779         weak-key-hash-table?.  (Again!)
4780
4781 Tue Aug 20 07:31:39 1996  Mikael Djurfeldt  <mdj@woody.nada.kth.se>
4782
4783         * boot-9.scm (print-vector, macro-table, xformer-table):
4784         Renamed weak-hash-table --> weak-key-hash-table.
4785
4786         * poe.scm (funcq-memo): Renamed weak-hash-table -->
4787         weak-key-hash-table.
4788
4789 Sat Aug  3 06:16:35 1996  Gary Houston  <ghouston@actrix.gen.nz>
4790
4791         * boot-9.scm (*null-device*): global constant from goonix.
4792         (move->fdes): adjusted for boolean primitive-move->fdes.  return
4793         the modified port, always set revealed count to 1 (SCSH compatible).
4794         (release-port-handle port): from goonix (SCSH compatible).
4795         (%open-file): removed.
4796         (open-input-file, open-output-file, file-exists?, file-is-directory?):
4797         modified for open-file change (does not return #f).
4798
4799 Thu Aug  1 02:52:42 1996  Jim Blandy  <jimb@totoro.cyclic.com>
4800
4801         * Makefile.in (dist-dir): New target for new dist system.
4802         (manifest): Deleted.
4803         * PLUGIN/this.configure (aux_files): Removed PLUGIN; it's a
4804         directory, and needs special treatment in the dist-dir target.
4805
4806 Thu Aug  1 09:00:21 1996  Gary Houston  <ghouston@actrix.gen.nz>
4807
4808         * boot-9.scm: remove the wrappers for '%' system primitives,
4809         now that they throw errors directly.
4810         remove make-simple-wrapper and similar functions.
4811         protect a call to getenv which may now throw an exception.
4812
4813 Wed Jul 31 23:44:42 1996  Gary Houston  <ghouston@actrix.gen.nz>
4814
4815         * boot-9.scm (false-if-exception): new macro.
4816
4817 Fri Apr 19 13:53:08 1996  Tom Lord  <lord@beehive>
4818
4819         * The more things change...
4820
4821
4822 ;; Local Variables:
4823 ;; coding: utf-8
4824 ;; End: