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