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