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