(while): Tests running in empty environment are
[bpt/guile.git] / ice-9 / ChangeLog
CommitLineData
1a523873
MV
12005-01-10 Marius Vollmer <marius.vollmer@uni-dortmund.de>
2
3 * arrays.scm, deprecated.scm (uniform-vector-fill!,
4 make-uniform-vector, make-uniform-array, list->uniform-vector):
5 Moved from arrays.scm to deprecated.scm.
6 * arrays.scm, boot-9.scm (array-dimensions): Moved from arrays.scm
7 to boo-9.scm.
8 * Makefile.am (ice9_sources): Removed arrays.scm.
9
5be5e699
MV
102005-01-02 Marius Vollmer <mvo@zagadka.de>
11
12 * arrays.scm (uniform-vector-fill!, make-uniform-vector,
13 make-uniform-array,list->uniform-array): Deprecated for real.
14
1ebcfa34
MV
152004-12-29 Marius Vollmer <mvo@zagadka.de>
16
17 * arrays.scm (make-array, list->array): Removed.
18 (uniform-vector-fill!): Prepared to be deprecated.
19
3167d5e4
MV
202004-12-22 Marius Vollmer <marius.vollmer@uni-dortmund.de>
21
22 * boot-9.scm (module-make-local-var!): When creating a new
23 variable, initialize it to the value of any imported variable with
24 the given name. This allows code like (define round round) to
25 work as expected.
26
27 From Antoine Mathys <tonigonenstein@users.sourceforge.net>:
28
29 * popen.scm: Support bidirectional communication by making
30 open-pipe support OPEN_BOTH as second argument and in that case
31 return a soft input-output port which uses two pipes internally.
32 Provide open-pipe* to execute programs without using the shell
33 (and actually base open-pipe on it) and the obvious
34 open-input-output-pipe.
35
e120686a
KR
362004-12-14 Kevin Ryde <user42@zip.com.au>
37
38 * boot-9.scm: (string-any, string-every): Use a scheme wrapper around
39 the C code so for the final call to the predicate procedure is a tail
40 call, per SRFI-13 spec.
41
f41c1142
MV
422004-12-01 mvo <mvo@zagadka.de>
43
44 * boot-9.scm (app, %app): Renamed former to the latter.
45 Previously, 'app' was reserved in every module. Now '%app' is
46 reserved, which is slightly better. The real fix is to not use
47 'local-ref' etc to find modules. Changed all uses.
48 * syncase.scm: Changed 'app' to '%app'.
49
d550e35f
MV
502004-11-12 Marius Vollmer <marius.vollmer@uni-dortmund.de>
51
52 * arrays.scm: Do not use prototypes, use creator functions.
53
2ed34885
MV
542004-11-10 Marius Vollmer <mvo@zagadka.de>
55
56 * arrays.scm (uniform-vector-read!, uniform-vector-write):
57 Removed.
58
a2b6a0e7
MV
592004-11-05 Marius Vollmer <marius.vollmer@uni-dortmund.de>
60
61 * boot-9.scm: Do not add "." to %load-path. 'load' will still be
62 able to load files in the current directory, but 'use-modules' etc
63 will not.
64
5e9c05a1
MV
652004-10-29 Marius Vollmer <marius.vollmer@uni-dortmund.de>
66
67 * arrays.scm: Do not install read-hash procedure for reading
68 arrays, this is done in libguile now.
69
7b1574ed
MV
702004-10-27 Marius Vollmer <marius.vollmer@uni-dortmund.de>
71
72 * arrays.scm (uniform-vector?, uniform-vector-set!): Removed, now
73 provided by libguile.
74
79d52182
MV
752004-10-26 Marius Vollmer <marius.vollmer@uni-dortmund.de>
76
77 * boot-9.scm: Added srfi-4 to cond-expand features.
78
98c712c4
MV
792004-10-18 Marius Vollmer <marius.vollmer@uni-dortmund.de>
80
81 * format.scm (format:obj->str): Simplified considerably by using
82 object->string or display instead of implementing our own printer.
83 Handle format:read-proof here. Unreadable objects are recognized
84 by their "#<" prefix instead of by being unknown to the custom
85 printer (which would treat keywords as unprintable, for example).
86 (format:iobj->str): Removed.
87
aef0bdb4
MV
882004-10-04 Marius Vollmer <marius.vollmer@uni-dortmund.de>
89
90 * boot-9.scm (symbol->keyword, keyword->symbol): Removed, they are
91 now implemented in C.
92
e5c2d5c8
KR
932004-09-26 Kevin Ryde <user42@zip.com.au>
94
95 * optargs.scm (let-optional-template, let-keywords-template): Change
96 "(begin body)" to "(let () body)" for empty bindings, since the former
97 allows "internal defines" in body leak out to the surrounding
98 environment.
99
c9fedf8a
MV
1002004-09-23 Marius Vollmer <mvo@zagadka.de>
101
102 * boot-9.scm (handle-system-error): Pass rest argument to
103 display-backtrace for wrong-type-arg and out-of-range errors so
104 that the bad value gets highlighted.
105
1c923ba7
KR
1062004-09-04 Kevin Ryde <user42@zip.com.au>
107
108 * streams.scm (stream-for-each-many): Correction, should recurse into
109 itself, not stream-for-each-one.
110
2bd2014d
KR
111 * time.scm (time-proc): Make result inexact, since format ~f doesn't
112 support fractions currently.
113
e548be5f
MV
1142004-09-08 Marius Vollmer <marius.vollmer@uni-dortmund.de>
115
116 * boot-9.scm (expt): Only call integer-expt for an exact integer
117 exponent, not for an inexact integer one. Also, let integer-expt
118 handle negative exponents instead of doing it here.
119
b8d95267
KR
1202004-09-02 Kevin Ryde <user42@zip.com.au>
121
122 * format.scm (format:out): Ignore excess arguments, per common lisp.
123
124 * format.scm (format:out-num-padded): Print "+" on 0 under @ modifier.
125
24cc9192
KR
1262004-08-27 Kevin Ryde <user42@zip.com.au>
127
128 * regex.scm (regexp-quote): [ and | must be quoted. Quote ( ) { + ?
129 using char class [(] etc since \( in fact makes them become special in
130 regexp/basic.
131
4b0ad1f4
KR
1322004-08-25 Kevin Ryde <user42@zip.com.au>
133
134 * and-let-star.scm (and-let*): Give #t for an empty body, per srfi-2
135 spec, previously came out as an empty (begin).
136
c5080b51
MV
1372004-08-25 Marius Vollmer <mvo@zagadka.de>
138
c4c3360b 139 * boot-9.scm (%cond-expand-features): Added srfi-13 and srfi-14.
c5080b51 140
fac3b6bc
MV
1412004-08-20 Marius Vollmer <marius.vollmer@uni-dortmund.de>
142
143 * debugger/utils.scm (display-source): Use unmemoize-expr instead
144 of unmemoize.
145 (write-frame-short/expression): Likewise.
146
00ed256c
KR
1472004-08-18 Kevin Ryde <user42@zip.com.au>
148
149 * and-let-star.scm: Add cond-expand-provide srfi-2, since this module
150 provides that feature.
151 * receive.scm: Add cond-expand-provide srfi-8, since this module
152 provides that feature.
153
d2afa1fc
MV
1542004-08-09 Marius Vollmer <mvo@zagadka.de>
155
156 From Matthias Koeppe. Thanks!
157
158 * pretty-print.scm (generic-write): In the local procedure `wr', use
159 object->string to print all data (except for the reader macros),
160 rather than implementing an own printer. The user-visible
161 difference is that procedures and control characters like #\tab
162 are now printed in the same way as by `write'.
163
2975040b
KR
1642004-08-09 Kevin Ryde <user42@zip.com.au>
165
166 * slib.scm (*features*): Remove array and array-for-each, core
167 definitions are insufficient for latest slib.
168 (t, nil): New constants slib says are supposed to exist.
169 (call-with-open-ports, browse-url): New functions for latest slib.
170 Implementations taken from Template.scm (public domain).
171 (open-file): Extend core definition to accept symbols for the mode,
172 required by latest slib.
173 (delete-file): Replace core definition with version returning #t/#f as
174 per slib spec.
175 (system): Mark as #:replace to suppress override warning, use new
176 style "(@ (guile) system)" to call core function.
177
dc510157
KR
1782004-05-25 Matthias Koeppe <mkoeppe@mail.math.uni-magdeburg.de>
179
180 * format.scm: Remove the arbitrary limit of 100 iterations for the
181 ~{...~} control structure.
182
2755366c
KR
1832004-07-10 Kevin Ryde <user42@zip.com.au>
184
185 * and-let-star.scm (and-let*): Remove unused variable "val".
186 * pretty-print.scm (read-macro-prefix): Remove unused variable "tail".
187
188 * boot-9.scm (%cond-expand-features): Add srfi-6 which is in the core.
189
190 * safe-r5rs.scm (re-export): Uncomment numerator, denominator,
191 rationalize, since they now exist.
192
40827c6d
KR
1932004-07-05 Kevin Ryde <user42@zip.com.au>
194
195 * slib.scm (system): Correction to redefinition, now guile is stricter
196 about when a define binding comes into existance.
197
3d2ada2f
DH
1982004-05-29 Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
199
200 * boot-9.scm: Reordered definitions such that macro definitions
201 preceed their first usage. Include and define deprecated stuff
202 late in the file to have a better change of detecting accidental
203 uses of deprecated definitions. Further, unified the layout a
204 little and grouped definitions more cleanly into topics.
205
41cfaa12
MV
2062004-05-24 Marius Vollmer <mvo@zagadka.de>
207
208 * history.scm (use-value-history): Use resolve-interface instead
209 of resolve-module so that only the exported bindings are searched.
210 (save-value-history): Export the newly defined variable. Reported
211 by Wolfgang Jaehrling.
212
9f84d6aa
DH
2132004-05-04 Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
214
215 * boot-9.scm (resolve-module): Always start searching from the
216 root module. This will allow the C equivalent scm_resolve_module
217 to work, independent of what the current module is.
218
9b792a7e
MV
2192004-02-18 Marius Vollmer <mvo@zagadka.de>
220
221 * boot-9.scm (top-repl): Make the (guile-user) module use the
222 (ice-9 r5rs) module.
223
711a9fd7
MD
2242004-02-12 Mikael Djurfeldt <djurfeldt@nada.kth.se>
225
226 * boot-9.scm (module-map): Renamed hash-map -> hash-map->list.
227
2c284c94
NJ
2282004-02-09 Neil Jerram <neil@ossau.uklinux.net>
229
230 * debugger/trap-hooks.scm (debug-hook-membership): New, exported.
231
232 * debugger/commands.scm (debug-trap-hooks): New, exported.
233
f1dc5f45
MD
2342004-02-08 Mikael Djurfeldt <djurfeldt@nada.kth.se>
235
236 * debugger/breakpoints/Makefile.am (TAGS_FILES),
237 debugger/Makefile.am (TAGS_FILES), Makefile.am (TAGS_FILES): Use
238 this variable instead of ETAGS_ARGS so that TAGS can be built
239 using separate build directory.
240
bb5ad88f
NJ
2412004-01-20 Neil Jerram <neil@ossau.uklinux.net>
242
243 * boot-9.scm (error-catching-loop): Back out 2003-11-19 change to
244 lazy-handler-dispatch lookup.
245
1dd2599f
MV
2462004-01-12 Marius Vollmer <mvo@zagadka.de>
247
248 * mapping.scm: Use '#:' prefix for keywords instead of ':'.
249 Thanks to Richard Todd!
250
9afa7a12
KR
2512004-01-11 Kevin Ryde <user42@zip.com.au>
252
7dd5eb58
KR
253 * slib.scm (system): New function, giving an exit code return in
254 accordance with slib spec.
255
9afa7a12
KR
256 Revert this, it breaks test-suite/tests/r5rs_pitfalls.test where
257 false-if-exception is used within syntax-rules. (Suspect syntax-rules
258 ought to support this sort of thing, but it doesn't right now.)
9afa7a12
KR
259 * boot-9.scm (false-if-exception): Unquote catch and lambda, so as not
260 to depend on expansion environment.
261
96e3b2f8
MV
2622004-01-07 Marius Vollmer <marius.vollmer@uni-dortmund.de>
263
264 * boot-9.scm (with-fluids): Use with-fluid* when only one fluid is
265 being set.
266
524cbf64
KR
2672004-01-07 Kevin Ryde <user42@zip.com.au>
268
269 * q.scm (q-pop!): Should be "null?" not "not" for end-of-list.
270 Reported by Richard Todd.
271
6d611fed
KR
2722004-01-04 Kevin Ryde <user42@zip.com.au>
273
274 * boot-9.scm (false-if-exception): Unquote catch and lambda, so as not
275 to depend on expansion environment.
276
97ac013a
KR
277 * slib.scm (-1+, <?, <=?, =?, >?, >=?): Define as aliases for 1-, <,
278 <=, =, >, >= respectively, required by slib 'rev2-procedures but no
279 longer in the guile core.
280
64758fe2
NJ
2812003-11-19 Neil Jerram <neil@ossau.uklinux.net>
282
283 * boot-9.scm (error-catching-loop): Defer lookup of
284 lazy-handler-dispatch.
285
aff7e166
MV
2862003-11-17 Marius Vollmer <mvo@zagadka.de>
287
288 * boot-9.scm (@, @@): New macros.
289
37f5dfe5
DH
2902003-11-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
291
292 * boot-9.scm: Started comment about module system workings.
293
3273abd2
NJ
2942003-11-11 Neil Jerram <neil@ossau.uklinux.net>
295
30d90280
NJ
296 * debugger.scm: Change ui-* calls to gds-*.
297 (debug-on-error): Debug if throw key is in specified syms, not if
298 it isn't! Also throw 'abort after debugging, so as to skip the
299 REPL's backtrace.
300
3273abd2
NJ
301 * debugger/behaviour.scm (*trap*): New variable, stores trap type.
302 (before-enter-frame-hook, before-apply-frame-hook,
303 before-exit-frame-hook): Set here.
304 (debug-if-flag-set): Passed into flags on debug-stack call.
305 (at-step, at-next): Changed to debug at frame exit points as well.
306
307 * debugger/utils.scm: Big comment added.
308
3092003-10-30 Neil Jerram <neil@ossau.uklinux.net>
310
311 * debugger/ui-client.scm: Moved to ../emacs/gds-client.scm.
312
9f1af5d9
NJ
3132003-10-16 Neil Jerram <neil@ossau.uklinux.net>
314
315 * debugger/ui-client.scm (ui-connect): Add arg to say whether to
316 debug immediately on connection.
317 (ui-eval): Handle exceptions during read and evaluation.
318
319 * debugger.scm (debug-on-error, default-default-lazy-handler):
320 Remove an unnecessary level of indirection in calling lazy
321 handler.
322
e2de682c
MV
3232003-10-12 Marius Vollmer <mvo@zagadka.de>
324
325 * ftw.scm (directory-files): Close dir-stream when done. Thanks
326 to Paul Jarc!
327
ff6ea7b9
KR
3282003-10-09 Kevin Ryde <user42@zip.com.au>
329
330 * poe.scm (funcq-assoc): Rewrite, don't assume '() is false, and
331 actually traverse the given alist.
332
41a80feb
NJ
3332003-10-06 Neil Jerram <neil@ossau.uklinux.net>
334
335 * debugger/ui-client.scm (handle-instruction): Add evaluation
336 support.
337 (ui-eval): New.
338
02b0c692
NJ
3392003-10-04 Neil Jerram <neil@ossau.uklinux.net>
340
341 * debugger/ui-client.scm (ui-disable-async-thread,
342 ui-continue-async-thread, start-async-ui-thread): New.
343 (ui-command-loop): Call ui-disable-async-thread and
344 ui-continue-async-thread.
345 (handle-instruction): Read terminating newline char so it doesn't
346 cause following select to pop immediately.
347
79b1c5b6
NJ
3482003-09-25 Neil Jerram <neil@ossau.uklinux.net>
349
350 * debugger/ui-client.scm, debugger/ui-server.scm: New (work in
351 progress on new debugging front end).
352
3532003-09-24 Neil Jerram <neil@ossau.uklinux.net>
354
355 * debugger.scm (default-default-lazy-handler, debug-on-error):
356 New.
357
358 * debugger/behaviour.scm (debug-if-flag-set): Display debug entry
359 messages through (debugger-output-port).
360 (after-exit-frame-hook): Trace through (debugger-output-port).
361 (trace-here): Trace through (debugger-output-port).
362
363 * debugger/commands.scm (evaluate): If supplied expression is a
364 string, read from it before evaluating.
365 (evaluate): Change output format to "EXPR => VALUE".
366
9b4bbf47
KR
3672003-09-19 Kevin Ryde <user42@zip.com.au>
368
369 * popen.scm (open-process): Correction to previous fdes closing
370 change, need to watch out for stdin==stderr or stdout==stderr.
371
5dc1ba73
MV
3722003-09-15 Marius Vollmer <mvo@zagadka.de>
373
374 * format.scm (format): Rewritten as a big letrec to make it
375 reentrant. No mutex is necessary. Thanks to Clinton Ebadi!
376
7743d628
KR
3772003-09-13 Kevin Ryde <user42@zip.com.au>
378
379 * boot-9.scm (file-exists?): Use stat rather than access?, so as to
380 follow the effective UID/GID not the real ID. file-exists? is
cd56b181 381 normally used as a prelude to opening or some other operation, and
7743d628
KR
382 it's the effective ID which will apply there. Emacs file-exists-p
383 uses stat, presumably for the the same reason.
384
50e0ba57
MV
3852003-09-12 Marius Vollmer <mvo@zagadka.de>
386
387 * boot-9.scm (make-autoload-interface): Use a proper hashtable as
388 the obarray, not an empty vector.
389 (make-module): Always construct a hashtable for the obarray, even
390 for empty ones.
391
392 * format.scm (format:error): Use 'format:format' instead of
393 'format' since the latter will lock the mutex again that we have
394 already locked.
395 (format:format-work): Flag multiple '#' as an error.
396
2388d9af
KR
3972003-08-17 Kevin Ryde <user42@zip.com.au>
398
399 * boot-9.scm (while): Use a new key dynamically for each loop, so
400 break and continue associate to their loop even when recursing.
401
d97f9b42
KR
4022003-08-14 Kevin Ryde <user42@zip.com.au>
403
404 * boot-9.scm (while): Rewrite, continue as proper escape, break
405 without return value, break and continue new for each while form,
406 don't depend on bindings in expansion environment.
407
408 * popen.scm (open-process): Close input-fdes, output-fdes and
409 error-fdes after duping them to 0, 1 and 2.
410
996acdb8
KR
4112003-06-19 Kevin Ryde <user42@zip.com.au>
412
413 * threads.scm (parallel): For no forms, use `(values)' not `(begin)'.
414
42ad901d
DH
4152003-05-27 Dirk Herrmann <D.Herrmann@tu-bs.de>
416
417 * boot-9.scm (make-autoload-interface): Added missing quote around
418 vector constant.
419
47dee228
MV
4202003-05-20 Marius Vollmer <marius.vollmer@uni-dortmund.de>
421
422 * deprecated.scm (list*): Added.
423
6cced6fe
KR
4242003-05-10 Kevin Ryde <user42@zip.com.au>
425
426 * documentation.scm (file-commentary, find-documentation-in-file): Use
427 call-with-input-file, to close ports when done.
428
1b965c29
MV
4292003-05-03 Marius Vollmer <mvo@zagadka.de>
430
d04229df
MV
431 * gap-buffer.scm (point++n!, point+-n!): Use substring-move!
432 instead of substring-move-left! or substring-move-right!. Thanks
433 to Kevin Ryde.
434
435 * deprecated.scm (substring-move-left!, substring-move-right!):
436 New.
437
0d5271a2 438 * boot-9.scm (display-usage-report): Use keyword->symbol instead
6aa536b3 439 of keyword-symbol, which doesn't exist. Thanks to Kevin Ryde.
0d5271a2 440
2b24a689
MV
441 * hcons.scm (hashq-cons-get-handle): Pass only the expected four
442 arguments to hashx-get-handle. Thanks to Kevin Ryde!
443
1b965c29
MV
444 * lineio.scm (make-line-buffering-input-port) Pass 0 as second
445 argument to string-ref. Thanks to Kevin Ryde!
446
56b97da9
MD
4472003-04-25 Mikael Djurfeldt <mdj@kvast.blakulla.net>
448
449 * serialize.scm: New file.
450
359aab24
MD
4512003-04-24 Mikael Djurfeldt <djurfeldt@nada.kth.se>
452
453 * threads.scm (n-for-each-par-map): New procedure.
454
fc87c27a
MV
4552003-04-05 Marius Vollmer <mvo@zagadka.de>
456
457 * Changed license terms to the plain LGPL thru-out.
458
bd40d420
MV
4592003-03-26 Marius Vollmer <marius.vollmer@uni-dortmund.de>
460
461 * deprecated.scm: New file, to collect deprecated things.
462 * Makefile.am (ice9_sources): Added.
463
464 * boot-9.scm: Load "ice-9/deprecated.scm" when appropriate.
465 (try-load-module): Also try the old deprecated method, maybe.
466
570b5b14
MV
4672003-03-22 Marius Vollmer <mvo@zagadka.de>
468
469 * boot-9.scm (call/cc): Added.
470
44876271
MD
4712003-03-20 Mikael Djurfeldt <djurfeldt@nada.kth.se>
472
473 * list.scm: New file.
474
b80e1b5c
MV
4752003-03-19 Marius Vollmer <mvo@zagadka.de>
476
477 * format.scm (format:out-substr): Update the column counter
478 correctly. This fixes the behavior of ~T (tabbing) after ~F, for
479 instance. Thanks to Matthias Koeppe!
480
3742da68
MD
4812003-03-13 Mikael Djurfeldt <djurfeldt@nada.kth.se>
482
483 * session.scm (apropos): Don't look in duplicates interface.
484
70a459e3
MD
4852003-03-12 Mikael Djurfeldt <djurfeldt@nada.kth.se>
486
65bed4aa
MD
487 * boot-9.scm (duplicate-handlers): Make sure the merge-generics
488 and merge-accessors handlers are available also before (oop goops)
489 has been loaded. This is so that people can put them as default
490 handlers without worrying about availability.
491
3802f9cc
MD
492 * slib.scm (logical:ipow-by-squaring): Removed.
493
fe6ee052
MD
494 * boot-9.scm (ipow-by-squaring): Removed.
495 (default-duplicate-binding-handler): Set default to
6496a663 496 '(replace warn-override-core warn last)
fe6ee052 497
d57da08b
MD
498 * boot-9.scm (module-make-local-var!): Use module-add!.
499 (module-primitive-add!): New function.
500 (resolve-interface): Use
501 (call-with-deferred-observers, module-call-observers): New
502 functions.
503 (module-defer-observers, module-defer-observers-mute,
504 module-defer-observers-table): New variables.
505 (process-define-module, process-use-modules, export, re-export):
506 Use call-with-deferred-observers.
8d8dac1f
MD
507 (module-duplicates-info, set-module-duplicates-info!): Removed.
508 (module-duplicates-handlers, module-duplicates-interface): New.
509 (module-type): Added duplicates-handlers and
510 duplicates-interface.
d57da08b
MD
511
512 * syncase.scm (eval): Mark as replacement.
513
514 * boot-9.scm (defmacro-public): Use export-syntax instead of export.
515
70a459e3
MD
516 * slib.scm (*features*): Set the core variable instead of defining
517 a local version.
518 (provide, provided?): Mark as replacements.
519
520 * boot-9.scm (beautify-user-module!): Don't install the duplicates
521 handler here.
522 (default-duplicate-binding-handler): Renamed from
523 default-module-duplicates-handler; Removed converter.
524 (process-duplicates): Lookup default duplicates handler dynamically.
525 (default-duplicate-binding-procedures): New parameter.
526
509a787a
MD
5272003-03-12 Mikael Djurfeldt <mdj@kvast.blakulla.net>
528
529 * slib.scm (identity): Removed. (Provided by core.)
530
f595ccfe
MD
5312003-03-11 Mikael Djurfeldt <djurfeldt@nada.kth.se>
532
c614a00b
MD
533 * debugger/command-loop.scm: Prefix all commands imported from
534 (ice-9 debugger command-loop) with debugger:.
535
109c2c9f
MD
536 * boot-9.scm (process-duplicates): Use module-import-interface.
537 (module-symbol-interface): Removed.
c614a00b
MD
538 (resolve-interface): Process #:hide; Name custom interfaces
539 appropriately.
540 (module-use!, module-use-interfaces!): Remove existing interfaces
541 on the use-list based on module name rather than interface
542 identity so that custom interfaces truly replaces their previous
543 version.
109c2c9f 544
f595ccfe
MD
545 * boot-9.scm (module-override!, make-mutable-parameter,
546 lookup-duplicates-handlers, default-module-duplicates-handler):
547 New functions.
548 (process-duplicates): Don't call duplicates handlers for duplicate
549 bindings of the same variable.
550 (process-define-module): Process #:replace.
551 (compile-interface-spec, resolve-interface): Process #:prefix.
552
553 * format.scm (format): Marked as replacement.
554
555 * threads.scm (future, future-ref): Marked as replacements.
556
7b07e5ef
MD
5572003-03-07 Mikael Djurfeldt <djurfeldt@nada.kth.se>
558
559 These changes enables checking for duplicate imported bindings.
560
561 * boot-9.scm (process-define-module): Handle #:duplicates.
562 (module-use-interfaces! process-duplicates): New functions.
563 (duplicate-handlers): Dictionary of duplicate handlers.
564 (module-symbol-local-binding, module-symbol-binding): Bugfix.
565
1798b73d
MD
5662003-03-04 Mikael Djurfeldt <djurfeldt@nada.kth.se>
567
568 * session.scm (apropos): Use hash-for-each instead of
569 array-for-each.
570
c35738c1
MD
5712003-02-19 Mikael Djurfeldt <djurfeldt@nada.kth.se>
572
231a4ea8
MD
573 * boot-9.scm (make-module): Changed default size from 1021 to 31
574 (since the size now adapts).
575 (macro-table, xformer-table): Changed default size from 523 to 61.
576 (make-module): Don't call make-hash-table with zero size.
577
c35738c1
MD
578 * Makefile.am (ice9_sources): Added weak-vector.scm.
579
580 * weak-vector.scm: New file.
581
582 * boot-9.scm (module-clear!): Use hash-clear!.
583 (module-for-each): Use hash-for-each.
584 (module-map): Use hash-map.
585
f59a096e
MD
5862003-02-11 Mikael Djurfeldt <djurfeldt@nada.kth.se>
587
588 * boot-9.scm (make-hash-table): Turned primitive.
589
e963ac2c
MD
5902003-01-27 Mikael Djurfeldt <djurfeldt@nada.kth.se>
591
592 * syncase.scm (guile-macro): Strip syntactic information from
593 expression before trying to treat it as a Guile macro call.
594 (Thanks to Kevin Ryde.)
595
c2950e36
MD
5962003-01-24 Mikael Djurfeldt <djurfeldt@nada.kth.se>
597
598 * threads.scm (parallel, letpar): Rewritten.
599
f4719f31
MD
6002003-01-23 Mikael Djurfeldt <djurfeldt@nada.kth.se>
601
602 * threads.scm (par-mapper, n-par-map, n-par-for-each): Use
603 futures.
604
93f26b7b
MD
6052003-01-20 Mikael Djurfeldt <djurfeldt@nada.kth.se>
606
51407fa0
MD
607 * occam-channel.scm (alt): New syntax.
608
93f26b7b
MD
609 * psyntax.ss (self-evaluating?): Removed. Guile now provides this
610 operator as a primitive procedure.
611 (build-data): Quote vectors (psyntax.ss requires this).
612
6132003-01-19 Mikael Djurfeldt <djurfeldt@nada.kth.se>
614
615 * psyntax.ss (self-evaluating?): Allow procedures implanted in
616 source. (Guile uses this internally.)
617
80f225df
MD
6182003-01-16 Mikael Djurfeldt <djurfeldt@nada.kth.se>
619
620 * psyntax.ss (build-data): Don't quote self-evaluating expressions
621 in output. (We normally *would* like also these expressions to be
622 quoted, but until Guile's native macros and syncase cooperates
623 better, it is less destructive not to quote.)
624 (self-evaluating?): Removed null? (In Guile, the empty list is not
625 self-evaluating).
626 (sc-chi): Export chi as sc-chi.
627 (external-macro): New syntax type.
628
629 * psyntax.pp: Regenerated.
630
631 * compile-psyntax.scm: Set expansion-eval-closure.
7906d57d 632
cf743aea
MD
633 * boot-9.scm (use-syntax): Return *unspecified*.
634
7906d57d
MD
635 * syncase.scm: Set expansion-eval-closure to
636 the-syncase-eval-closure during booting so that variables are
cf743aea
MD
637 created in the correct module.
638 (syncase): Set expansion-eval-closure.
7906d57d
MD
639 (define-syntax define-syntax-public eval-when fluid-let-syntax
640 identifier-syntax let-syntax letrec-syntax syntax syntax-case
641 syntax-rules with-syntax include): Removed definitions (these are
642 created from within psyntax.pp).
80f225df
MD
643 Enable expansion of Guile macros during a syntax-case
644 transformation.
cf743aea 645
60eefd9c
MD
6462003-01-10 Mikael Djurfeldt <djurfeldt@nada.kth.se>
647
8411a446 648 * occam-channel.scm (make-channel): Renamed from channel.
fb831451 649 (make-timer): New function.
8411a446 650
60eefd9c
MD
651 * Makefile.am (ice9_sources): Added occam-channel.scm.
652
653 * occam-channel.scm: New file. Implements occam-like channels.
654
db853761
NJ
6552002-12-28 Neil Jerram <neil@ossau.uklinux.net>
656
657 * boot-9.scm (module-defined-hook): New hook, run whenever a new
658 module is defined.
659 (process-define-module): Run this hook.
660
62d4fd94
MD
6612002-12-18 Mikael Djurfeldt <mdj@kvast.blakulla.net>
662
663 * threads.scm: Removed bogus definition of future-ref.
664
87623595
MD
6652002-12-15 Mikael Djurfeldt <djurfeldt@nada.kth.se>
666
667 * threads.scm (par-map, par-for-each): Reimplemented using
668 joing-thread.
669 (parallel): Reimplemented using futures.
670 (n-par-map, n-for-each): New procedures.
671
edeea67b
MV
6722002-12-12 Marius Vollmer <mvo@zagadka.ping.de>
673
674 * optargs.scm (improper-list-copy): New.
675 (parse-arglist): Use it instead of list-copy.
676
fc85d095
MD
6772002-12-09 Mikael Djurfeldt <djurfeldt@nada.kth.se>
678
679 * threads.scm (letpar): New macro.
680
b2cbe8d8
RB
6812002-12-08 Rob Browning <rlb@defaultvalue.org>
682
683 * debugger/breakpoints/Makefile.am (subpkgdatadir): VERSION ->
684 GUILE_EFFECTIVE_VERSION.
685
686 * debugger/Makefile.am (subpkgdatadir): VERSION ->
687 GUILE_EFFECTIVE_VERSION.
688
689 * Makefile.am (subpkgdatadir): VERSION -> GUILE_EFFECTIVE_VERSION.
690
abce330c
MD
6912002-12-04 Mikael Djurfeldt <mdj@linnaeus>
692
fc85d095
MD
693 * threads.scm (parallel): New macro.
694 (par-map, par-for-each): New procedures.
abce330c
MD
695
696 * documentation.scm (object-documentation): Added support for
697 defmacros.
698
f2cbc0e5
DH
6992002-11-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
700
701 * boot-9.scm (re-export-syntax): Re-introduced after accidentally
702 removing it in my patch from 2002-11-16.
703
9123414e
DH
7042002-11-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
705
706 Thanks to Mikael Djurfeldt for a bugreport which led to the
707 following changes:
708
709 * slib.scm (%system-define): Removed.
710
711 (define): Changed to use define-private instead of
712 %system-define.
713
714 * boot-9.scm (define-private): Undid my changes from 2002-11-16
715 until Guile supports hygienic macros.
716
50a63003
NJ
7172002-11-17 Neil Jerram <neil@ossau.uklinux.net>
718
719 * emacs.scm (emacs-load): Locally define `read-and-eval!', as it
720 has been removed from the core.
721
c55bcb32
DH
7222002-11-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
723
724 * syncase.scm (define-syntax, eval-when, fluid-let-syntax,
725 identifier-syntax, let-syntax, letrec-syntax, syntax, syntax-case,
726 syntax-rules, with-syntax, include): Changed definitions to form
727 'real' macro definitions.
728
6aa9ea7c
DH
7292002-11-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
730
731 * boot-9.scm (define-private, export-syntax, export-syntax):
732 Fixed my previous fix (blush).
733
ab382f52
DH
7342002-11-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
735
736 * boot-9.scm (define-private, export-syntax, export-syntax):
737 Changed definitions to form 'real' macro definitions.
738
81cf290d
MV
7392002-11-07 Marius Vollmer <marius.vollmer@uni-dortmund.de>
740
741 * format.scm (format): Use 'monitor' properly. Not the definition
742 needs to be restricted, the actual function needs to be.
743
3f619266
NJ
7442002-11-05 Neil Jerram <neil@ossau.uklinux.net>
745
746 * boot-9.scm (define-option-interface): Fix to "simplification"
747 change below.
748
749 * debugger/breakpoints/source.scm: Enable source property
750 recording when module is loaded.
751 (##): Cope with ports whose `filename' is not a string.
752
9124ba8d
NJ
7532002-11-04 Neil Jerram <neil@ossau.uklinux.net>
754
0983f67f
NJ
755 * boot-9.scm (define-option-interface): Simplify code-generation
756 code.
757
9124ba8d
NJ
758 * debugger/command-loop.scm (read-and-dispatch-command): Import
759 set-readline-prompt dynamically if we need to. (Previous
760 arrangement didn't work if this module was loaded before (ice-9
761 readline).)
762
eb2c5dcb
MV
7632002-11-03 Marius Vollmer <mvo@zagadka.ping.de>
764
765 * format.scm (format): Wrap a monitor around format:format since
766 it is not thread-safe.
767
132fe7af
MV
7682002-10-27 Marius Vollmer <mvo@zagadka.ping.de>
769
770 * threads.scm (%thread-handler): Explicitely return '#f'. This
771 value will be returned by join-thread.
772
8ee7506b
NJ
7732002-10-26 Neil Jerram <neil@ossau.uklinux.net>
774
775 Merging debugger enhancements previously in separate
776 `guile-debugger' package ...
777
778 * debugger.scm: Factored out into the following constituent parts
779 - see comment in file for more details.
780 (*not-yet-introduced*): New (avoids repeatedly introducing the
781 debugger when entering it from breakpoints).
782 (debug-stack): New.
783 (debug): Rewrite to use more general `debug-stack'.
784
785 * debugger/commands.scm, debugger/command-loop.scm,
786 debugger/state.scm, debugger/utils.scm: New files containing bits
787 of old (ice-9 debugger), plus some rewriting and enhancements for
788 breakpoint support ...
789
790 * debugger/state.scm (state-rtd): Add flags field.
791 (make-state): Extend to optionally take flags.
792 (state-flags): New, accessor for flags field.
793 (set-state-index!, set-stack-index!): New.
794 (write-state-short): Rewritten to print out the current source
795 location in a way that is more easily trackable by Emacs.
796
797 * debugger/commands.scm (assert-continuable, continue, finish,
798 trace-finish, step, next): New debugger commands for continuing
799 execution from a breakpoint.
800
801 * debugger/behaviour.scm, debugger/breakpoints.scm,
802 debugger/breakpoints/procedural.scm,
803 debugger/breakpoints/range.scm, debugger/breakpoints/source.scm,
804 debugger/trap-hooks.scm, debugger/trc.scm: New files - breakpoint
805 support.
806
807 * Makefile.am (SUBDIRS): Add debugger subdirectory.
808
809 * debugger/Makefile.am, debugger/breakpoints/Makefile.am: New.
810
03453b05
MV
8112002-10-21 Marius Vollmer <mvo@zagadka.ping.de>
812
813 * threads.scm (%thread-handler): Do not call unmask-signals, that
814 should be unnecessary now.
815
a7785f36
MD
8162002-10-20 Mikael Djurfeldt <mdj@linnaeus>
817
818 * boot-9.scm (top-repl): Look for use-emacs-interface in
819 guile-user-module (should it be there?) instead of
820 the-root-module.
821
acfa1f52
MV
8222002-10-10 Marius Vollmer <mvo@zagadka.ping.de>
823
824 * boot-9.scm (top-repl): Use 2 as the limit when saving the stack.
825 (error-catching-loop): use call-with-blocked-asyncs and
826 call-with-unblocked-asyncs instead of mask-signals and
827 unmask-signals.
828
34010f56
NJ
8292002-10-09 Neil Jerram <neil@ossau.uklinux.net>
830
831 * buffered-input.scm (make-buffered-input-port): Build an
832 input-waiting thunk for just extended version of make-soft-port.
833
9bc54879
RB
8342002-10-04 Rob Browning <rlb@defaultvalue.org>
835
836 * boot-9.scm (expt): switch if sense and use negative? rather than
837 >= 0.
838
3538c2b2
MV
8392002-10-04 Marius Vollmer <mvo@zagadka.ping.de>
840
841 * boot-9.scm (top-repl): Use "1" instead of "%deliver-signals" to
842 limit the signal stack.
843
f4232aa6
MV
8442002-09-15 Marius Vollmer <mvo@zagadka.ping.de>
845
846 * boot-9.scm (feature?): Added deprecation message.
847
5fc0857e
RB
8482002-09-14 Rob Browning <rlb@defaultvalue.org>
849
850 * boot-9.scm (sqrt): minor indentation fix.
851
cfcdb8e9
MV
8522002-09-05 Marius Vollmer <mvo@zagadka.ping.de>
853
854 * syncase.scm: Set the module transformer of the-syncase-module so
855 that we can use define-syntax.
856 (define-syntax-public): New and exported.
857
8582002-09-04 Marius Vollmer <mvo@zagadka.ping.de>
859
860 * syncase.scm (expansion-eval-closure, env->eval-closure): New.
861 (sc-macro): Set the expansion-eval-closure expanding the form.
862 (putprop, getprop): Use the expansion-eval-closure to find
863 variables instead of the current module.
864
fdf7e1d7
MV
8652002-07-08 Marius Vollmer <mvo@zagadka.ping.de>
866
867 * slib.scm (make-exchanger): Added. Thanks to Clinton Ebadi!
868
7c38399f
DH
8692002-07-07 Dirk Herrmann <D.Herrmann@tu-bs.de>
870
871 * boot-9.scm (define-option-interface): Replaced "macro" by
872 mmacro.
873
1334c61a
GH
8742002-06-01 Gary Houston <ghouston@arglist.com>
875
876 * boot-9.scm (file-set-position): Make third argument optional,
877 for SCM compatibility.
878 (file-position): simplify definition.
879
be87cdb7
MV
8802002-06-01 Marius Vollmer <mvo@zagadka.ping.de>
881
882 * boot-9.scm (file-set-position): Use seek instead of fseek.
883
e717bf46
MV
8842002-05-09 Marius Vollmer <mvo@zagadka.ping.de>
885
886 * format.scm (format:out-inf-nan): New.
887 (format:out-fixed, format:out-expon, format:out-general): Use it
888 to print infs and nans.
889
890 * boot-9.scm (unsetenv): New, for completeness.
891
9ea4ac37
MV
8922002-05-08 Marius Vollmer <mvo@zagadka.ping.de>
893
894 * format.scm (format:fn-max): Increase to 400 so ~f and ~g can
895 print long real numbers with large positive and negative
896 exponents.
897
45845efe
MV
8982002-05-06 Marius Vollmer <mvo@zagadka.ping.de>
899
900 * syncase.scm: Use (ice-9 threads) so that with-mutex is defined.
901
0bd1b44f
TTN
9022002-04-30 Thien-Thi Nguyen <ttn@giblet.glug.org>
903
904 * gap-buffer.scm: New file.
905
906 * Makefile.am (ice9_sources): Add gap-buffer.scm.
907
c87af2d5
RB
9082002-03-12 Rob Browning <rlb@defaultvalue.org>
909
910 * syncase.scm: fix bad let.
911 (gensym): fix failure on non-threaded
912
6c5b8521
TTN
9132002-03-05 Thien-Thi Nguyen <ttn@giblet.glug.org>
914
915 * ftw.scm: New file.
916
917 * Makefile.am (ice9_sources): Add ftw.scm.
918
327d4dd3
TTN
9192002-02-26 Thien-Thi Nguyen <ttn@giblet.glug.org>
920
921 * Makefile.am: Update path to pre-inst-guile automake frag.
922
d51b42e2
TTN
923 * boot-9.scm: Comment grammar fixes; nfc.
924 Thanks to Christopher Cramer.
925
46151112
RB
9262002-02-24 Rob Browning <rlb@defaultvalue.org>
927
928 * syncase.scm (gensym): redefine locally so we can control it's
929 properties. This is in preparation for changing the future public
930 gensym to produce unreadable symbols.
931
932 * psyntax.pp: updated to reflect new syncase.scm.
933
90d4a6b0
TTN
9342002-02-07 Thien-Thi Nguyen <ttn@giblet.glug.org>
935
936 * regex.scm: Add commentary; nfc.
937
0187b4f4
TTN
9382002-02-05 Thien-Thi Nguyen <ttn@giblet.glug.org>
939
940 * Makefile.am: Include $(top_srcdir)/pre-inst-guile.am.
941
942 (psyntax.pp): Use $(preinstguile).
943
dd580bd6
MV
9442002-01-14 Marius Vollmer <mvo@zagadka.ping.de>
945
946 * psyntax.ss (datum->syntax-object): Removed assertion in
947 datum->syntax-object that checked if the first argument, a
948 syntax-object, is an identifier. This was a unconvenient and
949 unnecessary restriction. Thanks to Dorai Sitaram!
950
0e6f7775
MV
9512002-01-12 Marius Vollmer <mvo@zagadka.ping.de>
952
953