(while): Exercise break and continue from
[bpt/guile.git] / ice-9 / ChangeLog
CommitLineData
d97f9b42
KR
12003-08-14 Kevin Ryde <user42@zip.com.au>
2
3 * boot-9.scm (while): Rewrite, continue as proper escape, break
4 without return value, break and continue new for each while form,
5 don't depend on bindings in expansion environment.
6
7 * popen.scm (open-process): Close input-fdes, output-fdes and
8 error-fdes after duping them to 0, 1 and 2.
9
996acdb8
KR
102003-06-19 Kevin Ryde <user42@zip.com.au>
11
12 * threads.scm (parallel): For no forms, use `(values)' not `(begin)'.
13
42ad901d
DH
142003-05-27 Dirk Herrmann <D.Herrmann@tu-bs.de>
15
16 * boot-9.scm (make-autoload-interface): Added missing quote around
17 vector constant.
18
47dee228
MV
192003-05-20 Marius Vollmer <marius.vollmer@uni-dortmund.de>
20
21 * deprecated.scm (list*): Added.
22
6cced6fe
KR
232003-05-10 Kevin Ryde <user42@zip.com.au>
24
25 * documentation.scm (file-commentary, find-documentation-in-file): Use
26 call-with-input-file, to close ports when done.
27
1b965c29
MV
282003-05-03 Marius Vollmer <mvo@zagadka.de>
29
d04229df
MV
30 * gap-buffer.scm (point++n!, point+-n!): Use substring-move!
31 instead of substring-move-left! or substring-move-right!. Thanks
32 to Kevin Ryde.
33
34 * deprecated.scm (substring-move-left!, substring-move-right!):
35 New.
36
0d5271a2 37 * boot-9.scm (display-usage-report): Use keyword->symbol instead
6aa536b3 38 of keyword-symbol, which doesn't exist. Thanks to Kevin Ryde.
0d5271a2 39
2b24a689
MV
40 * hcons.scm (hashq-cons-get-handle): Pass only the expected four
41 arguments to hashx-get-handle. Thanks to Kevin Ryde!
42
1b965c29
MV
43 * lineio.scm (make-line-buffering-input-port) Pass 0 as second
44 argument to string-ref. Thanks to Kevin Ryde!
45
56b97da9
MD
462003-04-25 Mikael Djurfeldt <mdj@kvast.blakulla.net>
47
48 * serialize.scm: New file.
49
359aab24
MD
502003-04-24 Mikael Djurfeldt <djurfeldt@nada.kth.se>
51
52 * threads.scm (n-for-each-par-map): New procedure.
53
fc87c27a
MV
542003-04-05 Marius Vollmer <mvo@zagadka.de>
55
56 * Changed license terms to the plain LGPL thru-out.
57
bd40d420
MV
582003-03-26 Marius Vollmer <marius.vollmer@uni-dortmund.de>
59
60 * deprecated.scm: New file, to collect deprecated things.
61 * Makefile.am (ice9_sources): Added.
62
63 * boot-9.scm: Load "ice-9/deprecated.scm" when appropriate.
64 (try-load-module): Also try the old deprecated method, maybe.
65
570b5b14
MV
662003-03-22 Marius Vollmer <mvo@zagadka.de>
67
68 * boot-9.scm (call/cc): Added.
69
44876271
MD
702003-03-20 Mikael Djurfeldt <djurfeldt@nada.kth.se>
71
72 * list.scm: New file.
73
b80e1b5c
MV
742003-03-19 Marius Vollmer <mvo@zagadka.de>
75
76 * format.scm (format:out-substr): Update the column counter
77 correctly. This fixes the behavior of ~T (tabbing) after ~F, for
78 instance. Thanks to Matthias Koeppe!
79
3742da68
MD
802003-03-13 Mikael Djurfeldt <djurfeldt@nada.kth.se>
81
82 * session.scm (apropos): Don't look in duplicates interface.
83
70a459e3
MD
842003-03-12 Mikael Djurfeldt <djurfeldt@nada.kth.se>
85
65bed4aa
MD
86 * boot-9.scm (duplicate-handlers): Make sure the merge-generics
87 and merge-accessors handlers are available also before (oop goops)
88 has been loaded. This is so that people can put them as default
89 handlers without worrying about availability.
90
3802f9cc
MD
91 * slib.scm (logical:ipow-by-squaring): Removed.
92
fe6ee052
MD
93 * boot-9.scm (ipow-by-squaring): Removed.
94 (default-duplicate-binding-handler): Set default to
6496a663 95 '(replace warn-override-core warn last)
fe6ee052 96
d57da08b
MD
97 * boot-9.scm (module-make-local-var!): Use module-add!.
98 (module-primitive-add!): New function.
99 (resolve-interface): Use
100 (call-with-deferred-observers, module-call-observers): New
101 functions.
102 (module-defer-observers, module-defer-observers-mute,
103 module-defer-observers-table): New variables.
104 (process-define-module, process-use-modules, export, re-export):
105 Use call-with-deferred-observers.
8d8dac1f
MD
106 (module-duplicates-info, set-module-duplicates-info!): Removed.
107 (module-duplicates-handlers, module-duplicates-interface): New.
108 (module-type): Added duplicates-handlers and
109 duplicates-interface.
d57da08b
MD
110
111 * syncase.scm (eval): Mark as replacement.
112
113 * boot-9.scm (defmacro-public): Use export-syntax instead of export.
114
70a459e3
MD
115 * slib.scm (*features*): Set the core variable instead of defining
116 a local version.
117 (provide, provided?): Mark as replacements.
118
119 * boot-9.scm (beautify-user-module!): Don't install the duplicates
120 handler here.
121 (default-duplicate-binding-handler): Renamed from
122 default-module-duplicates-handler; Removed converter.
123 (process-duplicates): Lookup default duplicates handler dynamically.
124 (default-duplicate-binding-procedures): New parameter.
125
509a787a
MD
1262003-03-12 Mikael Djurfeldt <mdj@kvast.blakulla.net>
127
128 * slib.scm (identity): Removed. (Provided by core.)
129
f595ccfe
MD
1302003-03-11 Mikael Djurfeldt <djurfeldt@nada.kth.se>
131
c614a00b
MD
132 * debugger/command-loop.scm: Prefix all commands imported from
133 (ice-9 debugger command-loop) with debugger:.
134
109c2c9f
MD
135 * boot-9.scm (process-duplicates): Use module-import-interface.
136 (module-symbol-interface): Removed.
c614a00b
MD
137 (resolve-interface): Process #:hide; Name custom interfaces
138 appropriately.
139 (module-use!, module-use-interfaces!): Remove existing interfaces
140 on the use-list based on module name rather than interface
141 identity so that custom interfaces truly replaces their previous
142 version.
109c2c9f 143
f595ccfe
MD
144 * boot-9.scm (module-override!, make-mutable-parameter,
145 lookup-duplicates-handlers, default-module-duplicates-handler):
146 New functions.
147 (process-duplicates): Don't call duplicates handlers for duplicate
148 bindings of the same variable.
149 (process-define-module): Process #:replace.
150 (compile-interface-spec, resolve-interface): Process #:prefix.
151
152 * format.scm (format): Marked as replacement.
153
154 * threads.scm (future, future-ref): Marked as replacements.
155
7b07e5ef
MD
1562003-03-07 Mikael Djurfeldt <djurfeldt@nada.kth.se>
157
158 These changes enables checking for duplicate imported bindings.
159
160 * boot-9.scm (process-define-module): Handle #:duplicates.
161 (module-use-interfaces! process-duplicates): New functions.
162 (duplicate-handlers): Dictionary of duplicate handlers.
163 (module-symbol-local-binding, module-symbol-binding): Bugfix.
164
1798b73d
MD
1652003-03-04 Mikael Djurfeldt <djurfeldt@nada.kth.se>
166
167 * session.scm (apropos): Use hash-for-each instead of
168 array-for-each.
169
c35738c1
MD
1702003-02-19 Mikael Djurfeldt <djurfeldt@nada.kth.se>
171
231a4ea8
MD
172 * boot-9.scm (make-module): Changed default size from 1021 to 31
173 (since the size now adapts).
174 (macro-table, xformer-table): Changed default size from 523 to 61.
175 (make-module): Don't call make-hash-table with zero size.
176
c35738c1
MD
177 * Makefile.am (ice9_sources): Added weak-vector.scm.
178
179 * weak-vector.scm: New file.
180
181 * boot-9.scm (module-clear!): Use hash-clear!.
182 (module-for-each): Use hash-for-each.
183 (module-map): Use hash-map.
184
f59a096e
MD
1852003-02-11 Mikael Djurfeldt <djurfeldt@nada.kth.se>
186
187 * boot-9.scm (make-hash-table): Turned primitive.
188
e963ac2c
MD
1892003-01-27 Mikael Djurfeldt <djurfeldt@nada.kth.se>
190
191 * syncase.scm (guile-macro): Strip syntactic information from
192 expression before trying to treat it as a Guile macro call.
193 (Thanks to Kevin Ryde.)
194
c2950e36
MD
1952003-01-24 Mikael Djurfeldt <djurfeldt@nada.kth.se>
196
197 * threads.scm (parallel, letpar): Rewritten.
198
f4719f31
MD
1992003-01-23 Mikael Djurfeldt <djurfeldt@nada.kth.se>
200
201 * threads.scm (par-mapper, n-par-map, n-par-for-each): Use
202 futures.
203
93f26b7b
MD
2042003-01-20 Mikael Djurfeldt <djurfeldt@nada.kth.se>
205
51407fa0
MD
206 * occam-channel.scm (alt): New syntax.
207
93f26b7b
MD
208 * psyntax.ss (self-evaluating?): Removed. Guile now provides this
209 operator as a primitive procedure.
210 (build-data): Quote vectors (psyntax.ss requires this).
211
2122003-01-19 Mikael Djurfeldt <djurfeldt@nada.kth.se>
213
214 * psyntax.ss (self-evaluating?): Allow procedures implanted in
215 source. (Guile uses this internally.)
216
80f225df
MD
2172003-01-16 Mikael Djurfeldt <djurfeldt@nada.kth.se>
218
219 * psyntax.ss (build-data): Don't quote self-evaluating expressions
220 in output. (We normally *would* like also these expressions to be
221 quoted, but until Guile's native macros and syncase cooperates
222 better, it is less destructive not to quote.)
223 (self-evaluating?): Removed null? (In Guile, the empty list is not
224 self-evaluating).
225 (sc-chi): Export chi as sc-chi.
226 (external-macro): New syntax type.
227
228 * psyntax.pp: Regenerated.
229
230 * compile-psyntax.scm: Set expansion-eval-closure.
7906d57d 231
cf743aea
MD
232 * boot-9.scm (use-syntax): Return *unspecified*.
233
7906d57d
MD
234 * syncase.scm: Set expansion-eval-closure to
235 the-syncase-eval-closure during booting so that variables are
cf743aea
MD
236 created in the correct module.
237 (syncase): Set expansion-eval-closure.
7906d57d
MD
238 (define-syntax define-syntax-public eval-when fluid-let-syntax
239 identifier-syntax let-syntax letrec-syntax syntax syntax-case
240 syntax-rules with-syntax include): Removed definitions (these are
241 created from within psyntax.pp).
80f225df
MD
242 Enable expansion of Guile macros during a syntax-case
243 transformation.
cf743aea 244
60eefd9c
MD
2452003-01-10 Mikael Djurfeldt <djurfeldt@nada.kth.se>
246
8411a446 247 * occam-channel.scm (make-channel): Renamed from channel.
fb831451 248 (make-timer): New function.
8411a446 249
60eefd9c
MD
250 * Makefile.am (ice9_sources): Added occam-channel.scm.
251
252 * occam-channel.scm: New file. Implements occam-like channels.
253
db853761
NJ
2542002-12-28 Neil Jerram <neil@ossau.uklinux.net>
255
256 * boot-9.scm (module-defined-hook): New hook, run whenever a new
257 module is defined.
258 (process-define-module): Run this hook.
259
62d4fd94
MD
2602002-12-18 Mikael Djurfeldt <mdj@kvast.blakulla.net>
261
262 * threads.scm: Removed bogus definition of future-ref.
263
87623595
MD
2642002-12-15 Mikael Djurfeldt <djurfeldt@nada.kth.se>
265
266 * threads.scm (par-map, par-for-each): Reimplemented using
267 joing-thread.
268 (parallel): Reimplemented using futures.
269 (n-par-map, n-for-each): New procedures.
270
edeea67b
MV
2712002-12-12 Marius Vollmer <mvo@zagadka.ping.de>
272
273 * optargs.scm (improper-list-copy): New.
274 (parse-arglist): Use it instead of list-copy.
275
fc85d095
MD
2762002-12-09 Mikael Djurfeldt <djurfeldt@nada.kth.se>
277
278 * threads.scm (letpar): New macro.
279
b2cbe8d8
RB
2802002-12-08 Rob Browning <rlb@defaultvalue.org>
281
282 * debugger/breakpoints/Makefile.am (subpkgdatadir): VERSION ->
283 GUILE_EFFECTIVE_VERSION.
284
285 * debugger/Makefile.am (subpkgdatadir): VERSION ->
286 GUILE_EFFECTIVE_VERSION.
287
288 * Makefile.am (subpkgdatadir): VERSION -> GUILE_EFFECTIVE_VERSION.
289
abce330c
MD
2902002-12-04 Mikael Djurfeldt <mdj@linnaeus>
291
fc85d095
MD
292 * threads.scm (parallel): New macro.
293 (par-map, par-for-each): New procedures.
abce330c
MD
294
295 * documentation.scm (object-documentation): Added support for
296 defmacros.
297
f2cbc0e5
DH
2982002-11-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
299
300 * boot-9.scm (re-export-syntax): Re-introduced after accidentally
301 removing it in my patch from 2002-11-16.
302
9123414e
DH
3032002-11-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
304
305 Thanks to Mikael Djurfeldt for a bugreport which led to the
306 following changes:
307
308 * slib.scm (%system-define): Removed.
309
310 (define): Changed to use define-private instead of
311 %system-define.
312
313 * boot-9.scm (define-private): Undid my changes from 2002-11-16
314 until Guile supports hygienic macros.
315
50a63003
NJ
3162002-11-17 Neil Jerram <neil@ossau.uklinux.net>
317
318 * emacs.scm (emacs-load): Locally define `read-and-eval!', as it
319 has been removed from the core.
320
c55bcb32
DH
3212002-11-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
322
323 * syncase.scm (define-syntax, eval-when, fluid-let-syntax,
324 identifier-syntax, let-syntax, letrec-syntax, syntax, syntax-case,
325 syntax-rules, with-syntax, include): Changed definitions to form
326 'real' macro definitions.
327
6aa9ea7c
DH
3282002-11-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
329
330 * boot-9.scm (define-private, export-syntax, export-syntax):
331 Fixed my previous fix (blush).
332
ab382f52
DH
3332002-11-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
334
335 * boot-9.scm (define-private, export-syntax, export-syntax):
336 Changed definitions to form 'real' macro definitions.
337
81cf290d
MV
3382002-11-07 Marius Vollmer <marius.vollmer@uni-dortmund.de>
339
340 * format.scm (format): Use 'monitor' properly. Not the definition
341 needs to be restricted, the actual function needs to be.
342
3f619266
NJ
3432002-11-05 Neil Jerram <neil@ossau.uklinux.net>
344
345 * boot-9.scm (define-option-interface): Fix to "simplification"
346 change below.
347
348 * debugger/breakpoints/source.scm: Enable source property
349 recording when module is loaded.
350 (##): Cope with ports whose `filename' is not a string.
351
9124ba8d
NJ
3522002-11-04 Neil Jerram <neil@ossau.uklinux.net>
353
0983f67f
NJ
354 * boot-9.scm (define-option-interface): Simplify code-generation
355 code.
356
9124ba8d
NJ
357 * debugger/command-loop.scm (read-and-dispatch-command): Import
358 set-readline-prompt dynamically if we need to. (Previous
359 arrangement didn't work if this module was loaded before (ice-9
360 readline).)
361
eb2c5dcb
MV
3622002-11-03 Marius Vollmer <mvo@zagadka.ping.de>
363
364 * format.scm (format): Wrap a monitor around format:format since
365 it is not thread-safe.
366
132fe7af
MV
3672002-10-27 Marius Vollmer <mvo@zagadka.ping.de>
368
369 * threads.scm (%thread-handler): Explicitely return '#f'. This
370 value will be returned by join-thread.
371
8ee7506b
NJ
3722002-10-26 Neil Jerram <neil@ossau.uklinux.net>
373
374 Merging debugger enhancements previously in separate
375 `guile-debugger' package ...
376
377 * debugger.scm: Factored out into the following constituent parts
378 - see comment in file for more details.
379 (*not-yet-introduced*): New (avoids repeatedly introducing the
380 debugger when entering it from breakpoints).
381 (debug-stack): New.
382 (debug): Rewrite to use more general `debug-stack'.
383
384 * debugger/commands.scm, debugger/command-loop.scm,
385 debugger/state.scm, debugger/utils.scm: New files containing bits
386 of old (ice-9 debugger), plus some rewriting and enhancements for
387 breakpoint support ...
388
389 * debugger/state.scm (state-rtd): Add flags field.
390 (make-state): Extend to optionally take flags.
391 (state-flags): New, accessor for flags field.
392 (set-state-index!, set-stack-index!): New.
393 (write-state-short): Rewritten to print out the current source
394 location in a way that is more easily trackable by Emacs.
395
396 * debugger/commands.scm (assert-continuable, continue, finish,
397 trace-finish, step, next): New debugger commands for continuing
398 execution from a breakpoint.
399
400 * debugger/behaviour.scm, debugger/breakpoints.scm,
401 debugger/breakpoints/procedural.scm,
402 debugger/breakpoints/range.scm, debugger/breakpoints/source.scm,
403 debugger/trap-hooks.scm, debugger/trc.scm: New files - breakpoint
404 support.
405
406 * Makefile.am (SUBDIRS): Add debugger subdirectory.
407
408 * debugger/Makefile.am, debugger/breakpoints/Makefile.am: New.
409
03453b05
MV
4102002-10-21 Marius Vollmer <mvo@zagadka.ping.de>
411
412 * threads.scm (%thread-handler): Do not call unmask-signals, that
413 should be unnecessary now.
414
a7785f36
MD
4152002-10-20 Mikael Djurfeldt <mdj@linnaeus>
416
417 * boot-9.scm (top-repl): Look for use-emacs-interface in
418 guile-user-module (should it be there?) instead of
419 the-root-module.
420
acfa1f52
MV
4212002-10-10 Marius Vollmer <mvo@zagadka.ping.de>
422
423 * boot-9.scm (top-repl): Use 2 as the limit when saving the stack.
424 (error-catching-loop): use call-with-blocked-asyncs and
425 call-with-unblocked-asyncs instead of mask-signals and
426 unmask-signals.
427
34010f56
NJ
4282002-10-09 Neil Jerram <neil@ossau.uklinux.net>
429
430 * buffered-input.scm (make-buffered-input-port): Build an
431 input-waiting thunk for just extended version of make-soft-port.
432
9bc54879
RB
4332002-10-04 Rob Browning <rlb@defaultvalue.org>
434
435 * boot-9.scm (expt): switch if sense and use negative? rather than
436 >= 0.
437
3538c2b2
MV
4382002-10-04 Marius Vollmer <mvo@zagadka.ping.de>
439
440 * boot-9.scm (top-repl): Use "1" instead of "%deliver-signals" to
441 limit the signal stack.
442
f4232aa6
MV
4432002-09-15 Marius Vollmer <mvo@zagadka.ping.de>
444
445 * boot-9.scm (feature?): Added deprecation message.
446
5fc0857e
RB
4472002-09-14 Rob Browning <rlb@defaultvalue.org>
448
449 * boot-9.scm (sqrt): minor indentation fix.
450
cfcdb8e9
MV
4512002-09-05 Marius Vollmer <mvo@zagadka.ping.de>
452
453 * syncase.scm: Set the module transformer of the-syncase-module so
454 that we can use define-syntax.
455 (define-syntax-public): New and exported.
456
4572002-09-04 Marius Vollmer <mvo@zagadka.ping.de>
458
459 * syncase.scm (expansion-eval-closure, env->eval-closure): New.
460 (sc-macro): Set the expansion-eval-closure expanding the form.
461 (putprop, getprop): Use the expansion-eval-closure to find
462 variables instead of the current module.
463
fdf7e1d7
MV
4642002-07-08 Marius Vollmer <mvo@zagadka.ping.de>
465
466 * slib.scm (make-exchanger): Added. Thanks to Clinton Ebadi!
467
7c38399f
DH
4682002-07-07 Dirk Herrmann <D.Herrmann@tu-bs.de>
469
470 * boot-9.scm (define-option-interface): Replaced "macro" by
471 mmacro.
472
1334c61a
GH
4732002-06-01 Gary Houston <ghouston@arglist.com>
474
475 * boot-9.scm (file-set-position): Make third argument optional,
476 for SCM compatibility.
477 (file-position): simplify definition.
478
be87cdb7
MV
4792002-06-01 Marius Vollmer <mvo@zagadka.ping.de>
480
481 * boot-9.scm (file-set-position): Use seek instead of fseek.
482
e717bf46
MV
4832002-05-09 Marius Vollmer <mvo@zagadka.ping.de>
484
485 * format.scm (format:out-inf-nan): New.
486 (format:out-fixed, format:out-expon, format:out-general): Use it
487 to print infs and nans.
488
489 * boot-9.scm (unsetenv): New, for completeness.
490
9ea4ac37
MV
4912002-05-08 Marius Vollmer <mvo@zagadka.ping.de>
492
493 * format.scm (format:fn-max): Increase to 400 so ~f and ~g can
494 print long real numbers with large positive and negative
495 exponents.
496
45845efe
MV
4972002-05-06 Marius Vollmer <mvo@zagadka.ping.de>
498
499 * syncase.scm: Use (ice-9 threads) so that with-mutex is defined.
500
0bd1b44f
TTN
5012002-04-30 Thien-Thi Nguyen <ttn@giblet.glug.org>
502
503 * gap-buffer.scm: New file.
504
505 * Makefile.am (ice9_sources): Add gap-buffer.scm.
506
c87af2d5
RB
5072002-03-12 Rob Browning <rlb@defaultvalue.org>
508
509 * syncase.scm: fix bad let.
510 (gensym): fix failure on non-threaded
511
6c5b8521
TTN
5122002-03-05 Thien-Thi Nguyen <ttn@giblet.glug.org>
513
514 * ftw.scm: New file.
515
516 * Makefile.am (ice9_sources): Add ftw.scm.
517
327d4dd3
TTN
5182002-02-26 Thien-Thi Nguyen <ttn@giblet.glug.org>
519
520 * Makefile.am: Update path to pre-inst-guile automake frag.
521
d51b42e2
TTN
522 * boot-9.scm: Comment grammar fixes; nfc.
523 Thanks to Christopher Cramer.
524
46151112
RB
5252002-02-24 Rob Browning <rlb@defaultvalue.org>
526
527 * syncase.scm (gensym): redefine locally so we can control it's
528 properties. This is in preparation for changing the future public
529 gensym to produce unreadable symbols.
530
531 * psyntax.pp: updated to reflect new syncase.scm.
532
90d4a6b0
TTN
5332002-02-07 Thien-Thi Nguyen <ttn@giblet.glug.org>
534
535 * regex.scm: Add commentary; nfc.
536
0187b4f4
TTN
5372002-02-05 Thien-Thi Nguyen <ttn@giblet.glug.org>
538
539 * Makefile.am: Include $(top_srcdir)/pre-inst-guile.am.
540
541 (psyntax.pp): Use $(preinstguile).
542
dd580bd6
MV
5432002-01-14 Marius Vollmer <mvo@zagadka.ping.de>
544
545 * psyntax.ss (datum->syntax-object): Removed assertion in
546 datum->syntax-object that checked if the first argument, a
547 syntax-object, is an identifier. This was a unconvenient and
548 unnecessary restriction. Thanks to Dorai Sitaram!
549
0e6f7775
MV
5502002-01-12 Marius Vollmer <mvo@zagadka.ping.de>
551
552