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