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