Added `config.rpath'.
[bpt/guile.git] / ice-9 / ChangeLog
1 2007-08-08 Ludovic Courtès <ludo@gnu.org>
2
3 * boot-9.scm (%record-type-check): Renamed to
4 `%record-type-error'.
5 (record-accessor): Directly use `struct-vtable' and
6 `struct-ref', thereby avoiding indirections and procedure-call
7 overhead.
8 (record-modifier): Likewise.
9
10 2007-05-05 Ludovic Courtès <ludo@chbouib.org>
11
12 Implemented lazy duplicate binding handling. Fixed the
13 `module-observe-weak' API.
14
15 * boot-9.scm: Updated the `module-type' documentation under "{Low
16 Level Modules}".
17 (module-type)[import-obarray]: New slot.
18 [duplicates-interface, observer-id]: Removed.
19 (make-module): Updated accordingly. Use a weak-key hash table for
20 weak observers, so that observers aren't unregistered when the
21 observing closure gets GC'd.
22 (module-duplicates-interface, set-module-duplicates-interface!,
23 module-observer-id, set-module-observer-id!): Removed.
24 (module-import-obarray): New.
25 (module-observe-weak): Accept a new OBSERVER-ID argument allowing
26 callers control over when the observer will get unregistered.
27 (module-call-observers): Use `hash-for-each' rather than
28 `hash-fold'.
29 (module-local-variable, module-variable): Removed, now implemented
30 in C.
31 (module-make-local-var!): Simplified. No need to check for the
32 value of a same-named imported binding since the newly created
33 variable is systematically assigned afterwards.
34 (module-use!): Check whether MODULE and INTERFACE are `eq?'.
35 (module-use-interfaces!): Simplified. No longer calls
36 `process-duplicates'.
37 (beautify-user-module!): Use `module-use!' rather than
38 `set-module-uses!' when importing THE-SCM-MODULE.
39 (process-define-module): Added an AUTOLOADS local variable so that
40 autoloads are handled separately from regular interfaces.
41 (make-autoload-interface): Updated `module-constructor'
42 invocation.
43 (module-autoload!): New.
44 (make-duplicates-interface, process-duplicates): Removed.
45 (top-repl): Use `module-autoload!' rather than
46 `make-autoload-interface'.
47
48 2007-02-18 Neil Jerram <neil@ossau.uklinux.net>
49
50 * gds-client.scm (connect-to-gds): Break generation of client name
51 into ...
52 (client-name): New procedure.
53 (client-name): Put something from (program-arguments) in the
54 client name that GDS displays in Emacs.
55 (connect-to-gds, client-name): Add application-name arg to allow
56 caller to specify client name.
57
58 2007-02-09 Ludovic Courtès <ludovic.courtes@laas.fr>
59
60 * Makefile.am (ice9_sources): Added `i18n.scm'.
61
62 2007-01-31 Ludovic Courtès <ludovic.courtes@laas.fr>
63
64 * i18n.scm: Use `(ice-9 optargs)'. Don't export `LC_*_MASK'
65 variables. Added new exports.
66 (locale-encoding, locale-day-short, locale-day,
67 locale-month-short, locale-month, locale-am-string,
68 locale-pm-string, locale-date+time-format, locale-date-format,
69 locale-time-format, locale-time+am/pm-format, locale-era,
70 locale-era-year, locale-era-date+time-format,
71 locale-era-date-format, locale-era-time-format,
72 locale-currency-symbol, locale-monetary-fractional-digits,
73 locale-monetary-positive-sign, locale-monetary-negative-sign,
74 locale-monetary-decimal-point,
75 locale-monetary-thousands-separator,
76 locale-monetary-digit-grouping,
77 locale-currency-symbol-precedes-positive?,
78 locale-currency-symbol-precedes-negative?,
79 locale-positive-separated-by-space?,
80 locale-negative-separated-by-space?,
81 locale-positive-sign-position, locale-negative-sign-position,
82 %number-integer-part, add-monetary-sign+currency,
83 monetary-amount->locale-string, locale-digit-grouping,
84 locale-decimal-point, locale-thousands-separator,
85 number->locale-string, locale-yes-regexp, locale-no-regexp): New
86 procedures.
87 (define-vector-langinfo-mapping, define-simple-langinfo-mapping,
88 define-monetary-langinfo-mapping): New macros.
89
90 2007-01-04 Kevin Ryde <user42@zip.com.au>
91
92 * boot-9.scm (top-repl): Check (defined? 'SIGBUS) before using that
93 value, there's no such signal on mingw. Reported by Cesar Strauss.
94
95 2006-12-13 Kevin Ryde <user42@zip.com.au>
96
97 * boot-9.scm (use-srfis, top-repl): Use process-use-modules, to
98 correctly handle duplicates between the core and other modules, in
99 particular srfi-17 which should replace `car' etc (but didn't).
100
101 2006-12-09 Kevin Ryde <user42@zip.com.au>
102
103 * boot-9.scm (top-repl): Remove module-use! of the core `(guile)'
104 module. It's already in `(guile-user)' and the module-use! elevates
105 it making core bindings override those from elsewhere, such as `iota'
106 under a run of "guile --use-srfi=1". Reported by Sven Hartrumpf.
107
108 2006-11-13 Neil Jerram <neil@ossau.uklinux.net>
109
110 * boot-9.scm (environment-module): Change eval-closure-module call
111 back to procedure-property lookup. (This completes the reversion
112 of the change made on 2005-06-10, which was only partially undone
113 by the change on 2005-08-01.)
114
115 2006-10-13 Neil Jerram <neil@ossau.uklinux.net>
116
117 Integration of Unix domain socket patch from William Xu:
118
119 * gds-client.scm (connect-to-gds): Try to connect by Unix domain
120 socket if TCP connection fails.
121
122 * gds-server.scm (run-server): Update to support listening on a
123 Unix domain socket.
124
125 2006-10-05 Kevin Ryde <user42@zip.com.au>
126
127 * ftw.scm (visited?-proc): Use hashv since we know we're getting
128 numbers. Incorporate stat:dev, since stat:ino is only unique within a
129 single device. This fixes a bug where if two files with the same
130 inode on different devices where seen only the first would be returned
131 by ftw (and nftw).
132
133 2006-10-03 Neil Jerram <neil@ossau.uklinux.net>
134
135 * gds-client.scm (run-utility): Remove unnecessary
136 `connect-to-gds' call.
137
138 2006-09-30 Neil Jerram <neil@ossau.uklinux.net>
139
140 * debugging/ice-9-debugger-extensions.scm (debug-trap): Use
141 `debugger-command-loop' instead of `read-and-dispatch-commands',
142 which isn't actually available. Thanks to Carlos Pita for
143 reporting this.
144 (debugger-command-loop): Define here for 1.6.x.
145
146 2006-09-25 Neil Jerram <neil@ossau.uklinux.net>
147
148 * debugging/ice-9-debugger-extensions.scm (debugger:step):
149 Docstring improvements.
150 (debugger:next): Docstring improvements.
151 (debugger:continue): Docstring improvements.
152
153 * debugger/commands.scm (up, down): Docstring corrections.
154 (info-args, info-frame, position, evaluate): Docstring
155 improvements.
156
157 2006-09-23 Kevin Ryde <user42@zip.com.au>
158
159 * boot-9.scm (log, log10, exp, sqrt): Remove, now in
160 libguile/numbers.c.
161
162 2006-09-07 Kevin Ryde <user42@zip.com.au>
163
164 * format.scm: Module "(ice-9 threads)" no longer used, now no mutex.
165 (format:parse-float): Fix normalization of leading zeros like "02.5"
166 to "2.5". left-zeros was zeroed before adjusting format:fn-dot,
167 resulting in the latter being unchanged.
168
169 2006-08-18 Neil Jerram <neil@ossau.uklinux.net>
170
171 * debugging/trc.scm: New file.
172
173 * debugging/traps.scm: New file.
174
175 * debugging/trace.scm: New file.
176
177 * debugging/steps.scm: New file.
178
179 * debugging/load-hooks.scm: New file.
180
181 * debugging/ice-9-debugger-extensions.scm: New file.
182
183 * debugging/example-fns.scm: New file.
184
185 * debugging/breakpoints.scm: New file.
186
187 * debugging/Makefile.am: New.
188
189 * Makefile.am (SUBDIRS): Add debugging.
190
191 2006-08-02 Kevin Ryde <user42@zip.com.au>
192
193 * boot-9.scm (%record-type-check): New function.
194 (record-accessor, record-modifier): Use it for a strict type check of
195 the given record. Previously an accessor returned #f on a wrong
196 record type, and modifier silently did nothing.
197
198 2006-06-19 Neil Jerram <neil@ossau.uklinux.net>
199
200 * Makefile.am (ice9_sources): Add new files.
201
202 * gds-client.scm, gds-server.scm: New files.
203
204 2006-05-28 Kevin Ryde <user42@zip.com.au>
205
206 * documentation.scm (file-commentary): Move make-regexp into
207 file-commentary so that it's possible to get to the repl prompt when
208 regexps are not available.
209
210 2006-05-09 Kevin Ryde <user42@zip.com.au>
211
212 * threads.scm (n-par-for-each, n-for-each-par-map): Two more spots
213 where `futures' should become `threads' from Marius' change of
214 2006-01-29.
215
216 2006-03-04 Ludovic Courtès <ludovic.courtes@laas.fr>
217
218 * ice-9/boot-9.scm (make-autoload-interface): Don't call `set-car!' if
219 the autoload interface has already been removed from MODULE's uses.
220 This bug showed up when using a given module both with `autoload' and
221 `use-module'.
222
223 2006-02-21 Kevin Ryde <user42@zip.com.au>
224
225 * format.scm (format:out-dollar): Use format:out-inf-nan per ~f etc.
226
227 2006-02-12 Marius Vollmer <mvo@zagadka.de>
228
229 * deprecated.scm (make-uniform-array): Don't pass the prototype as
230 the fill value, dimensions->uniform-array will do the right thing
231 now. See scm_dimensions_to_uniform_array why we need to be tricky
232 about the fill value.
233
234 2006-02-04 Neil Jerram <neil@ossau.uklinux.net>
235
236 * boot-9.scm (try-module-autoload): Make sure that module code is
237 loaded with the default reader (current-reader #f). Thanks to
238 Ludovic Courtès for pointing this problem out.
239
240 * stack-catch.scm (stack-catch): Use catch pre-unwind handler
241 instead of lazy-catch.
242
243 * boot-9.scm (error-catching-loop): Use catch pre-unwind handler
244 instead of lazy-catch.
245
246 2006-02-01 Ludovic Courtès <ludovic.courtes@laas.fr>
247
248 * deprecated.scm (make-uniform-array): Fill the returned vector with
249 PROT, per guile 1.6 behaviour.
250
251 2006-01-30 Marius Vollmer <mvo@zagadka.de>
252
253 * threads.scm (ice-9): Export %thread-handler.
254
255 2006-01-29 Marius Vollmer <mvo@zagadka.de>
256
257 * threads.scm: Replaced 'futures' with threads.
258
259 2006-01-13 Neil Jerram <neil@ossau.uklinux.net>
260
261 * boot-9.scm (repl-reader): Use value of current-reader fluid to
262 do the read, if set. (Thanks to Ludovic Courtès for the patch.)
263
264 2005-12-14 Neil Jerram <neil@ossau.uklinux.net>
265
266 * boot-9.scm (load-module): Support an optional custom reader arg,
267 implemented by passing on to r4rs's load.
268
269 * r4rs.scm (load): Support an optional custom reader arg,
270 implemented by passing on to primitive-load.
271
272 2005-12-06 Marius Vollmer <mvo@zagadka.de>
273
274 From Stephen Compall.
275
276 * boot-9.scm (%cond-expand-features): Add srfi-61.
277
278 2005-10-27 Ludovic Courtès <ludovic.courtes@laas.fr>
279
280 * networking.scm (sockaddr:flowinfo, sockaddr:scopeid): New functions.
281
282 2005-09-01 Neil Jerram <neil@ossau.uklinux.net>
283
284 * debugger/utils.scm: Export write-frame-long.
285
286 2005-08-01 Marius Vollmer <mvo@zagadka.de>
287
288 * boot-9.scm (set-module-eval-closure!): Undone change from
289 2005-06-10; with the new weak hashtable semantics, cyclic
290 references are no longer a problem.
291
292 2005-07-09 Neil Jerram <neil@ossau.uklinux.net>
293
294 * debugger.scm: Remove comments which are now incorrect.
295
296 * debugger/Makefile.am (ice9_debugger_sources): Removed
297 breakpoints.scm, behaviour.scm, trap-hooks.scm.
298 (SUBDIRS): Removed.
299
300 Changes to remove breakpoint support from CVS, as I am now
301 developing this function outside Guile core.
302
303 * debugger/commands.scm (assert-continuable, continue, finish,
304 trace-finish, step, next): Removed.
305
306 * debugger/breakpoints/*: Removed.
307
308 * debugger/breakpoints.scm: Removed.
309
310 * debugger/command-loop.scm: Remove command definitions for
311 continue, finish, trace-finish, step and next.
312
313 * debugger/behaviour.scm: Removed.
314
315 * debugger.scm (debug-stack): Remove GDS related code.
316
317 2005-06-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
318
319 * boot-9.scm (set-module-eval-closure!): remove
320 set-procedure-property! closure 'module. Setting this property
321 causes un-gc-able modules.
322
323 2005-06-05 Marius Vollmer <mvo@zagadka.de>
324
325 * boot-9.scm (substring-fill!): New, for compatability.
326
327 2005-04-23 Kevin Ryde <user42@zip.com.au>
328
329 * boot-9.scm (make-list): Moved to C code in list.c
330
331 2005-04-14 Kevin Ryde <user42@zip.com.au>
332
333 * boot-9.scm (1+, 1-): Moved to numbers.c.
334
335 2005-03-08 Kevin Ryde <user42@zip.com.au>
336
337 * slib.scm (*features*): Remove 'random, need to use the slib code for
338 that module since guile doesn't provide `random:chunk'.
339
340 2005-02-12 Rob Browning <rlb@defaultvalue.org>
341
342 * boot-9.scm (%cond-expand-features): add srfi-55.
343 (require-extension): add require-extension macro for srfi-55.
344
345 2005-01-29 Kevin Ryde <user42@zip.com.au>
346
347 * regex.scm (regexp-quote): Use string-for-each, now that function is
348 in the core.
349
350 2005-01-28 Kevin Ryde <user42@zip.com.au>
351
352 * boot-9.scm (while): Remove the unquote from do, it breaks with ice-9
353 syncase. Reported by Pach Roman.
354
355 2005-01-10 Marius Vollmer <marius.vollmer@uni-dortmund.de>
356
357 * arrays.scm, deprecated.scm (uniform-vector-fill!,
358 make-uniform-vector, make-uniform-array, list->uniform-vector):
359 Moved from arrays.scm to deprecated.scm.
360 * arrays.scm, boot-9.scm (array-dimensions): Moved from arrays.scm
361 to boo-9.scm.
362 * Makefile.am (ice9_sources): Removed arrays.scm.
363
364 2005-01-02 Marius Vollmer <mvo@zagadka.de>
365
366 * arrays.scm (uniform-vector-fill!, make-uniform-vector,
367 make-uniform-array,list->uniform-array): Deprecated for real.
368
369 2004-12-29 Marius Vollmer <mvo@zagadka.de>
370
371 * arrays.scm (make-array, list->array): Removed.
372 (uniform-vector-fill!): Prepared to be deprecated.
373
374 2004-12-22 Marius Vollmer <marius.vollmer@uni-dortmund.de>
375
376 * boot-9.scm (module-make-local-var!): When creating a new
377 variable, initialize it to the value of any imported variable with
378 the given name. This allows code like (define round round) to
379 work as expected.
380
381 From Antoine Mathys <tonigonenstein@users.sourceforge.net>:
382
383 * popen.scm: Support bidirectional communication by making
384 open-pipe support OPEN_BOTH as second argument and in that case
385 return a soft input-output port which uses two pipes internally.
386 Provide open-pipe* to execute programs without using the shell
387 (and actually base open-pipe on it) and the obvious
388 open-input-output-pipe.
389
390 2004-12-14 Kevin Ryde <user42@zip.com.au>
391
392 * boot-9.scm: (string-any, string-every): Use a scheme wrapper around
393 the C code so for the final call to the predicate procedure is a tail
394 call, per SRFI-13 spec.
395
396 2004-12-01 mvo <mvo@zagadka.de>
397
398 * boot-9.scm (app, %app): Renamed former to the latter.
399 Previously, 'app' was reserved in every module. Now '%app' is
400 reserved, which is slightly better. The real fix is to not use
401 'local-ref' etc to find modules. Changed all uses.
402 * syncase.scm: Changed 'app' to '%app'.
403
404 2004-11-12 Marius Vollmer <marius.vollmer@uni-dortmund.de>
405
406 * arrays.scm: Do not use prototypes, use creator functions.
407
408 2004-11-10 Marius Vollmer <mvo@zagadka.de>
409
410 * arrays.scm (uniform-vector-read!, uniform-vector-write):
411 Removed.
412
413 2004-11-05 Marius Vollmer <marius.vollmer@uni-dortmund.de>
414
415 * boot-9.scm: Do not add "." to %load-path. 'load' will still be
416 able to load files in the current directory, but 'use-modules' etc
417 will not.
418
419 2004-10-29 Marius Vollmer <marius.vollmer@uni-dortmund.de>
420
421 * arrays.scm: Do not install read-hash procedure for reading
422 arrays, this is done in libguile now.
423
424 2004-10-27 Marius Vollmer <marius.vollmer@uni-dortmund.de>
425
426 * arrays.scm (uniform-vector?, uniform-vector-set!): Removed, now
427 provided by libguile.
428
429 2004-10-26 Marius Vollmer <marius.vollmer@uni-dortmund.de>
430
431 * boot-9.scm: Added srfi-4 to cond-expand features.
432
433 2004-10-18 Marius Vollmer <marius.vollmer@uni-dortmund.de>
434
435 * format.scm (format:obj->str): Simplified considerably by using
436 object->string or display instead of implementing our own printer.
437 Handle format:read-proof here. Unreadable objects are recognized
438 by their "#<" prefix instead of by being unknown to the custom
439 printer (which would treat keywords as unprintable, for example).
440 (format:iobj->str): Removed.
441
442 2004-10-04 Marius Vollmer <marius.vollmer@uni-dortmund.de>
443
444 * boot-9.scm (symbol->keyword, keyword->symbol): Removed, they are
445 now implemented in C.
446
447 2004-09-26 Kevin Ryde <user42@zip.com.au>
448
449 * optargs.scm (let-optional-template, let-keywords-template): Change
450 "(begin body)" to "(let () body)" for empty bindings, since the former
451 allows "internal defines" in body leak out to the surrounding
452 environment.
453
454 2004-09-23 Marius Vollmer <mvo@zagadka.de>
455
456 * boot-9.scm (handle-system-error): Pass rest argument to
457 display-backtrace for wrong-type-arg and out-of-range errors so
458 that the bad value gets highlighted.
459
460 2004-09-04 Kevin Ryde <user42@zip.com.au>
461
462 * streams.scm (stream-for-each-many): Correction, should recurse into
463 itself, not stream-for-each-one.
464
465 * time.scm (time-proc): Make result inexact, since format ~f doesn't
466 support fractions currently.
467
468 2004-09-08 Marius Vollmer <marius.vollmer@uni-dortmund.de>
469
470 * boot-9.scm (expt): Only call integer-expt for an exact integer
471 exponent, not for an inexact integer one. Also, let integer-expt
472 handle negative exponents instead of doing it here.
473
474 2004-09-02 Kevin Ryde <user42@zip.com.au>
475
476 * format.scm (format:out): Ignore excess arguments, per common lisp.
477
478 * format.scm (format:out-num-padded): Print "+" on 0 under @ modifier.
479
480 2004-08-27 Kevin Ryde <user42@zip.com.au>
481
482 * regex.scm (regexp-quote): [ and | must be quoted. Quote ( ) { + ?
483 using char class [(] etc since \( in fact makes them become special in
484 regexp/basic.
485
486 2004-08-25 Kevin Ryde <user42@zip.com.au>
487
488 * and-let-star.scm (and-let*): Give #t for an empty body, per srfi-2
489 spec, previously came out as an empty (begin).
490
491 2004-08-25 Marius Vollmer <mvo@zagadka.de>
492
493 * boot-9.scm (%cond-expand-features): Added srfi-13 and srfi-14.
494
495 2004-08-20 Marius Vollmer <marius.vollmer@uni-dortmund.de>
496
497 * debugger/utils.scm (display-source): Use unmemoize-expr instead
498 of unmemoize.
499 (write-frame-short/expression): Likewise.
500
501 2004-08-18 Kevin Ryde <user42@zip.com.au>
502
503 * and-let-star.scm: Add cond-expand-provide srfi-2, since this module
504 provides that feature.
505 * receive.scm: Add cond-expand-provide srfi-8, since this module
506 provides that feature.
507
508 2004-08-09 Marius Vollmer <mvo@zagadka.de>
509
510 From Matthias Koeppe. Thanks!
511
512 * pretty-print.scm (generic-write): In the local procedure `wr', use
513 object->string to print all data (except for the reader macros),
514 rather than implementing an own printer. The user-visible
515 difference is that procedures and control characters like #\tab
516 are now printed in the same way as by `write'.
517
518 2004-08-09 Kevin Ryde <user42@zip.com.au>
519
520 * slib.scm (*features*): Remove array and array-for-each, core
521 definitions are insufficient for latest slib.
522 (t, nil): New constants slib says are supposed to exist.
523 (call-with-open-ports, browse-url): New functions for latest slib.
524 Implementations taken from Template.scm (public domain).
525 (open-file): Extend core definition to accept symbols for the mode,
526 required by latest slib.
527 (delete-file): Replace core definition with version returning #t/#f as
528 per slib spec.
529 (system): Mark as #:replace to suppress override warning, use new
530 style "(@ (guile) system)" to call core function.
531
532 2004-05-25 Matthias Koeppe <mkoeppe@mail.math.uni-magdeburg.de>
533
534 * format.scm: Remove the arbitrary limit of 100 iterations for the
535 ~{...~} control structure.
536
537 2004-07-10 Kevin Ryde <user42@zip.com.au>
538
539 * and-let-star.scm (and-let*): Remove unused variable "val".
540 * pretty-print.scm (read-macro-prefix): Remove unused variable "tail".
541
542 * boot-9.scm (%cond-expand-features): Add srfi-6 which is in the core.
543
544 * safe-r5rs.scm (re-export): Uncomment numerator, denominator,
545 rationalize, since they now exist.
546
547 2004-07-05 Kevin Ryde <user42@zip.com.au>
548
549 * slib.scm (system): Correction to redefinition, now guile is stricter
550 about when a define binding comes into existance.
551
552 2004-05-29 Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
553
554 * boot-9.scm: Reordered definitions such that macro definitions
555 preceed their first usage. Include and define deprecated stuff
556 late in the file to have a better change of detecting accidental
557 uses of deprecated definitions. Further, unified the layout a
558 little and grouped definitions more cleanly into topics.
559
560 2004-05-24 Marius Vollmer <mvo@zagadka.de>
561
562 * history.scm (use-value-history): Use resolve-interface instead
563 of resolve-module so that only the exported bindings are searched.
564 (save-value-history): Export the newly defined variable. Reported
565 by Wolfgang Jaehrling.
566
567 2004-05-04 Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
568
569 * boot-9.scm (resolve-module): Always start searching from the
570 root module. This will allow the C equivalent scm_resolve_module
571 to work, independent of what the current module is.
572
573 2004-02-18 Marius Vollmer <mvo@zagadka.de>
574
575 * boot-9.scm (top-repl): Make the (guile-user) module use the
576 (ice-9 r5rs) module.
577
578 2004-02-12 Mikael Djurfeldt <djurfeldt@nada.kth.se>
579
580 * boot-9.scm (module-map): Renamed hash-map -> hash-map->list.
581
582 2004-02-09 Neil Jerram <neil@ossau.uklinux.net>
583
584 * debugger/trap-hooks.scm (debug-hook-membership): New, exported.
585
586 * debugger/commands.scm (debug-trap-hooks): New, exported.
587
588 2004-02-08 Mikael Djurfeldt <djurfeldt@nada.kth.se>
589
590 * debugger/breakpoints/Makefile.am (TAGS_FILES),
591 debugger/Makefile.am (TAGS_FILES), Makefile.am (TAGS_FILES): Use
592 this variable instead of ETAGS_ARGS so that TAGS can be built
593 using separate build directory.
594
595 2004-01-20 Neil Jerram <neil@ossau.uklinux.net>
596
597 * boot-9.scm (error-catching-loop): Back out 2003-11-19 change to
598 lazy-handler-dispatch lookup.
599
600 2004-01-12 Marius Vollmer <mvo@zagadka.de>
601
602 * mapping.scm: Use '#:' prefix for keywords instead of ':'.
603 Thanks to Richard Todd!
604
605 2004-01-11 Kevin Ryde <user42@zip.com.au>
606
607 * slib.scm (system): New function, giving an exit code return in
608 accordance with slib spec.
609
610 Revert this, it breaks test-suite/tests/r5rs_pitfalls.test where
611 false-if-exception is used within syntax-rules. (Suspect syntax-rules
612 ought to support this sort of thing, but it doesn't right now.)
613 * boot-9.scm (false-if-exception): Unquote catch and lambda, so as not
614 to depend on expansion environment.
615
616 2004-01-07 Marius Vollmer <marius.vollmer@uni-dortmund.de>
617
618 * boot-9.scm (with-fluids): Use with-fluid* when only one fluid is
619 being set.
620
621 2004-01-07 Kevin Ryde <user42@zip.com.au>
622
623 * q.scm (q-pop!): Should be "null?" not "not" for end-of-list.
624 Reported by Richard Todd.
625
626 2004-01-04 Kevin Ryde <user42@zip.com.au>
627
628 * boot-9.scm (false-if-exception): Unquote catch and lambda, so as not
629 to depend on expansion environment.
630
631 * slib.scm (-1+, <?, <=?, =?, >?, >=?): Define as aliases for 1-, <,
632 <=, =, >, >= respectively, required by slib 'rev2-procedures but no
633 longer in the guile core.
634
635 2003-11-19 Neil Jerram <neil@ossau.uklinux.net>
636
637 * boot-9.scm (error-catching-loop): Defer lookup of
638 lazy-handler-dispatch.
639
640 2003-11-17 Marius Vollmer <mvo@zagadka.de>
641
642 * boot-9.scm (@, @@): New macros.
643
644 2003-11-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
645
646 * boot-9.scm: Started comment about module system workings.
647
648 2003-11-11 Neil Jerram <neil@ossau.uklinux.net>
649
650 * debugger.scm: Change ui-* calls to gds-*.
651 (debug-on-error): Debug if throw key is in specified syms, not if
652 it isn't! Also throw 'abort after debugging, so as to skip the
653 REPL's backtrace.
654
655 * debugger/behaviour.scm (*trap*): New variable, stores trap type.
656 (before-enter-frame-hook, before-apply-frame-hook,
657 before-exit-frame-hook): Set here.
658 (debug-if-flag-set): Passed into flags on debug-stack call.
659 (at-step, at-next): Changed to debug at frame exit points as well.
660
661 * debugger/utils.scm: Big comment added.
662
663 2003-10-30 Neil Jerram <neil@ossau.uklinux.net>
664
665 * debugger/ui-client.scm: Moved to ../emacs/gds-client.scm.
666
667 2003-10-16 Neil Jerram <neil@ossau.uklinux.net>
668
669 * debugger/ui-client.scm (ui-connect): Add arg to say whether to
670 debug immediately on connection.
671 (ui-eval): Handle exceptions during read and evaluation.
672
673 * debugger.scm (debug-on-error, default-default-lazy-handler):
674 Remove an unnecessary level of indirection in calling lazy
675 handler.
676
677 2003-10-12 Marius Vollmer <mvo@zagadka.de>
678
679 * ftw.scm (directory-files): Close dir-stream when done. Thanks
680 to Paul Jarc!
681
682 2003-10-09 Kevin Ryde <user42@zip.com.au>
683
684 * poe.scm (funcq-assoc): Rewrite, don't assume '() is false, and
685 actually traverse the given alist.
686
687 2003-10-06 Neil Jerram <neil@ossau.uklinux.net>
688
689 * debugger/ui-client.scm (handle-instruction): Add evaluation
690 support.
691 (ui-eval): New.
692
693 2003-10-04 Neil Jerram <neil@ossau.uklinux.net>
694
695 * debugger/ui-client.scm (ui-disable-async-thread,
696 ui-continue-async-thread, start-async-ui-thread): New.
697 (ui-command-loop): Call ui-disable-async-thread and
698 ui-continue-async-thread.
699 (handle-instruction): Read terminating newline char so it doesn't
700 cause following select to pop immediately.
701
702 2003-09-25 Neil Jerram <neil@ossau.uklinux.net>
703
704 * debugger/ui-client.scm, debugger/ui-server.scm: New (work in
705 progress on new debugging front end).
706
707 2003-09-24 Neil Jerram <neil@ossau.uklinux.net>
708
709 * debugger.scm (default-default-lazy-handler, debug-on-error):
710 New.
711
712 * debugger/behaviour.scm (debug-if-flag-set): Display debug entry
713 messages through (debugger-output-port).
714 (after-exit-frame-hook): Trace through (debugger-output-port).
715 (trace-here): Trace through (debugger-output-port).
716
717 * debugger/commands.scm (evaluate): If supplied expression is a
718 string, read from it before evaluating.
719 (evaluate): Change output format to "EXPR => VALUE".
720
721 2003-09-19 Kevin Ryde <user42@zip.com.au>
722
723 * popen.scm (open-process): Correction to previous fdes closing
724 change, need to watch out for stdin==stderr or stdout==stderr.
725
726 2003-09-15 Marius Vollmer <mvo@zagadka.de>
727
728 * format.scm (format): Rewritten as a big letrec to make it
729 reentrant. No mutex is necessary. Thanks to Clinton Ebadi!
730
731 2003-09-13 Kevin Ryde <user42@zip.com.au>
732
733 * boot-9.scm (file-exists?): Use stat rather than access?, so as to
734 follow the effective UID/GID not the real ID. file-exists? is
735 normally used as a prelude to opening or some other operation, and
736 it's the effective ID which will apply there. Emacs file-exists-p
737 uses stat, presumably for the the same reason.
738
739 2003-09-12 Marius Vollmer <mvo@zagadka.de>
740
741 * boot-9.scm (make-autoload-interface): Use a proper hashtable as
742 the obarray, not an empty vector.
743 (make-module): Always construct a hashtable for the obarray, even
744 for empty ones.
745
746 * format.scm (format:error): Use 'format:format' instead of
747 'format' since the latter will lock the mutex again that we have
748 already locked.
749 (format:format-work): Flag multiple '#' as an error.
750
751 2003-08-17 Kevin Ryde <user42@zip.com.au>
752
753 * boot-9.scm (while): Use a new key dynamically for each loop, so
754 break and continue associate to their loop even when recursing.
755
756 2003-08-14 Kevin Ryde <user42@zip.com.au>
757
758 * boot-9.scm (while): Rewrite, continue as proper escape, break
759 without return value, break and continue new for each while form,
760 don't depend on bindings in expansion environment.
761
762 * popen.scm (open-process): Close input-fdes, output-fdes and
763 error-fdes after duping them to 0, 1 and 2.
764
765 2003-06-19 Kevin Ryde <user42@zip.com.au>
766
767 * threads.scm (parallel): For no forms, use `(values)' not `(begin)'.
768
769 2003-05-27 Dirk Herrmann <D.Herrmann@tu-bs.de>
770
771 * boot-9.scm (make-autoload-interface): Added missing quote around
772 vector constant.
773
774 2003-05-20 Marius Vollmer <marius.vollmer@uni-dortmund.de>
775
776 * deprecated.scm (list*): Added.
777
778 2003-05-10 Kevin Ryde <user42@zip.com.au>
779
780 * documentation.scm (file-commentary, find-documentation-in-file): Use
781 call-with-input-file, to close ports when done.
782
783 2003-05-03 Marius Vollmer <mvo@zagadka.de>
784
785 * gap-buffer.scm (point++n!, point+-n!): Use substring-move!
786 instead of substring-move-left! or substring-move-right!. Thanks
787 to Kevin Ryde.
788
789 * deprecated.scm (substring-move-left!, substring-move-right!):
790 New.
791
792 * boot-9.scm (display-usage-report): Use keyword->symbol instead
793 of keyword-symbol, which doesn't exist. Thanks to Kevin Ryde.
794
795 * hcons.scm (hashq-cons-get-handle): Pass only the expected four
796 arguments to hashx-get-handle. Thanks to Kevin Ryde!
797
798 * lineio.scm (make-line-buffering-input-port) Pass 0 as second
799 argument to string-ref. Thanks to Kevin Ryde!
800
801 2003-04-25 Mikael Djurfeldt <mdj@kvast.blakulla.net>
802
803 * serialize.scm: New file.
804
805 2003-04-24 Mikael Djurfeldt <djurfeldt@nada.kth.se>
806
807 * threads.scm (n-for-each-par-map): New procedure.
808
809 2003-04-05 Marius Vollmer <mvo@zagadka.de>
810
811 * Changed license terms to the plain LGPL thru-out.
812
813 2003-03-26 Marius Vollmer <marius.vollmer@uni-dortmund.de>
814
815 * deprecated.scm: New file, to collect deprecated things.
816 * Makefile.am (ice9_sources): Added.
817
818 * boot-9.scm: Load "ice-9/deprecated.scm" when appropriate.
819 (try-load-module): Also try the old deprecated method, maybe.
820
821 2003-03-22 Marius Vollmer <mvo@zagadka.de>
822
823 * boot-9.scm (call/cc): Added.
824
825 2003-03-20 Mikael Djurfeldt <djurfeldt@nada.kth.se>
826
827 * list.scm: New file.
828
829 2003-03-19 Marius Vollmer <mvo@zagadka.de>
830
831 * format.scm (format:out-substr): Update the column counter
832 correctly. This fixes the behavior of ~T (tabbing) after ~F, for
833 instance. Thanks to Matthias Koeppe!
834
835 2003-03-13 Mikael Djurfeldt <djurfeldt@nada.kth.se>
836
837 * session.scm (apropos): Don't look in duplicates interface.
838
839 2003-03-12 Mikael Djurfeldt <djurfeldt@nada.kth.se>
840
841 * boot-9.scm (duplicate-handlers): Make sure the merge-generics
842 and merge-accessors handlers are available also before (oop goops)
843 has been loaded. This is so that people can put them as default
844 handlers without worrying about availability.
845
846 * slib.scm (logical:ipow-by-squaring): Removed.
847
848 * boot-9.scm (ipow-by-squaring): Removed.
849 (default-duplicate-binding-handler): Set default to
850 '(replace warn-override-core warn last)
851
852 * boot-9.scm (module-make-local-var!): Use module-add!.
853 (module-primitive-add!): New function.
854 (resolve-interface): Use
855 (call-with-deferred-observers, module-call-observers): New
856 functions.
857 (module-defer-observers, module-defer-observers-mute,
858 module-defer-observers-table): New variables.
859 (process-define-module, process-use-modules, export, re-export):
860 Use call-with-deferred-observers.
861 (module-duplicates-info, set-module-duplicates-info!): Removed.
862 (module-duplicates-handlers, module-duplicates-interface): New.
863 (module-type): Added duplicates-handlers and
864 duplicates-interface.
865
866 * syncase.scm (eval): Mark as replacement.
867
868 * boot-9.scm (defmacro-public): Use export-syntax instead of export.
869
870 * slib.scm (*features*): Set the core variable instead of defining
871 a local version.
872 (provide, provided?): Mark as replacements.
873
874 * boot-9.scm (beautify-user-module!): Don't install the duplicates
875 handler here.
876 (default-duplicate-binding-handler): Renamed from
877 default-module-duplicates-handler; Removed converter.
878 (process-duplicates): Lookup default duplicates handler dynamically.
879 (default-duplicate-binding-procedures): New parameter.
880
881 2003-03-12 Mikael Djurfeldt <mdj@kvast.blakulla.net>
882
883 * slib.scm (identity): Removed. (Provided by core.)
884
885 2003-03-11 Mikael Djurfeldt <djurfeldt@nada.kth.se>
886
887 * debugger/command-loop.scm: Prefix all commands imported from
888 (ice-9 debugger command-loop) with debugger:.
889
890 * boot-9.scm (process-duplicates): Use module-import-interface.
891 (module-symbol-interface): Removed.
892 (resolve-interface): Process #:hide; Name custom interfaces
893 appropriately.
894 (module-use!, module-use-interfaces!): Remove existing interfaces
895 on the use-list based on module name rather than interface
896 identity so that custom interfaces truly replaces their previous
897 version.
898
899 * boot-9.scm (module-override!, make-mutable-parameter,
900 lookup-duplicates-handlers, default-module-duplicates-handler):
901 New functions.
902 (process-duplicates): Don't call duplicates handlers for duplicate
903 bindings of the same variable.
904 (process-define-module): Process #:replace.
905 (compile-interface-spec, resolve-interface): Process #:prefix.
906
907 * format.scm (format): Marked as replacement.
908
909 * threads.scm (future, future-ref): Marked as replacements.
910
911 2003-03-07 Mikael Djurfeldt <djurfeldt@nada.kth.se>
912
913 These changes enables checking for duplicate imported bindings.
914
915 * boot-9.scm (process-define-module): Handle #:duplicates.
916 (module-use-interfaces! process-duplicates): New functions.
917 (duplicate-handlers): Dictionary of duplicate handlers.
918 (module-symbol-local-binding, module-symbol-binding): Bugfix.
919
920 2003-03-04 Mikael Djurfeldt <djurfeldt@nada.kth.se>
921
922 * session.scm (apropos): Use hash-for-each instead of
923 array-for-each.
924
925 2003-02-19 Mikael Djurfeldt <djurfeldt@nada.kth.se>
926
927 * boot-9.scm (make-module): Changed default size from 1021 to 31
928 (since the size now adapts).
929 (macro-table, xformer-table): Changed default size from 523 to 61.
930 (make-module): Don't call make-hash-table with zero size.
931
932 * Makefile.am (ice9_sources): Added weak-vector.scm.
933
934 * weak-vector.scm: New file.
935
936 * boot-9.scm (module-clear!): Use hash-clear!.
937 (module-for-each): Use hash-for-each.
938 (module-map): Use hash-map.
939
940 2003-02-11 Mikael Djurfeldt <djurfeldt@nada.kth.se>
941
942 * boot-9.scm (make-hash-table): Turned primitive.
943
944 2003-01-27 Mikael Djurfeldt <djurfeldt@nada.kth.se>
945
946 * syncase.scm (guile-macro): Strip syntactic information from
947 expression before trying to treat it as a Guile macro call.
948 (Thanks to Kevin Ryde.)
949
950 2003-01-24 Mikael Djurfeldt <djurfeldt@nada.kth.se>
951
952 * threads.scm (parallel, letpar): Rewritten.
953
954 2003-01-23 Mikael Djurfeldt <djurfeldt@nada.kth.se>
955
956 * threads.scm (par-mapper, n-par-map, n-par-for-each): Use
957 futures.
958
959 2003-01-20 Mikael Djurfeldt <djurfeldt@nada.kth.se>
960
961 * occam-channel.scm (alt): New syntax.
962
963 * psyntax.ss (self-evaluating?): Removed. Guile now provides this
964 operator as a primitive procedure.
965 (build-data): Quote vectors (psyntax.ss requires this).
966
967 2003-01-19 Mikael Djurfeldt <djurfeldt@nada.kth.se>
968
969 * psyntax.ss (self-evaluating?): Allow procedures implanted in
970 source. (Guile uses this internally.)
971
972 2003-01-16 Mikael Djurfeldt <djurfeldt@nada.kth.se>
973
974 * psyntax.ss (build-data): Don't quote self-evaluating expressions
975 in output. (We normally *would* like also these expressions to be
976 quoted, but until Guile's native macros and syncase cooperates
977 better, it is less destructive not to quote.)
978 (self-evaluating?): Removed null? (In Guile, the empty list is not
979 self-evaluating).
980 (sc-chi): Export chi as sc-chi.
981 (external-macro): New syntax type.
982
983 * psyntax.pp: Regenerated.
984
985 * compile-psyntax.scm: Set expansion-eval-closure.
986
987 * boot-9.scm (use-syntax): Return *unspecified*.
988
989 * syncase.scm: Set expansion-eval-closure to
990 the-syncase-eval-closure during booting so that variables are
991 created in the correct module.
992 (syncase): Set expansion-eval-closure.
993 (define-syntax define-syntax-public eval-when fluid-let-syntax
994 identifier-syntax let-syntax letrec-syntax syntax syntax-case
995 syntax-rules with-syntax include): Removed definitions (these are
996 created from within psyntax.pp).
997 Enable expansion of Guile macros during a syntax-case
998 transformation.
999
1000 2003-01-10 Mikael Djurfeldt <djurfeldt@nada.kth.se>
1001
1002 * occam-channel.scm (make-channel): Renamed from channel.
1003 (make-timer): New function.
1004
1005 * Makefile.am (ice9_sources): Added occam-channel.scm.
1006
1007 * occam-channel.scm: New file. Implements occam-like channels.
1008
1009 2002-12-28 Neil Jerram <neil@ossau.uklinux.net>
1010
1011 * boot-9.scm (module-defined-hook): New hook, run whenever a new
1012 module is defined.
1013 (process-define-module): Run this hook.
1014
1015 2002-12-18 Mikael Djurfeldt <mdj@kvast.blakulla.net>
1016
1017 * threads.scm: Removed bogus definition of future-ref.
1018
1019 2002-12-15 Mikael Djurfeldt <djurfeldt@nada.kth.se>
1020
1021 * threads.scm (par-map, par-for-each): Reimplemented using
1022 joing-thread.
1023 (parallel): Reimplemented using futures.
1024 (n-par-map, n-for-each): New procedures.
1025
1026 2002-12-12 Marius Vollmer <mvo@zagadka.ping.de>
1027
1028 * optargs.scm (improper-list-copy): New.
1029 (parse-arglist): Use it instead of list-copy.
1030
1031 2002-12-09 Mikael Djurfeldt <djurfeldt@nada.kth.se>
1032
1033 * threads.scm (letpar): New macro.
1034
1035 2002-12-08 Rob Browning <rlb@defaultvalue.org>
1036
1037 * debugger/breakpoints/Makefile.am (subpkgdatadir): VERSION ->
1038 GUILE_EFFECTIVE_VERSION.
1039
1040 * debugger/Makefile.am (subpkgdatadir): VERSION ->
1041 GUILE_EFFECTIVE_VERSION.
1042
1043 * Makefile.am (subpkgdatadir): VERSION -> GUILE_EFFECTIVE_VERSION.
1044
1045 2002-12-04 Mikael Djurfeldt <mdj@linnaeus>
1046
1047 * threads.scm (parallel): New macro.
1048 (par-map, par-for-each): New procedures.
1049
1050 * documentation.scm (object-documentation): Added support for
1051 defmacros.
1052
1053 2002-11-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
1054
1055 * boot-9.scm (re-export-syntax): Re-introduced after accidentally
1056 removing it in my patch from 2002-11-16.
1057
1058 2002-11-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
1059
1060 Thanks to Mikael Djurfeldt for a bugreport which led to the
1061 following changes:
1062
1063 * slib.scm (%system-define): Removed.
1064
1065 (define): Changed to use define-private instead of
1066 %system-define.
1067
1068 * boot-9.scm (define-private): Undid my changes from 2002-11-16
1069 until Guile supports hygienic macros.
1070
1071 2002-11-17 Neil Jerram <neil@ossau.uklinux.net>
1072
1073 * emacs.scm (emacs-load): Locally define `read-and-eval!', as it
1074 has been removed from the core.
1075
1076 2002-11-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
1077
1078 * syncase.scm (define-syntax, eval-when, fluid-let-syntax,
1079 identifier-syntax, let-syntax, letrec-syntax, syntax, syntax-case,
1080 syntax-rules, with-syntax, include): Changed definitions to form
1081 'real' macro definitions.
1082
1083 2002-11-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
1084
1085 * boot-9.scm (define-private, export-syntax, export-syntax):
1086 Fixed my previous fix (blush).
1087
1088 2002-11-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
1089
1090 * boot-9.scm (define-private, export-syntax, export-syntax):
1091 Changed definitions to form 'real' macro definitions.
1092
1093 2002-11-07 Marius Vollmer <marius.vollmer@uni-dortmund.de>
1094
1095 * format.scm (format): Use 'monitor' properly. Not the definition
1096 needs to be restricted, the actual function needs to be.
1097
1098 2002-11-05 Neil Jerram <neil@ossau.uklinux.net>
1099
1100 * boot-9.scm (define-option-interface): Fix to "simplification"
1101 change below.
1102
1103 * debugger/breakpoints/source.scm: Enable source property
1104 recording when module is loaded.
1105 (##): Cope with ports whose `filename' is not a string.
1106
1107 2002-11-04 Neil Jerram <neil@ossau.uklinux.net>
1108
1109 * boot-9.scm (define-option-interface): Simplify code-generation
1110 code.
1111
1112 * debugger/command-loop.scm (read-and-dispatch-command): Import
1113 set-readline-prompt dynamically if we need to. (Previous
1114 arrangement didn't work if this module was loaded before (ice-9
1115 readline).)
1116
1117 2002-11-03 Marius Vollmer <mvo@zagadka.ping.de>
1118
1119 * format.scm (format): Wrap a monitor around format:format since
1120 it is not thread-safe.
1121
1122 2002-10-27 Marius Vollmer <mvo@zagadka.ping.de>
1123
1124 * threads.scm (%thread-handler): Explicitely return '#f'. This
1125 value will be returned by join-thread.
1126
1127 2002-10-26 Neil Jerram <neil@ossau.uklinux.net>
1128
1129 Merging debugger enhancements previously in separate
1130 `guile-debugger' package ...
1131
1132 * debugger.scm: Factored out into the following constituent parts
1133 - see comment in file for more details.
1134 (*not-yet-introduced*): New (avoids repeatedly introducing the
1135 debugger when entering it from breakpoints).
1136 (debug-stack): New.
1137 (debug): Rewrite to use more general `debug-stack'.
1138
1139 * debugger/commands.scm, debugger/command-loop.scm,
1140 debugger/state.scm, debugger/utils.scm: New files containing bits
1141 of old (ice-9 debugger), plus some rewriting and enhancements for
1142 breakpoint support ...
1143
1144 * debugger/state.scm (state-rtd): Add flags field.
1145 (make-state): Extend to optionally take flags.
1146 (state-flags): New, accessor for flags field.
1147 (set-state-index!, set-stack-index!): New.
1148 (write-state-short): Rewritten to print out the current source
1149 location in a way that is more easily trackable by Emacs.
1150
1151 * debugger/commands.scm (assert-continuable, continue, finish,
1152 trace-finish, step, next): New debugger commands for continuing
1153 execution from a breakpoint.
1154
1155 * debugger/behaviour.scm, debugger/breakpoints.scm,
1156 debugger/breakpoints/procedural.scm,
1157 debugger/breakpoints/range.scm, debugger/breakpoints/source.scm,
1158 debugger/trap-hooks.scm, debugger/trc.scm: New files - breakpoint
1159 support.
1160
1161 * Makefile.am (SUBDIRS): Add debugger subdirectory.
1162
1163 * debugger/Makefile.am, debugger/breakpoints/Makefile.am: New.
1164
1165 2002-10-21 Marius Vollmer <mvo@zagadka.ping.de>
1166
1167 * threads.scm (%thread-handler): Do not call unmask-signals, that
1168 should be unnecessary now.
1169
1170 2002-10-20 Mikael Djurfeldt <mdj@linnaeus>
1171
1172 * boot-9.scm (top-repl): Look for use-emacs-interface in
1173 guile-user-module (should it be there?) instead of
1174 the-root-module.
1175
1176 2002-10-10 Marius Vollmer <mvo@zagadka.ping.de>
1177
1178 * boot-9.scm (top-repl): Use 2 as the limit when saving the stack.
1179 (error-catching-loop): use call-with-blocked-asyncs and
1180 call-with-unblocked-asyncs instead of mask-signals and
1181 unmask-signals.
1182
1183 2002-10-09 Neil Jerram <neil@ossau.uklinux.net>
1184
1185 * buffered-input.scm (make-buffered-input-port): Build an
1186 input-waiting thunk for just extended version of make-soft-port.
1187
1188 2002-10-04 Rob Browning <rlb@defaultvalue.org>
1189
1190 * boot-9.scm (expt): switch if sense and use negative? rather than
1191 >= 0.
1192
1193 2002-10-04 Marius Vollmer <mvo@zagadka.ping.de>
1194
1195 * boot-9.scm (top-repl): Use "1" instead of "%deliver-signals" to
1196 limit the signal stack.
1197
1198 2002-09-15 Marius Vollmer <mvo@zagadka.ping.de>
1199
1200 * boot-9.scm (feature?): Added deprecation message.
1201
1202 2002-09-14 Rob Browning <rlb@defaultvalue.org>
1203
1204 * boot-9.scm (sqrt): minor indentation fix.
1205
1206 2002-09-05 Marius Vollmer <mvo@zagadka.ping.de>
1207
1208 * syncase.scm: Set the module transformer of the-syncase-module so
1209 that we can use define-syntax.
1210 (define-syntax-public): New and exported.
1211
1212 2002-09-04 Marius Vollmer <mvo@zagadka.ping.de>
1213
1214 * syncase.scm (expansion-eval-closure, env->eval-closure): New.
1215 (sc-macro): Set the expansion-eval-closure expanding the form.
1216 (putprop, getprop): Use the expansion-eval-closure to find
1217 variables instead of the current module.
1218
1219 2002-07-08 Marius Vollmer <mvo@zagadka.ping.de>
1220
1221 * slib.scm (make-exchanger): Added. Thanks to Clinton Ebadi!
1222
1223 2002-07-07 Dirk Herrmann <D.Herrmann@tu-bs.de>
1224
1225 * boot-9.scm (define-option-interface): Replaced "macro" by
1226 mmacro.
1227
1228 2002-06-01 Gary Houston <ghouston@arglist.com>
1229
1230 * boot-9.scm (file-set-position): Make third argument optional,
1231 for SCM compatibility.
1232 (file-position): simplify definition.
1233
1234 2002-06-01 Marius Vollmer <mvo@zagadka.ping.de>
1235
1236 * boot-9.scm (file-set-position): Use seek instead of fseek.
1237
1238 2002-05-09 Marius Vollmer <mvo@zagadka.ping.de>
1239
1240 * format.scm (format:out-inf-nan): New.
1241 (format:out-fixed, format:out-expon, format:out-general): Use it
1242 to print infs and nans.
1243
1244 * boot-9.scm (unsetenv): New, for completeness.
1245
1246 2002-05-08 Marius Vollmer <mvo@zagadka.ping.de>
1247
1248 * format.scm (format:fn-max): Increase to 400 so ~f and ~g can
1249 print long real numbers with large positive and negative
1250 exponents.
1251
1252 2002-05-06 Marius Vollmer <mvo@zagadka.ping.de>
1253
1254 * syncase.scm: Use (ice-9 threads) so that with-mutex is defined.
1255
1256 2002-04-30 Thien-Thi Nguyen <ttn@giblet.glug.org>
1257
1258 * gap-buffer.scm: New file.
1259
1260 * Makefile.am (ice9_sources): Add gap-buffer.scm.
1261
1262 2002-03-12 Rob Browning <rlb@defaultvalue.org>
1263
1264 * syncase.scm: fix bad let.
1265 (gensym): fix failure on non-threaded
1266
1267 2002-03-05 Thien-Thi Nguyen <ttn@giblet.glug.org>
1268
1269 * ftw.scm: New file.
1270
1271 * Makefile.am (ice9_sources): Add ftw.scm.
1272
1273 2002-02-26 Thien-Thi Nguyen <ttn@giblet.glug.org>
1274
1275 * Makefile.am: Update path to pre-inst-guile automake frag.
1276
1277 * boot-9.scm: Comment grammar fixes; nfc.
1278 Thanks to Christopher Cramer.
1279
1280 2002-02-24 Rob Browning <rlb@defaultvalue.org>
1281
1282 * syncase.scm (gensym): redefine locally so we can control it's
1283 properties. This is in preparation for changing the future public
1284 gensym to produce unreadable symbols.
1285
1286 * psyntax.pp: updated to reflect new syncase.scm.
1287
1288 2002-02-07 Thien-Thi Nguyen <ttn@giblet.glug.org>
1289
1290 * regex.scm: Add commentary; nfc.
1291
1292 2002-02-05 Thien-Thi Nguyen <ttn@giblet.glug.org>
1293
1294 * Makefile.am: Include $(top_srcdir)/pre-inst-guile.am.
1295
1296 (psyntax.pp): Use $(preinstguile).
1297
1298 2002-01-14 Marius Vollmer <mvo@zagadka.ping.de>
1299
1300 * psyntax.ss (datum->syntax-object): Removed assertion in
1301 datum->syntax-object that checked if the first argument, a
1302 syntax-object, is an identifier. This was a unconvenient and
1303 unnecessary restriction. Thanks to Dorai Sitaram!
1304
1305 2002-01-12 Marius Vollmer <mvo@zagadka.ping.de>
1306
1307 More options for pretty-print. Thanks to Matthias Köppe!
1308
1309 * pretty-print.scm (generic-write): New per-line-prefix argument.
1310 (pretty-print): Check whether the new keyword argument style is
1311 used and dispatch to pretty-print-with-keys accordingly.
1312
1313 2001-11-27 Marius Vollmer <mvo@zagadka.ping.de>
1314
1315 * format.scm (string-index, list-head): Removed, we already have
1316 these in the core.
1317
1318 2001-11-06 Marius Vollmer <mvo@zagadka.ping.de>
1319
1320 * boot-9.scm (turn-on-debugging): New function, to be used by
1321 scm_compile_shell_switches.
1322
1323 * debug.scm: Do not enable debugging and recording of source
1324 positions.
1325
1326 2001-10-21 Mikael Djurfeldt <mdj@linnaeus>
1327
1328 * slib.scm (array-indexes): New procedure.
1329 (*features*): Extend. (Probably some of these options should be
1330 set elsewhere.) (Thanks to Aubrey Jaffer.)
1331
1332 * and-let-star-compat.scm, and-let-star.scm, calling.scm,
1333 channel.scm, common-list.scm, debug.scm, debugger.scm,
1334 expect.scm, hcons.scm, lineio.scm, ls.scm, mapping.scm,
1335 null.scm, optargs.scm, poe.scm, popen.scm, pretty-print.scm,
1336 q.scm, r5rs.scm, rdelim.scm, regex.scm, runq.scm, safe-r5rs.scm,
1337 safe.scm, session.scm, slib.scm, streams.scm, string-fun.scm,
1338 syncase.scm, threads.scm: Move module the system directives
1339 `export', `export-syntax', `re-export' and `re-export-syntax'
1340 into the `define-module' form. This is the recommended way of
1341 exporting bindings.
1342
1343 2001-10-17 Mikael Djurfeldt <mdj@linnaeus>
1344
1345 * boot-9.scm (process-define-module): New options: :export-syntax,
1346 :re-export-syntax
1347
1348 2001-10-14 Mikael Djurfeldt <mdj@linnaeus>
1349
1350 * arrays.scm (read:uniform-vector): Return *unspecified* instead
1351 of raising an exception if hash extend character isn't followed by
1352 the array list. (This prevents parsing of uniform vectors from
1353 interfering with parsing of numbers.)
1354
1355 2001-10-08 Mikael Djurfeldt <mdj@linnaeus>
1356
1357 * emacs.scm (%%load-port, %%emacs-load, %%emacs-eval-request,
1358 %%emacs-select-frame, %%emacs-frame-eval, %%emacs-symdoc,
1359 %%apropos-internal): Use module-define! instead of
1360 builtin-variable.
1361
1362 2001-09-24 Mikael Djurfeldt <mdj@linnaeus>
1363
1364 * boot-9.scm (process-define-module): Added :re-export.
1365
1366 2001-09-19 Thien-Thi Nguyen <ttn@glug.org>
1367
1368 * expect.scm: Commentary fix; nfc.
1369
1370 * boot-9.scm (process-use-modules): Fix typo.
1371
1372 2001-09-18 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1373
1374 * Makefile.am (psyntax.pp): Reference compile-psyntax.scm in
1375 $(srcdir) in order to support separate build trees.
1376
1377 2001-09-08 Thien-Thi Nguyen <ttn@revel.glug.org>
1378
1379 * optargs.scm (lambda*): Record the broken-down argument list in
1380 the `arglist' procedure property.
1381 * session.scm (arity): Use new `arglist' procedure property to
1382 present a more detailed argument list.
1383
1384 Thanks to Matthias Köppe!
1385
1386 2001-09-07 Thien-Thi Nguyen <ttn@revel.glug.org>
1387
1388 * getopt-long.scm (process-options, getopt-long): Fix omission
1389 bug: Handle multiple occurrances of an option. Thanks to Daniel
1390 Skarda.
1391
1392 2001-08-31 Dirk Herrmann <D.Herrmann@tu-bs.de>
1393
1394 * boot-9.scm: Don't load module (ice-9 rdelim).
1395
1396 (feature?): Deprecated.
1397
1398 (id, -1+, return-it, string-character-length, flags,
1399 eval-in-module, split-c-module-name,
1400 (convert-c-registered-modules, registered-modules,
1401 register-modules, warn-autoload-deprecation, init-dynamic-module,
1402 dynamic-maybe-call, dynamic-maybe-link,
1403 find-and-link-dynamic-module, try-using-libtool-name,
1404 try-using-sharlib-name, link-dynamic-module, try-module-linked,
1405 try-module-dynamic-link): Removed.
1406
1407 (module-make-local-var!, module-ensure-local-variable!,
1408 module-define!): Eliminate call to `variable-set-name-hint!'.
1409
1410 (try-load-module, use-syntax, module-export!): Remove deprecated
1411 functionality.
1412
1413 * format.scm: Remove deprecated definition of format that was
1414 needed to trick export.
1415
1416 2001-08-31 Dirk Herrmann <D.Herrmann@tu-bs.de>
1417
1418 * optargs.scm: Remove #& reader extension.
1419
1420 2001-08-31 Dirk Herrmann <D.Herrmann@tu-bs.de>
1421
1422 * and-let-star-compat.scm: Deleted.
1423
1424 * Makefile.am: Remove references to and-let-star-compat.scm.
1425
1426 2001-08-30 Thien-Thi Nguyen <ttn@revel.glug.org>
1427
1428 * boot-9.scm (resolve-interface): When returning a custom
1429 interface, also consult source module's entire binding set,
1430 not just its exported bindings, before throwing error.
1431
1432 2001-08-25 Marius Vollmer <mvo@zagadka.ping.de>
1433
1434 * boot-9.scm (resolve-interface): Get variables from the public
1435 interface of a module instead of from the module itselfs.
1436
1437 2001-08-25 Marius Vollmer <mvo@zagadka.ping.de>
1438
1439 * Makefile.am (AUTOMAKE_OPTIONS): Change "foreign" to "gnu".
1440
1441 2001-08-12 Thien-Thi Nguyen <ttn@revel.glug.org>
1442
1443 * getopt-long.scm: Rewrite.
1444 Touch up docstrings.
1445 Augment commentary.
1446
1447 2001-08-02 Neil Jerram <neil@ossau.uklinux.net>
1448
1449 * debugger.scm (run-last-command): Return current state if
1450 last-command fluid is not yet set.
1451
1452 2001-08-02 Thien-Thi Nguyen <ttn@revel.glug.org>
1453
1454 * getopt-long.scm: Refill to fit in 80 columns.
1455
1456 (process-long-option): Fix bug: Keep track of `optional'
1457 value-required info and use this to determine whether or not the
1458 next element is to be taken as the option arg.
1459
1460 2001-07-31 Keisuke Nishida <knishida@nurs.or.jp>
1461
1462 * boot-9.scm (process-define-module): Fixed a bug that did not
1463 handle :use-syntax correctly.
1464
1465 2001-07-24 Marius Vollmer <mvo@zagadka.ping.de>
1466
1467 * syncase.scm (psyncomp): Removed, it is now in
1468 compile-psyntax.scm.
1469
1470 2001-07-23 Marius Vollmer <mvo@zagadka.ping.de>
1471
1472 * Makefile.am (psyntax.pp): Enable rule for psyntax.pp only in
1473 maintainer mode. Use compile-psyntax.scm for actual compilation.
1474 Make sure the uninstalled guile is used.
1475 (EXTRA_DIST): Distribute compile-psyntax.scm
1476 * compile-psyntax.scm: New file.
1477
1478 2001-07-18 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1479
1480 * and-let-star.scm, debug.scm, debugger.scm, history.scm,
1481 lineio.scm, null.scm, optargs.scm, r4rs.scm, r5rs.scm,
1482 receive.scm, safe-r5rs.scm, streams.scm: Updated copyright notice.
1483
1484 2001-07-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1485
1486 * r5rs.scm: Use `re-export' instead of `export' for re-exported
1487 primitives. Thanks Neil!
1488
1489 2001-07-13 Marius Vollmer <mvo@zagadka.ping.de>
1490
1491 * safe-r5rs.scm: Use `re-export' instead of `export' for
1492 re-exported core bindings. Do not re-export `numerator',
1493 `denominator' and `rationalize' since Guile does not have them.
1494 Continue to use `export' for `null-environment'.
1495
1496 * null.scm: Use `re-export' instead of `export' for re-exported
1497 core bindings. Do not export `unquote' and `unquote-splicing'
1498 since there aren't definitions for them.
1499
1500 * boot-9.scm (compile-interface-spec): Bug fix: the keyword
1501 argument is "renamer" not "rename".
1502
1503 2001-07-09 Rob Browning <rlb@defaultvalue.org>
1504
1505 * boot-9.scm: Fixed the sense of the error message when read-eval?
1506 is #f. Thanks to Matthias for catching this.
1507
1508 2001-07-06 Rob Browning <rlb@defaultvalue.org>
1509
1510 * boot-9.scm: added fix suggested by Matthias for #. read
1511 extension -- now only works if read-eval? is not #f.
1512
1513 2001-06-30 Dirk Herrmann <D.Herrmann@tu-bs.de>
1514
1515 * arrays.scm: Don't install a read-hash-extension for 'b': #b
1516 is already defined by R5RS. Further, there is already a working
1517 read syntax for bitvectors, starting with #*.
1518
1519 2001-06-30 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1520
1521 * Makefile.am (ice9_sources): Removed tags.scm.
1522
1523 * tags.scm: Removed file.
1524
1525 2001-06-29 Neil Jerram <neil@ossau.uklinux.net>
1526
1527 Changes to support tracing other than inside the repl-stack that
1528 is set up by the REPL code in boot-9.scm.
1529
1530 * debug.scm (trace-entry, trace-exit): Conditionalize tracing on
1531 whether the current stack id is in `traced-stack-ids'.
1532 (traced-stack-ids, trace-all-stacks?, trace-stack, untrace-stack):
1533 New.
1534
1535 2001-06-27 Marius Vollmer <mvo@zagadka.ping.de>
1536
1537 * common-list.scm (member-if): Put in docstring for member-if, it
1538 was a cut-n-paste error previously.
1539
1540 2001-06-26 Neil Jerram <neil@ossau.uklinux.net>
1541
1542 * debug.scm (trace): Set evaluator trap options to handle tracing.
1543 Don't reset trace-level to 0.
1544
1545 * boot-9.scm (lazy-handler-dispatch): Remove enter-frame-handler,
1546 apply-frame-handler and exit-frame-handler. (They're replaced by
1547 evaluator trap options.)
1548
1549 2001-06-25 Michael Livshin <mlivshin@bigfoot.com>
1550
1551 * streams.scm (stream-for-each-many): typo fix.
1552
1553 2001-06-25 Marius Vollmer <mvo@zagadka.ping.de>
1554
1555 * boot-9.scm (re-export-syntax): New.
1556
1557 2001-06-16 Marius Vollmer <mvo@zagadka.ping.de>
1558
1559 * boot-9.scm (system-error-errno): New.
1560
1561 2001-06-14 Marius Vollmer <mvo@zagadka.ping.de>
1562
1563 * common-list.scm (remove-if, remove-if-not): Fix typo: use
1564 `pred', not `pred?', in the body.
1565
1566 2001-06-13 Thien-Thi Nguyen <ttn@revel.glug.org>
1567
1568 * match.scm:
1569 No longer use module `(ice-9 slib)'.
1570 Use module `(ice-9 pretty-print)'.
1571 No longer require `pretty-print'.
1572
1573 (slib:error): Delete.
1574 (match:error, match:syntax-err): Rewrite.
1575
1576 Thanks to Dale P. Smith.
1577
1578 * README: New file.
1579
1580 * common-list.scm:
1581 Clean up some docstrings; nfc.
1582 Add Commentary.
1583 Update copyright.
1584
1585 2001-06-11 Marius Vollmer <mvo@zagadka.ping.de>
1586
1587 * boot-9.scm: Use `begin-deprecated' instead of testing
1588 `include-deprecated-features' when conditionally using the (ice-9
1589 rdelim) module. See below.
1590
1591 2001-06-10 Gary Houston <ghouston@arglist.com>
1592
1593 * boot-9.scm: use the (ice-9 rdelim) module if
1594 include-deprecated-features is true.
1595
1596 2001-06-09 Marius Vollmer <mvo@zagadka.ping.de>
1597
1598 * pretty-print.scm (generic-write): Use `object->string' to print
1599 unknown objects.
1600
1601 * optargs.scm (lambda*): Make sure that BODY is always put into a
1602 real body context so that it can contain internal definitions.
1603 Thanks to Matthias Köppe!
1604
1605 * format.scm: Use (ice-9 and-let-star).
1606 (format:out): Initialize format:output-col with current column of
1607 `port', if it has one. Else leave it alone. Thanks to Matthias
1608 Köppe!
1609
1610 2001-06-05 Marius Vollmer <mvo@zagadka.ping.de>
1611
1612 * boot-9.scm (module-ensure-local-variable!): Renamed from
1613 `module-ensure-variable!'. Make sure that there really is a local
1614 variable, not just a visible one.
1615 (module-ensure-variable!): See above.
1616 (module-export!): Behave like always when deprecated features are
1617 enabled, but issue a warning when re-exporting a variable. When
1618 deprecated features are disabled, only export local variables,
1619 creating them uninitialized when they don't yet exist.
1620 (module-re-export!): New. Use this for re-exporting imported
1621 variables.
1622 (re-export): New, to go with `module-re-export!'.
1623
1624 * format.scm: Added kluge at top that keeps `export' from
1625 re-exporting the `format' variable of the `(guile)' module.
1626
1627 2001-06-04 Marius Vollmer <mvo@zagadka.ping.de>
1628
1629 * boot-9.scm (named-module-use!, top-repl): Use resolve-interface
1630 instead of resolve-module to get at the used module.
1631
1632 2001-06-04 Gary Houston <ghouston@arglist.com>
1633
1634 * rw.scm: export write-string/partial.
1635
1636 2001-06-04 Marius Vollmer <mvo@zagadka.ping.de>
1637
1638 Added exception notice to all files.
1639
1640 * boot-9.scm (module-export!): Revert 2001-06-02 change. It
1641 caused more problems than it solved by accidentally re-exporting
1642 importing bindings once in a while.
1643
1644 2001-06-03 Marius Vollmer <mvo@zagadka.ping.de>
1645
1646 * boot-9.scm (try-load-module): Bracket calls to try-module-linked
1647 and try-module-dynamic-link with `begin-deprecated'.
1648 (split-c-module-name, convert-c-registered-modules,
1649 registered-modules, register-modules, warn-autoload-deprecation,
1650 init-dynamic-module, dynamic-maybe-call, dynamic-maybe-link,
1651 find-and-link-dynamic-module, try-using-libtool-name,
1652 try-using-sharlib-name, link-dynamic-module, try-module-linked,
1653 try-module-dynamic-link): Deprecated. Activate deprecation
1654 message.
1655 (define-public): Define binding before exporting it. This is to
1656 avoid accidentally re-exporting a imported binding.
1657
1658 2001-06-02 Marius Vollmer <mvo@zagadka.ping.de>
1659
1660 * Makefile.am (psyntax.pp): Make it dependent on psyntax.ss and
1661 fix command so that it works.
1662
1663 * session.scm (apropos-fold, submodules, apropos): Be careful not
1664 to access unbound variables.
1665
1666 * boot-9.scm (module-ensure-variable!): New.
1667 (module-export!): Use it to ensure that there is a variable to
1668 export. Previously, we would always create a new variable, copy
1669 the value over, and export the new variable. This confused
1670 syncase since it keys important properties on variables.
1671
1672 2001-06-01 Marius Vollmer <mvo@zagadka.ping.de>
1673
1674 * boot-9.scm (top-repl): Revert part of the 2001-05-19 change.
1675 When defining the guile-user module, do not use any modules. Add
1676 them to guile-user when `top-repl' is called.
1677 (resolve-interface): Expect keyword arguments instead of a `spec'.
1678 (compile-interface-spec, compile-define-module-args): New.
1679 (define-module): Use compile-define-module-args to construct
1680 argument for process-define-module.
1681 (use-modules, use-syntax): Use compile-interface-spec to construct
1682 arguments for process-use-modules.
1683 (process-define-module): Expect keywords in argument list.
1684
1685 2001-05-25 Marius Vollmer <mvo@zagadka.ping.de>
1686
1687 * boot-9.scm (cond-expand): Define using
1688 `procedure->memoizing-macro' to get at the lexical environment.
1689 Use `env-module' instead of `current-module' to get the right
1690 module.
1691
1692 * Makefile.am (ice9_sources): Added "pretty-print.scm".
1693 * pretty-print.scm: New file, copied from SLIB.
1694 (generic-write): Return the `unspecified' value.
1695
1696 * format.scm: Autoload `pretty-print'.
1697
1698 2001-05-23 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1699
1700 * boot-9.scm (%cond-expand-table): New hash table mapping modules
1701 to feature lists.
1702 (cond-expand): Use feature information associated with modules.
1703
1704 2001-05-21 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1705
1706 * boot-9.scm (use-srfis): Do not extend the srfi-0 feature list.
1707 (cond-expand-provide): New procedure.
1708
1709 2001-05-22 Marius Vollmer <mvo@zagadka.ping.de>
1710
1711 * boot-9.scm (define-module): Return the new module.
1712 (process-define-module): Use `spec' instead of `module-name' when
1713 getting the syntax transformer. Thanks to Matthias Köppe!
1714
1715 2001-05-21 Marius Vollmer <mvo@zagadka.ping.de>
1716
1717 * boot-9.scm (use-syntax): Do not set scm:eval-transformer when
1718 deprecated features have been removed. Thanks to Dale P. Smith!
1719
1720 * optargs.scm (#\&): Use `issue-deprecation-warning' instead of
1721 `display'.
1722
1723 2001-05-19 Marius Vollmer <mvo@zagadka.ping.de>
1724
1725 * psyntax.ss (build-lexical-var): Use gensym instead of gentemp.
1726 * match.scm: Likewise.
1727 * expect.scm: Likewise.
1728 * psyntax.pp: Regenerated.
1729
1730 * rdelim.scm: Call `%init-rdelim-builtins'.
1731
1732 * rw.scm: Call `%init-rw-builtins'.
1733
1734 * boot-9.scm (process-define-module): Do not call
1735 set-current-module.
1736 (define-module): Do it here, in the expansion.
1737 (top-repl): Do not define '(guile-user)' module and conditionally
1738 load `(ice-9 threads)' and/or `(ice-9 regex)' here. Do it on
1739 top-level as the last thing in boot-9.scm instead.
1740 (%load-path): Use `list' instead of `cons' to create a single
1741 element list when adding "." to it.
1742 (process-define-module, process-use-modules, module-export!): Add
1743 dummy definitions prior to booting the mdule system.
1744
1745 2001-05-18 Thien-Thi Nguyen <ttn@revel.glug.org>
1746
1747 * boot-9.scm: (resolve-interface, use-srfis): Small
1748 cleanup; nfc.
1749 (process-define-module): Internal proc `unrecognized'
1750 now accepts arg; update callers.
1751 Reverse order of interfaces added to module to be
1752 consistent with that specified in `define-module' form.
1753
1754 * session.scm: (help): Use `provided?' instead of `feature?'.
1755 Factor "TYPE not found for X" output into internal proc.
1756 Support `(quote SYMBOL)'; call `search-documentation-files'.
1757 (help-doc): If initial search fails, try using
1758 `search-documentation-files'.
1759 (apropos-fold-accessible, apropos-fold-all): Use `identity'
1760 instead of `(lambda (x) x)'. "An identity edit", ha ha.
1761 (help-usage): Mention support for "(help 'NAME)".
1762
1763 * documentation.scm: Fix documentation for Guile Documentation
1764 Format Version 2: Mention required terminating newlines.
1765
1766 (find-documentation): Delete.
1767 (search-documentation-files): New proc, exported.
1768 (object-documentation): Use `search-documentation-files'.
1769
1770 2001-05-15 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1771
1772 * boot-9.scm (cond-expand-features): Made the feature list public,
1773 so it can be manipulated by `use-srfis'.
1774 (use-srfis): New procedure.
1775
1776 2001-05-15 Thien-Thi Nguyen <ttn@revel.glug.org>
1777
1778 * boot-9.scm (resolve-interface): Signal error now also if
1779 used module's public interface is not available.
1780 No longer call `beautify-user-module!'.
1781 Signal error now also if selected binding not found.
1782
1783 2001-05-10 Marius Vollmer <mvo@zagadka.ping.de>
1784
1785 Merge from mvo-vcell-clenaup-1-branch.
1786
1787 * session.scm (apropos): Do not use `builtin-bindings', always use
1788 the module obarray.
1789 (apropos-fold): Likewise.
1790
1791 * optargs.scm (bound?): Removed. We should not play games with
1792 the magical undefined value.
1793 (let-o-k-template): Use `#f' instead of the undefined value as
1794 the default default for bindings.
1795
1796 * boot-9.scm (module-make-local-var!): Do not pass name hint to
1797 make-undefined-variable, use `variable-set-name-hint!' instead.
1798 (root-module-closure): Removed.
1799 (make-root-module): Set the obarray of the module to the
1800 `pre-modules-obarray'. Do not use a lazy binder.
1801 (scm-module-closure): Removed.
1802 (make-root-module): Set the obarray of the module to the
1803 `pre-modules-obarray'. Do not use a lazy binder. Set the
1804 eval-closure to a `standard-interface-eval-closure'.
1805 (module-define!): Do not pass name hint to make-variable, use
1806 `variable-set-name-hint!' instead.
1807 (make-modules-in, beautify-user-module, resolve-module): Moved
1808 towards the beginning of boot-9.scm, across the call to
1809 set-current-module that boots the module system. These
1810 definitions need to be visible at the time of the first
1811 `set-current-module' call.
1812 (try-module-autoload): Define a `#f' before the call to
1813 set-current-module. It is redefined later.
1814
1815 * debug.scm: Use `module-set!' instead of `variable-set!' to set
1816 insert `debug-options' into the-root-module.
1817 * format.scm: Likewise, for `format'.
1818
1819 2001-05-15 Marius Vollmer <mvo@zagadka.ping.de>
1820
1821 * boot-9.scm (error-catching-repl): Call the E
1822 ("eval'er") procedure via call-with-values and call the P
1823 ("printer") for each produced value. Thanks to Matthias Köppe!
1824
1825 2001-05-14 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1826
1827 * boot-9.scm (cond-expand): Reduce feature list to built-in
1828 features.
1829
1830 2001-05-14 Dirk Herrmann <D.Herrmann@tu-bs.de>
1831
1832 * boot-9.scm (-1+, return-it, string-character-length, flags):
1833 Deprecated.
1834
1835 2001-05-11 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1836
1837 * boot-9.scm: Added `cond-expand' (SRFI-0) for portable feature
1838 checking.
1839
1840 2001-05-10 Thien-Thi Nguyen <ttn@revel.glug.org>
1841
1842 * boot-9.scm (resolve-module): Abstraction maintenance: Use
1843 `module-public-interface'.
1844 (resolve-interface): Extend to handle selection and renaming in spec.
1845 Arg is now `spec' which can be a simple module name (list of symbols)
1846 or a interface spec.
1847 (symbol-prefix-proc): New proc.
1848 (%autoloader-developer-mode): Delete.
1849 (process-define-module): Use "define-module" in error messages
1850 instead of "defmodule". Factor error into internal proc.
1851 Rewrite `use-module' and `use-syntax' handlers.
1852 Replace some single-arm `if-not' constructs w/ `or'.
1853 (process-use-modules): Arg is now `module-interface-specs',
1854 which is passed through to `resolve-interface' as before; nfc.
1855 (named-module-use!, top-repl): Abstraction maintenance: Use
1856 `provided?'.
1857
1858 2001-05-06 Thien-Thi Nguyen <ttn@revel.glug.org>
1859
1860 * q.scm, runq.scm, getopt-long.scm: Update copyright.
1861 Surround commentary w/ standard markers; nfc.
1862
1863 * expect.scm: Update copyright.
1864 Fix commentary typo; nfc.
1865
1866 2001-05-05 Rob Browning <rlb@cs.utexas.edu>
1867
1868 * psyntax.ss: make sure emacs knows it's scheme code.
1869
1870 2001-05-05 Neil Jerram <neil@ossau.uklinux.net>
1871
1872 * boot-9.scm (use-syntax): Change error message to say
1873 `use-syntax' rather than `use-modules'.
1874
1875 2001-05-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1876
1877 * safe-r5rs.scm: Fix typo: make-rectangualr => make-rectangular.
1878
1879 2001-05-02 Marius Vollmer <mvo@zagadka.ping.de>
1880
1881 * boot-9.scm (begin-deprecated): New.
1882 (call-with-deprecation): Removed.
1883 (id): Use `issue-deprecation-warning' instead of
1884 `call-with-deprecation'. Wrap definition in `begin-deprecated'.
1885 (eval-in-module): Manifest deprecation via `begin-deprecation' and
1886 `issue-deprecation-warning'.
1887 (warn-autoload-deprecation): Deactivated.
1888
1889 2001-04-26 Marius Vollmer <mvo@zagadka.ping.de>
1890
1891 * boot-9.scm (the-module, set-current-module, current-module):
1892 Removed, they are now defined in libguile.
1893
1894 2001-04-29 Gary Houston <ghouston@arglist.com>
1895
1896 * rw.scm: new file, for module (ice-9 rw).
1897 * Makefile.am: add rw.scm.
1898
1899 2001-04-28 Thien-Thi Nguyen <ttn@revel.glug.org>
1900
1901 * boot-9.scm, optargs.scm:
1902 Surround commentary w/ standard markers; nfc.
1903
1904 * threads.scm, time.scm, channel.scm, expect.scm:
1905 Add commentary; nfc.
1906
1907 2001-04-27 Thien-Thi Nguyen <ttn@revel.glug.org>
1908
1909 * documentation.scm: Update copyright.
1910 Add commentary.
1911 Use `define-module' `:export' clause instead of `define-public'.
1912 Autoload (ice-9 regex) on `match:suffix'.
1913
1914 (default-in-line-re, default-after-line-re): New vars.
1915 (default-scrub): New proc.
1916 (file-commentary): New proc, exported.
1917 (object-documentation): Expand docstring; nfc.
1918
1919 * session.scm: Update copyright.
1920 Use (ice-9 rdelim).
1921
1922 (help): Consider a list of symbols that does not start with
1923 `quote' as a module name and call `module-commentary' on it.
1924 (module-filename, module-commentary): New procs.
1925 (id): Delete.
1926 (apropos): Use `identity' instead of deprecated `id'.
1927 (help-usage): Add blurb about "(help (my module))" support.
1928
1929 2001-04-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1930
1931 * Makefile.am (ice9_sources): Remove srfi-8.scm.
1932
1933 2001-04-26 Rob Browning <rlb@cs.utexas.edu>
1934
1935 * srfi-8.scm: removed in favor of srfi/srfi-8.scm - (wasn't ever
1936 in a production release).
1937
1938 2001-04-25 Keisuke Nishida <kxn30@po.cwru.edu>
1939
1940 * channel.scm: New file.
1941 * Makefile.am (ice9_sources): Include channel.scm.
1942
1943 2001-04-19 Keisuke Nishida <kxn30@po.cwru.edu>
1944
1945 * receive.scm (receive): Use `define-macro'.
1946
1947 2001-04-15 Keisuke Nishida <kxn30@po.cwru.edu>
1948
1949 * boot-9.scm (load-compiled): New variable, initialized in the VM.
1950 (try-module-autoload): Try loading compiled modules if applicable.
1951
1952 2001-04-15 Keisuke Nishida <kxn30@po.cwru.edu>
1953
1954 * boot-9.scm (call-with-deprecation): New procedure.
1955 (identity): New procedure.
1956 (id): Deprecated.
1957
1958 2001-04-15 Keisuke Nishida <kxn30@po.cwru.edu>
1959
1960 * boot-9.scm (defmacro, define-macro, define-syntax-macro):
1961 Define only at the top level.
1962
1963 2001-04-06 Thien-Thi Nguyen <ttn@revel.glug.org>
1964
1965 * threads.scm: Update copyright.
1966
1967 Use `export' and `export-syntax' instead of
1968 `define-public' and `defmacro-public'.
1969
1970 (make-thread): Rename first arg to `proc'; nfc.
1971 (begin-thread, monitor): Rename second arg to `rest'; nfc.
1972 (with-mutex): Rename second arg to `body'; nfc.
1973
1974 2001-04-06 Neil Jerram <neil@ossau.uklinux.net>
1975
1976 * boot-9.scm (warn-autoload-deprecation): Close parenthesis in
1977 "You just tried to autoload ..." message.
1978
1979 2001-04-05 Keisuke Nishida <kxn30@po.cwru.edu>
1980
1981 * Makefile.am (ice9_sources): Add history.scm.
1982 * history.scm: Create the module (value-history) at the beginning.
1983
1984 2001-03-29 Marius Vollmer <mvo@zagadka.ping.de>
1985
1986 * boot-9.scm (init-dynamic-module): Fix typo in call to
1987 warn-autoload-deprecation. I feel silly.
1988
1989 2001-03-27 Marius Vollmer <mvo@zagadka.ping.de>
1990
1991 * r4rs.scm (call-with-values): New definition, defers to
1992 @call-with-values.
1993
1994 2001-03-26 Marius Vollmer <mvo@zagadka.ping.de>
1995
1996 * boot-9.scm (warn-autoload-deprecation): New function.
1997 (init-dynamic-module): Use it here to print warning. Only give
1998 warning when a module has actually been found.
1999
2000 2001-03-25 Marius Vollmer <mvo@zagadka.ping.de>
2001
2002 * boot-9.scm (init-dynamic-module): Issue warning about
2003 auto-loading of compiled code modules being deprecated.
2004
2005 * Makefile.am (ice9_sources): Added "time.scm".
2006
2007 2001-03-20 Keisuke Nishida <kxn30@po.cwru.edu>
2008
2009 * time.scm (time): Reimplemented as a procedure call.
2010 (Thanks to Marius Vollmer)
2011
2012 2001-03-20 Keisuke Nishida <kxn30@po.cwru.edu>
2013
2014 * safe-r5rs.scm (list): Export.
2015
2016 2001-03-17 Keisuke Nishida <kxn30@po.cwru.edu>
2017
2018 * boot-9.scm (before-eval-hook, after-eval-hook,
2019 before-print-hook, after-print-hook): New hooks.
2020 (scm-style-repl): Call these hooks.
2021
2022 * history.scm: New file.
2023
2024 2001-03-17 Keisuke Nishida <kxn30@po.cwru.edu>
2025
2026 * time.scm: New file.
2027
2028 2001-03-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
2029
2030 * oldprint.scm: Removed.
2031
2032 2001-03-12 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
2033
2034 * arrays.scm (make-array): Added quote in front of ().
2035
2036 2001-03-12 Keisuke Nishida <kxn30@po.cwru.edu>
2037
2038 * common-list.scm (count-if): New procedure.
2039
2040 2001-03-10 Neil Jerram <neil@ossau.uklinux.net>
2041
2042 * buffered-input.scm (make-buffered-input-port): New, more general
2043 buffered input procedure. Does not assume that a newline
2044 character should be interpolated between chunks of input returned
2045 by the reader proc.
2046 (make-line-buffered-input-port): Redefine in terms of
2047 make-buffered-input-port.
2048
2049 2001-03-09 Keisuke Nishida <kxn30@po.cwru.edu>
2050
2051 * match.scm: Don't export defstruct. Use (unquote defstruct) instead.
2052
2053 2001-03-09 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
2054
2055 * Makefile.am (psyntax.pp): Added rule for producing psyntax.pp.
2056
2057 2001-03-09 Keisuke Nishida <kxn30@po.cwru.edu>
2058
2059 * match.scm: export defstruct.
2060
2061 2001-03-08 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
2062
2063 * psyntax.ss: Added FSF copyright notice. Added a notice of
2064 changes in order to comply with paragraph 2a of the GPL. (Thanks
2065 to Keith Wright.)
2066
2067 2001-03-07 Neil Jerram <neil@ossau.uklinux.net>
2068
2069 * buffered-input.scm (make-line-buffered-input-port): Don't set
2070 the continuation flag for leading whitespace. Thanks to Dirk
2071 Herrmann for the suggestion.
2072
2073 2001-03-05 Neil Jerram <neil@ossau.uklinux.net>
2074
2075 * optargs.scm (rest-arg->keyword-binding-list): Use "'()" instead
2076 of "()".
2077
2078 * buffered-input.scm: New file, with guts of line buffered input
2079 port implementation extracted from guile-readline/readline.scm.
2080
2081 2001-03-03 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
2082
2083 * stack-catch.scm: New file.
2084
2085 * Makefile.am (ice9_sources): Added stack-catch.scm.
2086
2087 2001-03-03 Marius Vollmer <mvo@zagadka.ping.de>
2088
2089 * boot-9.scm, rdelim.scm: Use "'()" instead of "()" in all places
2090 where the empty list is meant.
2091
2092 2001-02-26 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
2093
2094 * boot-9.scm (save-stack): Use `primitive-eval' for stack
2095 cutting. Makes backtraces work again! Also added a reference to
2096 save-stack from the place in the repl where the primitive-eval
2097 frame is invoked.
2098
2099 2001-02-25 Keisuke Nishida <kxn30@po.cwru.edu>
2100
2101 * match.scm: New file, including Andrew K. Wright's pattern matcher.
2102 * Makefile.am (ice9_sources): Added match.scm.
2103
2104 2001-02-16 Marius Vollmer <mvo@zagadka.ping.de>
2105
2106 * boot-9.scm (eval-when, eval-case): Renamed `eval-when' to
2107 `eval-case', everywhere.
2108
2109 2001-02-13 Marius Vollmer <mvo@zagadka.ping.de>
2110
2111 * boot-9.scm (define-public): Removed spurious call to
2112 `interaction-evironment'.
2113 (define-public, defmacro-public): Use `export' instead of explicit
2114 module magic.
2115 (eval-when): New macro.
2116 (define-module, use-modules, use-syntax, export): Use it to
2117 restrict the use of these forms to the top level.
2118 (define-public, defmacro-public): Only export binding when on
2119 top-level.
2120 (process-define-module): Call `set-current-module' with the
2121 defined module.
2122 (define-module): Simply call `process-define-module' without any
2123 fuss (but only on top-level).
2124 (named-module-use!): New function.
2125 (top-repl): Do not use `define-module'. Use equivalent low-level
2126 means instead.
2127
2128 2001-02-11 Marius Vollmer <mvo@zagadka.ping.de>
2129
2130 * boot-9.scm (scm-style-repl): Use `primitive-eval' instead of
2131 `eval'.
2132 (define-public): Do not use `eval'.
2133
2134 2001-02-08 Marius Vollmer <marius.vollmer@uni-dortmund.de>
2135
2136 * and-let-star-compat.scm: Display the warning to the
2137 `current-error-port'.
2138
2139 2001-02-04 Marius Vollmer <mvo@zagadka.ping.de>
2140
2141 Avoid the use of "*" in file names for the benefit of lesser
2142 operating systems.
2143
2144 * and-let-star.scm, and-let*.scm: Renamed `and-let*.scm' to
2145 `and-let-star.scm'. Updated module name as well.
2146 * and-let-star-compat.scm: New file, installed as `and-let*.scm'.
2147 * Makefile.am (ice9_sources): Replaced "and-let*.scm" with
2148 "and-let-star.scm".
2149 (install-data-local): Install "and-let-star-compat.scm" as
2150 "and-let*.scm", ignoring errors.
2151 (EXTRA_DIST): Distribute `and-let-star-compat.scm'.
2152
2153 2001-01-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
2154
2155 This patch fixes a problem reported by Martin Grabmueller about
2156 the impossibility to access readline's run-time options.
2157
2158 * boot-9.scm (define-option-interface): New macro. Allows to
2159 conveniently define a group of option interface functions.
2160
2161 (readline-options readline-enable readline-disable,
2162 readline-set!): Moved to guile-readline/readline.scm.
2163
2164 2001-01-24 Gary Houston <ghouston@arglist.com>
2165
2166 * boot-9.scm: don't import (ice-9 rdelim) here. it's done
2167 in C for now.
2168 * rdelim.scm: export the C primitives too.
2169 * documentation.scm: use (ice-9 rdelim).
2170
2171 2001-01-21 Gary Houston <ghouston@arglist.com>
2172
2173 * rdelim.scm: new file implementing module (ice-9 rdelim).
2174 * ice-9.scm (scm-line-incrementors read-line! read-delimited!
2175 read-delimited read-line): moved to rdelim.scm.
2176 scm-line-incrementors is not exported.
2177 * boot-9.scm: import (ice-9 rdelim) for backwards compatibility,
2178 for now.
2179 * lineio.scm: use module (ice-9 rdelim).
2180 * Makefile.am (ice9_sources): add rdelim.scm.
2181
2182 2000-12-29 Dirk Herrmann <D.Herrmann@tu-bs.de>
2183
2184 * boot-9.scm (root-module-closure, scm-module-closure): Remove
2185 calls '(symbol-interned? #f s)'. Formerly, these calls were
2186 basically no-ops, guaranteed to return #t if 's' was a symbol.
2187 After the separation of symbols and bindings, a call to
2188 '(symbol-interned? #f s)' will only return #t if there really is a
2189 binding for 's' in the scm_symhash table. Thanks to Dale P. Smith
2190 for providing a test case that helped finding this bug.
2191
2192 2000-12-13 Dirk Herrmann <D.Herrmann@tu-bs.de>
2193
2194 * session.scm (apropos): Completed the last patch, which did only
2195 half the job. Thanks to Dale P. Smith.
2196
2197 2000-12-12 Dirk Herrmann <D.Herrmann@tu-bs.de>
2198
2199 * session.scm (apropos, apropos-fold): There are no weak bindings
2200 any more.
2201
2202 2000-12-12 Dirk Herrmann <D.Herrmann@tu-bs.de>
2203
2204 * boot-9.scm (top-repl): Lookup 'use-emacs-interface in
2205 the-root-module.
2206
2207 2000-12-07 Neil Jerram <neil@ossau.uklinux.net>
2208
2209 * emacs.scm (flush-whitespace): Fix spelling typo ("recieving").
2210
2211 2000-11-28 Dirk Herrmann <D.Herrmann@tu-bs.de>
2212
2213 * boot-9.scm (read-delimited), lineio.scm
2214 (make-line-buffering-input-port), regex.scm (match:prefix,
2215 match:suffix, match:substring, regexp-substitute/global), slib.scm
2216 (slib-parent-dir), string-fun.scm (split-after-char,
2217 split-before-char, split-discarding-char, split-after-char-last,
2218 split-before-char-last, split-discarding-char-last,
2219 split-before-predicate, split-after-predicate,
2220 split-discarding-predicate, separate-fields-discarding-char,
2221 separate-fields-after-char, separate-fields-before-char,
2222 string-prefix-predicate, sans-surrounding-whitespace,
2223 sans-trailing-whitespace, sans-leading-whitespace,
2224 sans-final-newline): Use substring instead of
2225 make-shared-substring.
2226
2227 2000-11-26 Gary Houston <ghouston@arglist.com>
2228
2229 * boot-9.scm: values?, get-values, values, call-with-values:
2230 removed. values and call-with-values are now primitives and
2231 the other two were only exported by accident. don't define
2232 *values-rtd* record type or handle multiple values in
2233 scm-style-repl.
2234
2235 2000-11-07 Gary Houston <ghouston@arglist.com>
2236
2237 * popen.scm (open-output-pipe): added docstrings for open-input-pipe
2238 and open-output-pipe.
2239
2240 2000-11-06 Gary Houston <ghouston@arglist.com>
2241
2242 * popen.scm (open-process): bug fix: don't use
2243 close-all-ports-except to close ports in the child process, since
2244 it causes port buffers to be flushed. they may be flushed again
2245 in the parent, causing duplicate output. use a more elaborate
2246 method for setting up the child descriptors (thanks to David
2247 Pirotte for the bug report).
2248 standard file descriptors 0, 1, 2 in the child process
2249 are now set up from current-input-port etc., where possible.
2250
2251 2000-10-10 Dirk Herrmann <D.Herrmann@tu-bs.de>
2252
2253 * syncase.scm (eval): string=? requires a string argument.
2254 Thanks to Dale P. Smith for the patch.
2255
2256 2000-10-15 Neil Jerram <neil@ossau.uklinux.net>
2257
2258 * optargs.scm: Fix typos in commentary for bound? and lambda*.
2259
2260 2000-10-10 Dirk Herrmann <D.Herrmann@tu-bs.de>
2261
2262 * session.scm (apropos, apropos-fold): regexp-exec does not
2263 accept symbol arguments any more. Thanks to Dale P. Smith for the
2264 patch.
2265
2266 2000-09-30 Gary Houston <ghouston@arglist.com>
2267
2268 * posix.scm (setgrent): pass #t, not #f. thanks to
2269 Jacques A. Vidrine.
2270
2271 2000-09-29 Neil Jerram <neil@ossau.uklinux.net>
2272
2273 * documentation.scm (find-documentation-in-file): Modified
2274 according to changed format of guile-procedures.txt caused by my
2275 snarfing/makeinfo changes in libguile.
2276
2277 * session.scm (help-doc): Improvements to (help) output: (i) a
2278 friendlier Emacs-style introduction line; (ii) where the help arg
2279 matches multiple documented entries, print an initial list of the
2280 entries for which documentation is found, before printing the
2281 actual documentation entries themselves.
2282
2283 2000-09-20 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2284
2285 * boot-9.scm: Removed comment. (Thanks to Brad Knotwell.)
2286
2287 2000-09-12 Dirk Herrmann <D.Herrmann@tu-bs.de>
2288
2289 * syncase.scm (putprop): Use the high-level property interface.
2290
2291 2000-09-12 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
2292
2293 * psyntax.ss (build-lexical-var): Use gentemp instead of gensym;
2294 Convert first argument to a string.
2295
2296 * calling.scm (excursion-function-syntax,
2297 getter-and-setter-syntax,
2298 delegating-getter-and-setter-syntax): Call gensym with string
2299 argument. (Thanks to Dale P. Smith.)
2300
2301 * oldprint.scm (print-table-add!): Ditto.
2302
2303 * boot-9.scm (gentemp): Moved to symbols.c.
2304
2305 2000-08-27 Marius Vollmer <mvo@zagadka.ping.de>
2306
2307 * boot-9.scm (make-object-property): New function.
2308
2309 2000-08-26 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
2310
2311 * boot-9.scm (make-record-type): Use `string-append' instead of
2312 `symbol-append'.
2313 (symbol-append): Map `symbol->string' on
2314 args.
2315 (obarray-symbol-append, obarray-gensym): Simply removed. I don't
2316 think I'll announce this in NEWS even. One of the functions never
2317 even worked... /mdj.
2318 (find-and-link-dynamic-module, keyword->symbol): Use
2319 `symbol->string'.
2320 (try-module-autoload, process-define-module): Rewrote using R5RS
2321 semantics.
2322
2323 2000-08-24 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2324
2325 * psyntax.ss (set!): Added generalized set! support to core syntax
2326 form set!.
2327
2328 2000-08-19 Marius Vollmer <mvo@zagadka.ping.de>
2329
2330 * optargs.scm (#\&): Changed #:allow-other-keys-value to
2331 #:allow-other-keys. Thanks to Bill Schottstaedt!
2332
2333 2000-08-17 Marius Vollmer <mvo@zagadka.ping.de>
2334
2335 * optargs.scm (#\&): Emit warning about `#&' being deprecated.
2336
2337 2000-08-16 Marius Vollmer <mvo@zagadka.ping.de>
2338
2339 * optargs.scm: Replaced `#&' reader syntax with keywords.
2340
2341 2000-08-14 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2342
2343 * format.scm (format:obj->str): Made tail-recursive. (Thanks to
2344 Matthias Köppe.)
2345
2346 2000-08-13 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
2347
2348 * psyntax.ss (top-level-eval-hook, local-eval-hook): Pass
2349 `(interaction-environment)' as second arg to `eval'. This is
2350 completely equivalent with the state before the change to eval of
2351 2000-08-11, but we should extend psyntax.ss to be module aware.
2352 (Thanks to Ian Bicking.)
2353
2354 * emacs.scm (emacs-symdoc): Parenthesis fix.
2355
2356 2000-08-11 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
2357
2358 * r5rs.scm (interaction-environment): Removed definition. (Is now
2359 provided by libguile/modules.c.)
2360
2361 * safe-r5rs.scm (null-environment): Bugfix: Should include
2362 syntactic bindings.
2363
2364 * boot-9.scm (record-constructor, record-accessor,
2365 record-modifier, scm-style-repl): Add second arg to eval.
2366 (read-hash-extend #\.): Ditto. (This is actually a bugfix!)
2367 (eval-in-module): Redefined to be eval and deprecated.
2368
2369 * syncase.scm (eval): Add second arg both in definition and use.
2370
2371 * slib.scm (slib:eval): Use eval instead of eval-in-module.
2372 (defmacro:eval): Eval in (interaction-environment).
2373
2374 * safe-r5rs.scm (eval): Removed definition.
2375
2376 * emacs.scm (emacs-eval-request):
2377 (emacs-symdoc): (This procedure needs updating!)
2378
2379 2000-08-10 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
2380
2381 * boot-9.scm: Added note about dependency in modules.h to
2382 definition of module-type.
2383
2384 * Makefile.am (ice9_sources): Added receive.scm, srfi-8.scm.
2385
2386 * receive.scm, srfi-8.scm: New files.
2387
2388 * boot-9.scm (scm-style-repl): Print multiple values on successive
2389 lines.
2390 (process-define-module): Bugfix: Make sure that exports are done
2391 *after* all used interfaces has been added.
2392
2393 2000-07-24 Marius Vollmer <mvo@zagadka.ping.de>
2394
2395 * common-list.scm (uniq): Made tail-recursive. Thanks to thi!
2396
2397 2000-07-13 Dirk Herrmann <D.Herrmann@tu-bs.de>
2398
2399 * boot-9.scm (expt): In case of negative integer exponents return
2400 an exact result if the input paramters were exact. Thanks to
2401 Mikael for the suggestion.
2402
2403 2000-07-12 Dirk Herrmann <D.Herrmann@tu-bs.de>
2404
2405 * boot-9.scm (expt): Make sure that integer-expt is only called
2406 if the exponent is a non-negative integer.
2407
2408 2000-07-01 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
2409
2410 * boot-9.scm (process-define-module): Bugfix: Only check the CDR
2411 for export args.
2412
2413 2000-06-27 Dirk Herrmann <D.Herrmann@tu-bs.de>
2414
2415 * popen.scm: gc-thunk is deprecated. Use after-gc-hook instead.
2416
2417 2000-06-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
2418
2419 * common-list.scm (intersection, set-difference, remove-if,
2420 remove-if-not): Made tail-recursive. Thanks to William Webber
2421 for the hint.
2422
2423 (delete-if!, delete-if-not!): Renamed parameter from `list' to
2424 `l' in order to avoid confusion. Note: These functions are not
2425 tail recursive yet.
2426
2427 2000-06-21 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
2428
2429 * boot-9.scm: Turned `the-module', `*top-level-lookup-closure*',
2430 and `scm:eval-transformer' into fluids.
2431
2432 * boot-9.scm (purify-module!, module-export!): New procedures.
2433 (export): Rewritten using `module-export!'.
2434 (process-define-module): New define-module options: pure, export.
2435 See NEWS.
2436 (scm-style-repl): Added optional module argument.
2437
2438 * null.scm, r5rs.scm, safe-r5rs.scm, safe.scm: New modules.
2439
2440 2000-06-20 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2441
2442 * session.scm (make-fold-modules): Detect circular references in
2443 module graph. (Thanks to Matthias Köppe.)
2444
2445 2000-06-20 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
2446
2447 * session.scm: Use module (ice-9 regex).
2448 (help): Regexp-quote a name given as a symbol.
2449
2450 2000-06-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
2451
2452 * common-list.scm (list*): Removed, since this function is
2453 implemented as a primitive in libguile/list.c.
2454
2455 2000-06-12 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
2456
2457 * session.scm (help): Warn user if 'regex isn't provided.
2458
2459 * Makefile.am (ice9_sources): Removed getopt-gnu-style.scm.
2460
2461 * getopt-gnu-style.scm: Removed deprecated module.
2462
2463 2000-06-11 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
2464
2465 * boot-9.scm (make-autoload-interface): Set init value for uses to
2466 '() instead of #f.
2467 (make-modules-in): Name modules with their real (= full) names.
2468 (the-root-module, the-scm-module): Named `(guile)' instead of
2469 `the-root-module'.
2470 (the-scm-module): Set kind to 'interface.
2471
2472 * Makefile.am (ice9_sources): Replaced doc.scm with
2473 documentation.scm.
2474
2475 * session.scm (ice-9): Use module (ice-9 documentation).
2476 (name): Use the name property if everything else fails.
2477 (apropos-fold): New procedure.
2478 (apropos-internal): Re-implement in terms of `apropos-fold'.
2479 (help): Rewritten.
2480
2481 * doc.scm: Removed module (ice-9 doc).
2482
2483 * documentation.scm: New module (ice-9 documentation).
2484
2485 2000-06-08 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
2486
2487 * doc.scm (documentation-files): Renamed from `doc-files'.
2488 (write-all): Removed.
2489 (find-documentation): Renamed from `documentation'. Return
2490 documentation string instead of printing it. Not exported.
2491
2492 Tue Jun 6 09:21:28 2000 Greg J. Badros <gregb@go2net.com>
2493
2494 * session.scm: Update references to `proc-doc' to be
2495 `proc-documentation'
2496
2497 * doc.scm: Cleaned up a great deal. Put variables at the top of
2498 the file, eliminated `object-documentation' that was broken
2499 (referencing Scwm), drop `help' as session.scm has a better
2500 supported version of that procedure. Rename `proc-doc' to
2501 `proc-documentation' -- `procedure-documentation' is a primitive
2502 getter function, so I use the shorter name for this more useful
2503 function. (Alternatively, we could rename the primitive
2504 getter...)
2505
2506 2000-06-05 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2507
2508 * boot-9.scm (error-catching-loop): Inform about debugger on error.
2509
2510 2000-06-04 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
2511
2512 * boot-9.scm (scm-module-closure): New procedure: Was previously
2513 anonymous. Now needed in modules.c.
2514 (make-module): Use `standard-eval-closure' to create the eval
2515 closure.
2516
2517 2000-05-14 Gary Houston <ghouston@arglist.com>
2518
2519 * boot-9.scm (load-user-init): rewritten. first work out the home
2520 directory and then try to open the file (previously it could try
2521 to open a file in more than one place). catch exceptions when
2522 trying to get a directory from the user database. don't check
2523 that ~/.guile is not a directory before trying to load it (a lack
2524 of ~/.guile is not a crime, but if the file is not valid for any
2525 reason then primitive-load will raise an error).
2526
2527 2000-05-11 Dirk Herrmann <D.Herrmann@tu-bs.de>
2528
2529 * boot-9.scm (abs): Don't set to magnitude. abs now does not
2530 accept complex numbers as parameter.
2531
2532 2000-05-09 Marius Vollmer <mvo@zagadka.ping.de>
2533
2534 * common-list.scm (delete-if-not!): Bug fix of bug fix: change
2535 label of named let to `delete-if-not'. Sorry.
2536
2537 2000-05-08 Marius Vollmer <mvo@zagadka.ping.de>
2538
2539 * common-list.scm (doc fixes): Talk about `true values' instead of
2540 `#t' when a function treats all non-#f valuers the same.
2541 (remove-if-not): Bug fix: call remove-if-not
2542 instead of remove-if when iterating.
2543 (delete-if-not!): Bug fix: call delete-if-not! instead of
2544 delete-if! when iterating.
2545
2546 2000-04-16 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
2547
2548 * r4rs.scm (close-input-port, close-output-port): Removed.
2549
2550 2000-04-13 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
2551
2552 * session.scm (help): New macro. Prints helpful information.
2553
2554 2000-04-10 Gary Houston <ghouston@arglist.com>
2555
2556 * popen.scm (open-process): after forking, close all ports except
2557 the end of the pipe to the parent. otherwise move->fdes and
2558 the exec'd program and the exit handlers can interfere with file
2559 descriptors still in use in parent ports.
2560
2561 2000-04-09 Gary Houston <ghouston@arglist.com>
2562
2563 * popen.scm (close-process-quietly): new procedure. use it from
2564 reap-pipes to avoid errors or hanging during background cleanup.
2565
2566 2000-04-04 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2567
2568 * format.scm (format:obj->str): Handle circular references. Also,
2569 print improper lists with (x y . z) syntax rather than as
2570 individual pairs. (This code should probably be integrated into C
2571 level facilities. It is currently terribly slow.)
2572
2573 2000-04-03 Michael Livshin <mlivshin@bigfoot.com>
2574
2575 * streams.scm (stream-fold, stream-for-each): don't use named let,
2576 because it prevents the gc from junking the stream argument.
2577
2578 Thu Mar 9 08:05:08 2000 Greg J. Badros <gjb@cs.washington.edu>
2579
2580 * slib.scm: Back-out change to software-type -- renamed
2581 slib:software-type to software-type, and leave it non-public.
2582
2583 Thu Mar 2 12:20:52 2000 Greg J. Badros <gjb@cs.washington.edu>
2584
2585 * boot-9.scm: Drop unused definition of sfx function -- thanks
2586 Dirk Hermann!
2587
2588 Wed Mar 1 12:21:02 2000 Greg J. Badros <gjb@cs.washington.edu>
2589
2590 * streams.scm: Doc patch from Richard Kim, using MIT Scheme as
2591 source of the numerous very short changes.
2592
2593 Sun Feb 13 18:03:19 2000 Greg J. Badros <gjb@cs.washington.edu>
2594
2595 * slib.scm: Rename software-type to slib:software-type and make it
2596 public.
2597
2598 * r4rs.scm: Added documentation; largely cut and pasted from R4RS
2599 info pages.
2600
2601 Sun Feb 13 17:49:29 2000 Greg J. Badros <gjb@cs.washington.edu>
2602
2603 * common-list.scm: Added documentation; largely cut and pasted
2604 from slib docs.
2605
2606 2000-02-11 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2607
2608 * format.scm (format): Reintroduce (define format format:format)
2609 so that the binding in the public interface of the module will be OK.
2610
2611 2000-01-30 Gary Houston <ghouston@arglist.com>
2612
2613 * boot-9.scm (find-and-link-dynamic-module): pass strings, not symbols,
2614 to string-append.
2615
2616 2000-01-29 Gary Houston <ghouston@arglist.com>
2617
2618 * expect.scm (expect): don't call char-ready? before expect-select,
2619 since select now checks port buffers itself. don't bother to check
2620 the time first either, since expect-select does it.
2621
2622 Thu Jan 20 12:57:36 2000 Greg J. Badros <gjb@cs.washington.edu>
2623
2624 * format.scm: Use (variable-set! (builtin-variable 'format)) to
2625 re-define format to be format:format (instead of just define,
2626 which interacts poorly with the module system). Thanks to Shuji
2627 Narazaki for this change.
2628
2629 Tue Jan 11 10:49:22 2000 Greg J. Badros <gjb@cs.washington.edu>
2630
2631 * boot-9.scm expect.scm, syncase.scm: Switch to new style
2632 `simple-format' message strings: substitute ~A for %s, and ~S for
2633 %S.
2634
2635 * boot-9.scm: Added (define format simple-format) to expose that
2636 primitive via the simpler name until format.scm is loaded.
2637
2638 2000-01-09 Marius Vollmer <mvo@zagadka.ping.de>
2639
2640 * boot-9.scm (try-using-libtool-name): Do not bother to look
2641 inside libtool ".la" file, dynamic-link does this for us now.
2642
2643 1999-12-15 Gary Houston <ghouston@freewire.co.uk>
2644
2645 * slib.scm (library-vicinity, home-vicinity,
2646 scheme-implementation-type, scheme-implemenation-version):
2647 use define-public to export from the module.
2648
2649 Wed Dec 15 08:32:09 1999 Greg J. Badros <gjb@cs.washington.edu>
2650
2651 * doc.scm: Use `%library-dir' and the other system directories,
2652 not the quickly defuncted `library-dir' that I added before
2653 realizing the former existed. Thanks Brad Knotwell!
2654
2655 Sun Dec 12 19:18:52 1999 Greg J. Badros <gjb@cs.washington.edu>
2656
2657 * Makefile.am, doc.scm: Added doc.scm.
2658
2659 1999-12-12 18:54:06 1999 Greg J. Badros <gjb@cs.washington.edu>
2660
2661 * popen.scm, slib.scm: Added some docstrings for procedures that
2662 were primitives that I encountered in posix.texi.
2663
2664 1999-11-19 Gary Houston <ghouston@freewire.co.uk>
2665
2666 * Makefile.am (ice9_sources): add arrays.scm.
2667
2668 * boot-9.scm: load arrays.scm if 'array is provided.
2669
2670 * arrays.scm: new file with stuff from boot-9.scm.
2671
2672 1999-11-18 Gary Houston <ghouston@freewire.co.uk>
2673
2674 * boot-9.scm (read-hash-extend to set up arrays): add 'l' for
2675 long_long uniform vectors.
2676
2677 1999-11-17 Gary Houston <ghouston@freewire.co.uk>
2678
2679 * networking.scm (sethostent, setnetent, setprotoent, setservent):
2680 take an optional argument STAYOPEN. default is #f.
2681
2682 1999-10-05 Jim Blandy <jimb@savonarola.red-bean.com>
2683
2684 * Makefile.in: Deleted from CVS repository. Run the autogen.sh
2685 script to create generated files like this one.
2686
2687 1999-09-23 Gary Houston <ghouston@freewire.co.uk>
2688
2689 * boot-9.scm (load-user-init): check that the posix feature is
2690 available before using getpw and getuid.
2691 (top-repl): don't install handlers for SIGINT etc., without posix.
2692 (file-is-directory?): use 'posix instead of i/o-extensions to
2693 check for stat.
2694 (load-user-init): use file-exists? and file-is-directory? to
2695 check for .guile, instead of stat.
2696 (file-is-directory?): don't display the file name if posix not
2697 available.
2698 (feature?): I guess this is deprecated. redefined using "provided?"
2699 and changed users in boot-9.scm to "provided?".
2700 Conditionally load posix.scm and networking.scm.
2701
2702 posix.scm, networking.scm: new files. Move definitions from
2703 boot-9.scm if they are only useful with posix/networking available.
2704
2705 * Makefile.am (ice9_sources): add posix.scm, networking.scm.
2706
2707 1999-09-17 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
2708
2709 * debugger.scm (read-and-dispatch-commands): Handle other throws
2710 than 'exit-debugger.
2711
2712 * boot-9.scm (before-signal-stack): New fluid.
2713 (top-repl): Set before-signal-stack in the signal handler.
2714
2715 * debugger.scm (eval-handler): Handle unhandled exceptions.
2716
2717 1999-09-16 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
2718
2719 * debugger.scm ("p"): New alias for "evaluate";
2720 Mark module with :no-backtrace.
2721 ("position"): New command.
2722 (source-position, display-position): New procedures.
2723 (display-source): Display position of expression, if available.
2724 (catch-user-errors): Return #f on error. (Commands are expected
2725 to return a valid state.)
2726 (read-and-dispatch-command): Bugfix: Return old state on error.
2727
2728 1999-09-16 Jim Blandy <jimb@savonarola.red-bean.com>
2729
2730 * regex.scm (regexp-substitute/global): Handle the end of the
2731 match list and an empty match list identically. (Thanks to Greg
2732 Badros.)
2733
2734 1999-09-15 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
2735
2736 * debugger.scm ("evaluate"): Replaced `write-line' with calls to
2737 `write' and `newline' since write-line doesn't write but displays.
2738
2739 1999-09-12 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
2740
2741 * debugger.scm ("evaluate"): Newline after no env announcement.
2742
2743 * debug.scm, emacs.scm: Updated copyright notices.
2744
2745 * boot-9.scm (make-autoload-interface): Bugfix.
2746 (top-repl): Autoload debugger.
2747
2748 * debugger.scm ("backtrace"): Don't pass length param to
2749 display-backtrace if it wasn't explicitly given by the user.
2750 (write-frame-long/application): Also print corresponding source
2751 expression.
2752 ("evaluate"): Evaluate in local environment frame, if existent;
2753 Handle errors.
2754
2755 1999-09-11 Jim Blandy <jimb@savonarola.red-bean.com>
2756
2757 * format.scm (format:format-work): Use #\tab and #\page instead of
2758 slib:form-feed and slib:tab. (Thanks to Ceri Storey.)
2759
2760 * format.scm (format:abort): Call error, not slib:error.
2761
2762 1999-09-11 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
2763
2764 * boot-9.scm (using-readline?): New procedure: Returns #t if
2765 readline is used by the repl run by this thread.
2766 (handle-system-error): Print "Backtrace:" before backtrace since
2767 this is no longer done by display-backtrace.
2768
2769 * debug.scm (frame-number->index): Optionally take stack as
2770 argument.
2771
2772 * debugger.scm: Use the frame number abstraction which allows for
2773 both forward and backward views of the stack
2774 (write-frame-index-short, write-frame-index-long):
2775 Use selector `frame-number';
2776 (select-frame-absolute): Use frame-number->index.
2777 ("backtrace"): Use builtin backtrace printing.
2778 Use (ice-9 debug).
2779 Use readline conditionally.
2780
2781 1999-09-11 Jim Blandy <jimb@savonarola.red-bean.com>
2782
2783 * regex.scm (fold-matches, list-matches): New functions.
2784 (regexp-substitute/global): Rewritten again in terms of
2785 list-matches, to get null match behavior correct.
2786
2787 * regex.scm (regexp-substitute/global): Rewrite so that 'post at
2788 the end of the item list actually causes a tail call. (Thanks to
2789 Jan Nieuwenhuizen.)
2790
2791 1999-09-11 Marius Vollmer <mvo@zagadka.ping.de>
2792
2793 * readline.scm: Moved to ../guile-readline.
2794
2795 * boot-9.scm (top-repl): Removed code for activating readline.
2796
2797 * Makefile.am: Removed mention of readline.scm.
2798
2799 * Makefile.in: Regenerated.
2800
2801 1999-09-11 Jim Blandy <jimb@savonarola.red-bean.com>
2802
2803 Delete the test which compares the configuration date of libguile
2804 with the configuration date of ice-9. This test yields too many
2805 false positives to be helpful. For example, if you build Guile
2806 for several architectures but have them all share a "share"
2807 directory (which is supposed to work), then all but one
2808 architecture's Guile will complain that the configuration dates
2809 don't match. Which is true, but indicates nothing wrong.
2810 * boot-9.scm: Delete code which compares ice-9-config-stamp with
2811 libguile-config-stamp.
2812 * version.scm.in: Delete.
2813 * Makefile.am (ice9_generated): Delete.
2814 (subpkgdata_DATA): Remove ice9_generated.
2815 (EXTRA_DIST): Remove version.scm.in.
2816 * Makefile.in: Regenerate.
2817
2818 1999-09-11 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
2819
2820 * debugger.scm: New file: Initial version of the Guile debugger
2821 written by Chris Hanson. (The debugger isn't finished, but is
2822 included in Guile anyway since it is already quite useful.)
2823
2824 * boot-9.scm (top-repl): Use (ice-9 debug) (ice-9 debugger) (ice-9
2825 session) (ice-9 threads) (ice-9 regex) from guile-user only if
2826 top-repl is called. This makes startup time for scripts 30% of
2827 what it was before... Removed redundant code for loading of
2828 readline.
2829
2830 * Makefile.am (ice9_sources): Added debugger.scm.
2831
2832 1999-08-29 Keisuke Nishida <kxn30@po.cwru.edu>
2833
2834 * boot-9.scm (try-module-autoload): Use %search-load-path.
2835
2836 1999-08-24 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
2837
2838 * boot-9.scm: Removed old style hooks.
2839 (inherit-print-state): Rwwritten to use port-with-print-state.
2840
2841 1999-08-20 James Blandy <jimb@mule.m17n.org>
2842
2843 Remove support for the #/ path list syntax entirely.
2844 * boot-9.scm (read-path-list-notation,
2845 read-path-list-notation-warning): Deleted.
2846 Don't register read-path-list-notation-warning as a reader for
2847 objects starting with '#/'.
2848
2849 1999-08-05 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
2850
2851 GOOPS needs the observer protocol specified for the new module
2852 system. Here's a simple version for the old module system:
2853 * boot-9.scm (module-observers, module-weak-observers,
2854 module-observer-id, set-module-observers!,
2855 set-module-observer-id!): New accessors.
2856 (module-type): Added slots `observers', `weak-observers' and
2857 `observer-id'.
2858 (module-observe, module-observe-weak, module-unobserve,
2859 module-modified): New procedures.
2860 (module-make-local-var!, module-add!, module-remove!,
2861 module-clear!, module-define!, module-use!): Call module-modified.
2862
2863 1999-07-29 Marius Vollmer <mvo@zagadka.ping.de>
2864
2865 * boot-9.scm (error-catching-loop): Correct non-RnRS usage of internal
2866 defines.
2867
2868 1999-07-19 Jim Blandy <jimb@savonarola.red-bean.com>
2869
2870 * streams.scm: New module, contributed by Michael Livshin.
2871 * Makefile.am (ice9_sources): List it.
2872 * Makefile.in: Regenerated.
2873
2874 * boot-9.scm (read-delimited!): Put the terminator in the correct
2875 position.
2876
2877 1999-06-29 Mikael Djurfeldt <mdj@mdj-pc.nada.kth.se>
2878
2879 * readline.scm: Bugfix: Avoid getting the continued-lines prompt
2880 at multiple calls to read.
2881 (promtp2): Variable for continued-lines prompt.
2882 (make-readline-port): Use prompt2.
2883 (set-readline-prompt!): New optional arg which sets
2884 continued-lines prompt.
2885
2886 * boot-9.scm (top-repl): Set/clear readline prompts before/after
2887 reading expressions.
2888
2889 1999-06-18 Jim Blandy <jimb@savonarola.red-bean.com>
2890
2891 * ls.scm (ls, lls): Handle no arguments as meaning to look in
2892 `(current-module)'. (Patch from Thien-Thi Nguyen.)
2893
2894 1999-06-14 Jim Blandy <jimb@savonarola.red-bean.com>
2895
2896 * string-fun.scm (split-before-predicate, split-after-predicate,
2897 split-discarding-predicate): Make these public. (Thanks to
2898 Thien-Thi Nguyen.)
2899
2900 1999-06-13 Gary Houston <ghouston@easynet.co.uk>
2901
2902 * more changes to expect.scm, to avoid the one-character lookhead
2903 that was introduced to fix the $ problem:
2904
2905 * expect.scm (expect): call the match proc an extra time at end
2906 of file and set the eof? argument appropriately. call
2907 expect-eof-proc only if the last call didn't match.
2908 * expect.scm (expect-strings): change port to eof? in match proc.
2909 * expect.scm (expect-regexec): take an eof indicator as an argument
2910 instead of a port.
2911
2912 1999-06-09 Jim Blandy <jimb@savonarola.red-bean.com>
2913
2914 * Makefile.am (ice9_sources): Add popen.scm to list.
2915 * Makefile.in: Regenerated.
2916
2917 Fixes for expect from Gary Houston <ghouston@easynet.co.uk>:
2918
2919 * expect.scm (expect-regexec): define 'eof-next?'. I don't
2920 know why it was missing. also don't peek for end of lines
2921 unless expect-strings-exec-flags contains regexp/noteol.
2922 (expect-strings-exec-flags): initialise to regexp/noteol.
2923
2924 Gary Houston's open-buffer port patches:
2925
2926 1999-04-01 Gary Houston <ghouston@easynet.co.uk>
2927
2928 * popen.scm: applied fixes from Greg Harvey. use a guardian
2929 and a gc-thunk so that cleanup is done if a pipe is garbage
2930 collected or closed with close-port. use a weak hash-table instead of
2931 an alist.
2932
2933 1999-03-20 Gary Houston <ghouston@easynet.co.uk>
2934
2935 * expect.scm (expect): call the match proc with the port instead.
2936 (expect-strings): use peek-char to get the next char. this has
2937 the advantage of getting the handling of $ "correct", but the
2938 disadvantage of needing to get (and maybe block for) an extra character
2939 from the port when it may not be needed. hence:
2940 (expect-strings-exec-flags): new variable/parameter, supplies
2941 flags for regexp-exec. if this includes regexp/noteol, then
2942 automatic regexp/noteol handling (requiring an extra peeked char)
2943 is enabled. default is regexp/noteol.
2944 (expect-strings-compile-flags): new variable/parameter, supplies
2945 flags for make-regexp. default is regexp/newline.
2946
2947 1999-03-15 Gary Houston <ghouston@easynet.co.uk>
2948
2949 * expect.scm (expect): call the match proc with an extra char,
2950 peeked from the stream.
2951 (expect-strings): build a match proc which takes the extra char.
2952 (expect-regexec): take an extra arg "eof-next?" and use it
2953 to decide whether the regexp/noteol flag should be added.
2954
2955 1999-02-26 Gary Houston <ghouston@easynet.co.uk>
2956
2957 * boot-9.scm (top-repl): don't flush all ports at exit.
2958 (error-catching-loop): likewise.
2959
2960 1998-12-23 Gary Houston <ghouston@easynet.co.uk>
2961
2962 * boot-9.scm (scm-style-repl): -read: don't call
2963 consume-trailing-whitespace if val is eof object. Allows
2964 exiting repl with single control-D.
2965
2966 1998-12-06 Gary Houston <ghouston@easynet.co.uk>
2967
2968 * boot-9.scm (error-catching-loop): don't force output within
2969 error catching loop after quit received.
2970 (top-repl): flush all ports when the repl terminates.
2971
2972 * boot-9.scm (error-catching-loop): flush all ports before
2973 primitive exit if non-interactive.
2974 force-output on current-error-port if interactive.
2975
2976 * boot-9.scm (reopen-file): deleted.
2977 * popen.scm (open-output-pipe, open-input-pipe): moved from
2978 boot-9.scm.
2979 * popen.scm: new file.
2980
2981 1999-06-04 Dirk Herrmann <D.Herrmann@tu-bs.de>
2982
2983 * boot-9.scm (iota): replaced by a tail recursive version.
2984 (reverse-iota): removed.
2985
2986 1999-06-03 Mikael Djurfeldt <mdj@mdj-pc.nada.kth.se>
2987
2988 * optargs.scm (lambda*): Bugfix: Replaced ARGLIST -->
2989 non-optional-args. (Thanks to David Lutterkort.)
2990
2991 1999-05-09 Jim Blandy <jimb@savonarola.red-bean.com>
2992
2993 * string-case.scm: Removed; functions moved to libguile/strop.c
2994 (which could be dynamically linked in the future anyway).
2995 * Makefile.am (ice9_sources): Don't list string-case.scm.
2996 * Makefile.in: Regenerated.
2997 * format.scm: Don't bother importing (ice-9 string-case).
2998
2999 1999-05-02 Jim Blandy <jimb@savonarola.red-bean.com>
3000
3001 * boot-9.scm (provided?): New function.
3002
3003 * Makefile.am: Add string-case.scm and format.scm to ice9_sources.
3004 * Makefile.in: Regenerated.
3005
3006 * string-case.scm: New file, brought in from SLIB, and adapted to
3007 Guile's module system.
3008
3009 * format.scm: New file, brought in from SLIB, with the following
3010 changes:
3011 (format:format): If the first argument is the format string, stick
3012 a #f on the front of it, so it is now a valid CL format argument
3013 list. This is easier than changing everyplace else (like the
3014 error formatter) that expects it to be in CL form. The other
3015 clause which explicitly tests for this case is now dead code.
3016 (format:format-work): Allow `@' and `:' in either order, as per
3017 modern CL behavior.
3018 (format:num->cardinal): Don't assume that an elseless if returns
3019 '() when the condition is false.
3020
3021 1999-04-17 Jim Blandy <jimb@savonarola.red-bean.com>
3022
3023 * Makefile.in: Regenerated.
3024
3025 1999-04-08 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3026
3027 * boot-9.scm: Provide 'values.
3028
3029 1999-03-21 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
3030
3031 * boot-9.scm (process-define-module, use-syntax): Bugfix:
3032 :use-syntax should add syntax to using module, not current module.
3033 (internal-use-syntax): Removed.
3034
3035 1999-03-21 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3036
3037 * session.scm (apropos-internal): Modified to comply with new
3038 argument order for hash-fold.
3039
3040 1999-03-19 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
3041
3042 * boot-9.scm (try-load-module): New procedure. Broken out from
3043 resolve-module.
3044 (resolve-module): Bugfix: Make it possible for a module at a
3045 deeper level (x y z) to depend on a module on a higher (x y).
3046
3047 This also has the desired side-effect that multiple attempts to
3048 load a module (e.g. with `use-modules') work until source is
3049 actually found for the module (e.g. because the correct catalog
3050 has been added to the load path).
3051
3052 Use try-load-module.
3053
3054 1999-03-18 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3055
3056 * session.scm (system-module): New procedure. Used to switch a
3057 module between system and user state.
3058
3059 1999-03-16 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3060
3061 * session.scm (apropos-internal): Rewritten using hash-fold.
3062
3063 * emacs.scm, session.scm, slib.scm): Added :no-backtrace in module
3064 definition.
3065
3066 1999-03-14 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
3067
3068 * boot-9.scm (make-record-type): Use `set-struct-vtable-name!' to
3069 associate a name to the record type descriptor so that the object
3070 system can create a wrapper class for it.
3071
3072 1999-03-12 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3073
3074 Improvement of backtraces: Introduces a new stack narrowing
3075 specifier, #t, for the inner cut. If the inner cut is specified
3076 by #t, `make-stack' will throw away inner stack frames (most
3077 recent calls on call chain) up to but excluding the first user
3078 stack frame encountered.
3079
3080 This specifier is now used in `save-stack' so that the call
3081 `(save-stack)' will get the new behaviour. [It is recommended that
3082 any error reporting functions written by the user have this call
3083 on the outermost expression level (i.e. as a member of the lambda
3084 list).]
3085
3086 Modules are partitioned into "user" and "system" modules. [I know
3087 that some names used here are silly, but I don't have more time to
3088 spend on a better solution, especially considering that the module
3089 system will be replaced. But if people have better ideas, then
3090 please tell me!]
3091
3092 System modules are created by adding :no-backtrace among the
3093 define-module switches:
3094
3095 (define-module (foo)
3096 :no-backtrace)
3097
3098 Modules which doesn't have the :no-backtrace specifier are user
3099 modules.
3100
3101 A stack frame is classified as a user frame if it has source code
3102 associated with it and if this source code can be proven to come
3103 from a user module. If it can be proven to come from a system
3104 module it is a system frame.
3105
3106 Frames which can't be classified, e.g. application frames, are cut
3107 away if they occur between system frames, but are left on the
3108 stack if they occur between the last system frame and the first
3109 user frame encountered. (Note that the first user frame
3110 encountered is the last user code being evaluated!)
3111
3112 In some cases the system part of the call chain is introduced by
3113 frames which should but can't be proven to be system frames. The
3114 following workaround has been implemented: The cutting proceeds
3115 over application frames where the operator is marked by the
3116 `system-procedure' property. (This has been used to cut away
3117 generic function dispatch code in the object system.)
3118
3119 * boot-9.scm (set-system-module!): New procedure: Set system/user
3120 status of a module.;
3121 Mark `the-root-module' and `the-scm-module' as system modules.
3122 (process-define-module): Add new keyword :no-backtrace.
3123
3124 * boot-9.scm (environment-module): Bugfixed.
3125 (set-module-eval-closure!): Add a pointer back from the eval
3126 closure to the module.
3127
3128 * emacs.scm (emacs-load): Reset port filename after transfer.
3129
3130 1999-03-03 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3131
3132 * slib.scm (make-random-state): Added for compatibility.
3133
3134 1999-02-16 Maciej Stachowiak <mstachow@alum.mit.edu>
3135
3136 * optargs.scm (lambda*): Handle empty argument lists properly.
3137
3138 1999-02-15 Jim Blandy <jimb@savonarola.red-bean.com>
3139
3140 Fix from Russ McManus:
3141 * getopt-long.scm (parse-option-spec): Store 'optional as the
3142 value-required? field for options that take optional values.
3143 (process-short-option): Grab a value for the option when it takes
3144 either an optional or required value.
3145
3146 1999-02-12 Jim Blandy <jimb@savonarola.red-bean.com>
3147
3148 * getopt-long.scm: Remove debugging calls to `pk'.
3149
3150 * getopt-long.scm: Return list of ordinary arguments as the value
3151 of the '() key, not `rest'.
3152
3153 A new argument-processing package from Russ McManus.
3154 * getopt-long.scm: New file.
3155 * Makefile.am (ice9_sources): Added getopt-long.scm.
3156 * Makefile.in: Regenerated.
3157
3158 1999-02-09 Maciej Stachowiak <mstachow@alum.mit.edu>
3159
3160 * optargs.scm: New file.
3161 * Makefile.am (ice9_sources): Add optargs.scm here. Makefile.in
3162 not regenerated because I don't have the right version of Automake.
3163
3164 1999-02-06 Jim Blandy <jimb@zwingli.cygnus.com>
3165
3166 * and-let*.scm: New file, from Michael Livshin.
3167 * Makefile.am (ice9_sources): Add and-let* here.
3168 * Makefile.in: Regenerated.
3169
3170 1999-01-11 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3171
3172 * slib.scm (install-require-module): Fixed the kludge which loads
3173 the slib catalog: Doesn't anylonger assume that the feature tested
3174 for isn't loaded.
3175
3176 1998-12-14 Jim Blandy <jimb@zwingli.cygnus.com>
3177
3178 * Makefile.in: Regenerated.
3179
3180 1998-12-14 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3181
3182 * boot-9.scm (process-define-module): Reverted the change of
3183 1998-11-23 which caused loading of object code if :use-module was
3184 applied to the module itself.
3185
3186 1998-12-11 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
3187
3188 * Makefile.am: Removed setf.scm.
3189
3190 * setf.scm: Removed. 1. It was buggy. 2. It was unschemey.
3191 (These shortcomings were my fault.)
3192
3193 1998-12-10 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3194
3195 * boot-9.scm (environment-module): New procedure.
3196
3197 1998-12-07 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
3198
3199 * Makefile.am: Added setf.scm.
3200
3201 1998-12-05 Christian Lynbech <chl@tbit.dk>
3202
3203 * setf.scm: New file. Adds the new forms `setf!' and `setter'
3204 which implements generalized references a la Common LISP.
3205
3206 1998-12-02 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
3207
3208 * boot-9.scm (process-define-module): Added new specifier
3209 :autoload MODULENAME BINDINGS to the define-module form.
3210 The autoload specifier tells the module system to load the module
3211 MODULENAME at the first occasion that any variable with its name
3212 among BINDINGS is referenced.
3213 (make-autoload-interface): New procedure: Constructs a stand-in
3214 for the public interface for the module to be autoloaded.
3215
3216 1998-12-01 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3217
3218 * boot-9.scm (*suppress-old-style-hook-warning*): Set this to #t
3219 if you don't want the old style hook warnings.
3220
3221 1998-12-01 Christian Lynbech <chl@tbit.dk>
3222
3223 * boot-9.scm (try-using-libtool-name): Fix check on dlname to make
3224 sure that it isn't empty, as it is when we are only buidling
3225 static libraries.
3226
3227 1998-11-27 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3228
3229 * session.scm (arity): New procedure.
3230
3231 1998-11-26 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3232
3233 * boot-9.scm: Use run-hook instead of run-hooks everywhere.
3234
3235 1998-11-26 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
3236
3237 * boot-9.scm (run-hooks, add-hook!, remove-hook!): Added temporary
3238 code for backward compatibility until people have had time to
3239 adapt to the new hooks.
3240
3241 1998-11-23 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
3242
3243 * boot-9.scm (beautify-user-module!): Beautify also if public
3244 interface is set to the module itself. In this way we can use
3245 beautify-user-module! to beautify a module prepared for object
3246 code.
3247 (process-define-module): Special case: Try to load object code as
3248 well if a module does :use-module on itself.
3249
3250 * boot-9.scm: Bugfix: Since boot-9.scm is now loaded from
3251 invoke_main_func, we can no longer be sure that all modules have
3252 been registered when boot-9.scm is loaded.
3253 (register-modules): New function: Register and tag modules
3254 registered by scm_register_module_xxx since last call to this
3255 function. Modules are tagged with the dynamic object passed as
3256 argument. (Already linked modules should be tagged with #f.)
3257 (init-dynamic-module, link-dynamic-module): Call register-modules
3258 first to register linked modules.
3259
3260 * boot-9.scm (init-dynamic-module): Remove module from
3261 registered-modules as soon as possible in case we are recursively
3262 invoked; Set public interface before doing the dynamic-call.
3263
3264 * boot-9.scm (map-in-order): Removed (replaced by scm_serial_map).
3265 (abort-hook, before-error-hook, after-error-hook,
3266 before-backtrace-hook, after-backtrace-hook, before-read-hook,
3267 after-read-hook, exit-hook): Make hooks with `make-hook'.
3268
3269 * boot-9.scm: Make hooks first class citizens and make them easier
3270 to use from C:
3271 (make-hook, add-hook!, remove-hook!, run-hooks): Moved to
3272 libguile/feature.c.
3273
3274 * boot-9.scm: Added warnings about bindings used in
3275 libguile/modules.c: the-module, set-current-module,
3276 make-modules-in, beautify-user-module!, module-eval-closure.
3277
3278 1998-11-21 Mikael Djurfeldt <mdj@kenneth>
3279
3280 * boot-9.scm (the-environment): New special form: Returns an
3281 object representing the current local evaluation environment.
3282 This object can be used in `local-eval' and `defined?'.
3283
3284 1998-11-13 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
3285
3286 * boot-9.scm (collect): New syntax. Similar to begin but returns
3287 a list of the results of all forms in the sequence instead of the
3288 result of the last form.
3289
3290 1998-11-10 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
3291
3292 * boot-9.scm (values, call-with-values): Moved here from
3293 syncase.scm.
3294
3295 * syncase.scm (values, call-with-values): Moved to boot-9.scm.
3296
3297 * boot-9.scm (readline-options, readline-enable, readline.disable,
3298 readline-set!: New options interface.
3299
3300 * readline.scm (readline-port): Use readline-options-interface.
3301
3302 1998-11-05 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
3303
3304 * boot-9.scm: Set the repl start module in `top-repl' instead of
3305 at the end of boot-9.scm.
3306
3307 1998-11-01 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3308
3309 * emacs.scm (format): Bugfix: Handle multiple arguments
3310 correctly. (Thanks to Thien-Thi Nguyen.)
3311
3312 1998-11-01 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
3313
3314 * boot-9.scm (exit-hook): New hook: Is run at the very end of an
3315 interactive session.
3316 (top-repl): Run exit-hook on exit.
3317
3318 * readline.scm (readline-port): Maybe read history; Maybe write
3319 history at exit (add to exit-hook).
3320
3321 Fri Oct 30 15:15:37 1998 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3322
3323 * readline.scm (make-readline-port): Bugfixed last change...
3324
3325 1998-10-28 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
3326
3327 * readline.scm (make-readline-port): Don't set prompt to "... " if
3328 read line was empty.
3329
3330 1998-10-19 Jim Blandy <jimb@zwingli.cygnus.com>
3331
3332 * boot-9.scm, debug.scm, expect.scm, hcons.scm, lineio.scm,
3333 r4rs.scm, slib.scm, threads.scm: Update copyright years.
3334
3335 * getopt-gnu-style.scm, slib.scm: Add copyright notice.
3336
3337 Talked to Stallman. Actually, the syntax-case copyright is no
3338 problem. Duh.
3339 * Makefile.am (ice9_sources): Revert last change.
3340 * syncase.scm, psyntax.pp, psyntax.ss: Added again.
3341 * Makefile.in: Regeneretade.
3342
3343 * boot-9.scm: Don't assume that this file is loaded just before
3344 entering a read-eval-print loop. Turn code to load (ice-9 emacs)
3345 into...
3346 (load-emacs-interface): New function.
3347 (top-repl): Call it, if use-emacs-interface is defined and true.
3348 At this point, we *do* know we're about to enter a REPL.
3349
3350 We can't include Kent Dybvig's syntax-case macro expander in the
3351 core Guile distribution, because we don't have copyright
3352 assignments for this code. We can certainly distribute them as a
3353 separate package, but Guile should be FSF code.
3354 * syncase.scm, psyntax.pp, psyntax.ss: Removed.
3355 * Makefile.am (ice9_sources): Removed syncase.scm, psyntax.pp, and
3356 psyntax.ss.
3357 * Makefile.in: Regenerated.
3358
3359 * Makefile.am (ice9_sources): Add getopt-gnu-style.scm.
3360 * Makefile.in: Regenerated.
3361
3362 1998-10-18 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
3363
3364 * boot-9.scm: Added extended read syntax for byte vectors #y(...)
3365 and short vectors #h(...).
3366
3367 1998-10-14 Jim Blandy <jimb@zwingli.cygnus.com>
3368
3369 * calling.scm (excursion-function-syntax): Use a sequence of
3370 set!'s, not a single multi-variable set!; we removed support for
3371 that syntax a long time ago. (Thanks to Shuji Narazaki.)
3372
3373 1998-10-12 Jim Blandy <jimb@zwingli.cygnus.com>
3374
3375 * r4rs.scm (OPEN_READ, OPEN_WRITE, OPEN_BOTH): Don't bother
3376 testing software-type here. That's the least of our Windows
3377 porting issues, and it's done wrong anyway.
3378
3379 1998-10-09 Jim Blandy <jimb@zwingli.cygnus.com>
3380
3381 * boot-9.scm (read-path-list-notation-warning): New function:
3382 print a warning the first time we see `#/' notation.
3383
3384 * q.scm (sync-q!, q?, q-remove!, q-push!, enq!): Lots of bugs, and
3385 (eq? #f '()) assumptions. Make functions that aren't documented
3386 to return anything else return the queue itself. (Bug report from
3387 Michael Livshin --- thanks!)
3388
3389 1998-08-21 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3390
3391 * debug.scm (trace-entry, trace-exit): Removed re-enabling of
3392 trace flag.
3393
3394 * boot-9.scm (make-options): Bugfix: Changed pair? --> list? in
3395 order to allow the empty list as arg.
3396 (error-catching-loop): Use `with-traps' to create a dynamic
3397 context with traps enabled.
3398
3399 1998-08-19 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
3400
3401 * boot-9.scm: Removed (ice-9 regex) from use-list of (guile)
3402 module.
3403 (try-using-libtool-name): Removed dependency on (ice-9 regex).
3404
3405 1998-08-15 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
3406
3407 * boot-9.scm: Make the root module use (ice-9 regex) if
3408 available. The dynamic linking facilities in boot-9.scm are
3409 currently dependent upon regular expressions. My change of
3410 1998-07-14 removed (ice-9 regex) from the use-list of the root
3411 module and thereby destroyed dynamic linking.
3412
3413 1998-07-29 Jim Blandy <jimb@zwingli.cygnus.com>
3414
3415 * Makefile.in: Regenerated using the last public version of
3416 automake, not the hacked Cygnus version.
3417
3418 1998-07-28 Jim Blandy <jimb@zwingli.cygnus.com>
3419
3420 * Makefile.in: Regenerated, after removing Totoro kludge.
3421
3422 1998-07-28 Jim Blandy <jimb@totoro.red-bean.com>
3423
3424 * getopt-gnu-style.scm: New file. (Thanks to Russ McManus.)
3425
3426 1998-07-26 Jim Blandy <jimb@zwingli.cygnus.com>
3427
3428 * Makefile.in Rebuilt, for config changes in parent dir.
3429
3430 1998-07-21 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3431
3432 * readline.scm (make-readline-port): Set prompt string to "... "
3433 after first read line. (Thanks to Richard Polton.)
3434
3435 1998-07-19 Jim Blandy <jimb@zwingli.cygnus.com>
3436
3437 * lineio.scm (make-line-buffering-input-port): Don't use
3438 ungetc-char-ready?, since we don't provide that function any
3439 more. The unread-string function doesn't interact properly with
3440 any of the standard I/O functions anyway. (Thanks to Andrew
3441 Archibald.)
3442
3443 * hcons.scm (hashq-cons-assoc): Don't assume the empty list is
3444 false. Return false when we cannot find a matching entry in the
3445 list. (Thanks to Andrew Archibald.)
3446
3447 1998-07-16 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
3448
3449 * boot-9.scm (export, export-syntax): New special forms: Export
3450 bindings from a module. `(export name1 name2 ...)' can be used at
3451 the top of a module (after `define-module') to specify which names
3452 should be exported. It can be used as an alternative to
3453 `define-public'. `export-syntax' works equivalently to `export'
3454 but is intended for export of syntactic keywords.
3455 (Thanks to Thien-Thi Nguyen.)
3456
3457 1998-07-15 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
3458
3459 * boot-9.scm: Renamed module `(guile-repl)' --> `(guile-user)'.
3460
3461 1998-07-14 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3462
3463 * boot-9.scm: Let the user start in module `(guile-repl)' instead
3464 of module `(guile)'. Also make sure that `(guile-repl)' uses
3465 suitable modules. This change improves Guile stability
3466 substantially since bindings will only be copied from the root
3467 module: If the user redefines builtins in `(guile-repl)' it won't
3468 affect the internal operation of Guile itself.
3469
3470 1998-06-19 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
3471
3472 * boot-9.scm (load-module): When loading files from within files
3473 themselves being loaded: Use the directory path of the file being
3474 loaded as root for relative filenames. (After suggestion by
3475 Steven G. Johnson.)
3476
3477 1998-06-15 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3478
3479 * emacs.scm (emacs-load): New feature: Eval in specified module.
3480
3481 1998-06-14 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3482
3483 * readline.scm: Typo in regex module name.
3484
3485 1998-06-13 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
3486
3487 * readline.scm (apropos-completion-function): regexp-quote text to
3488 be completed.
3489
3490 1998-06-11 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3491
3492 * debug.scm, emacs.scm: Bugfix: Treat `the-last-stack' as a fluid.
3493
3494 1998-06-09 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3495
3496 * boot-9.scm: Check that (current-input-port) is a tty before
3497 enabling readline. (Thanks to Michael N. Livshin.)
3498
3499 1998-06-07 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3500
3501 * boot-9.scm (use-syntax): Turned into a macro inorder to be
3502 similar in use to `use-modules'.
3503 Example: (use-syntax (ice-9 syncase)) will 1. load the module
3504 (ice-9 syncase), and, 2. install the procedure `syncase' as eval
3505 transformer.
3506 (internal-use-syntax): New procedure.
3507 (process-define-module): Use `internal-use-syntax'.
3508
3509 1998-05-19 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3510
3511 * Makefile.am (ice9_sources): Add emacs.scm.
3512
3513 1998-05-13 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3514
3515 * readline.scm: Use the new readline facilities: Add the
3516 possibility to control input and output ports; Add apropos
3517 completion.
3518
3519 * boot-9.scm: Antirevert Jim's readline code which he reverted
3520 19971027 and adapt it to the current readline interface.
3521
3522 * boot-9.scm (top-repl): Only enable readline if not using the
3523 Emacs interface; Only use repl prompt when using the readline port
3524 from repl-read. (We don't want to see it when calling `read'.)
3525
3526 * boot-9.scm (remove-hook!): Parenthesis bug.
3527
3528 1998-05-11 Mikael Djurfeldt <mdj@kenneth>
3529
3530 * boot-9.scm: Load readline module if readline is present.
3531
3532 * readline.scm (apropos-completion-function): New procedure:
3533 Symbolic completion. (Thanks to Andrew Archibald!)
3534
3535 1998-04-22 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3536
3537 * boot-9.scm (process-define-module): Added keyword use-syntax.
3538
3539 1998-04-19 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3540
3541 * nonblocking.scm: Removed. libguile is now inherently
3542 nonblocking through the use of scm_internal_select.
3543
3544 * emacs.scm: Removed use of nonblocking.scm.
3545
3546 * gwish.scm, gtcl.scm: Removed. tcltk.scm has made these
3547 obsolete.
3548
3549 1998-04-15 Mikael Djurfeldt <mdj@nada.kth.se>
3550
3551 * runq.scm (runq-control): Corrected spelling of enqueue!.
3552 (Thanks to Karl M. Hegbloom.)
3553
3554 1998-03-30 Mikael Djurfeldt <mdj@nada.kth.se>
3555
3556 * boot-9.scm: Added new run-time option interface eval-options.
3557
3558 1998-03-28 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3559
3560 * boot-9.scm (remove-hook!): New macro. (Thanks to Maciej
3561 Stachowiak.)
3562
3563 1998-01-30 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3564
3565 * threads.scm: Added simple error and signal handler.
3566 (make-thread, begin-handler): Use this handler. The most
3567 important effect of this is that signals get unmasked.
3568 Previously, when a signal was thrown signals remained masked
3569 (signals get masked when a signal is taken) which influenced other
3570 threads.
3571
3572 1998-01-01 Tim Pierce <twp@skepsis.com>
3573
3574 A better fix to the SLIB identity problem -- thanks to Marius Vollmer.
3575 * slib.scm (identity): Unmake public.
3576 (slib:eval): Evaluate inside `slib-module'.
3577
3578 1997-12-24 Tim Pierce <twp@skepsis.com>
3579
3580 * boot-9.scm: Doc fix.
3581
3582 * slib.scm (identity): Made public.
3583 (home-vicinity): New function (from SLIB/Template.scm).
3584
3585 1997-12-13 Tim Pierce <twp@skepsis.com>
3586
3587 * boot-9.scm (read-line): Rewritten to call %read-line for
3588 improved speed. Minor user-visible changes: the new functions are
3589 hardwired to treat the LFD character as signifying end-of-line, so
3590 changing `scm-line-incrementors' will no longer affect the
3591 behavior of read-line. On platforms which do not represent
3592 end-of-line with a LFD character, read-line should behave more
3593 like native line-processing facilities, but there is still a ways
3594 to go here.
3595
3596 Sat Nov 29 01:24:46 1997 Mikael Djurfeldt <mdj@kenneth>
3597
3598 * boot-9.scm (error-catching-loop, save-stack): `the-last-stack'
3599 is now a fluid.
3600
3601 1997-11-28 Tim Pierce <twp@skepsis.com>
3602
3603 * boot-9.scm (find-and-link-dynamic-module): If a module directory
3604 contains a .la file (a libtool support file), attempt to extract
3605 the shared library name from that file. If the .la file does not
3606 exist, try to link against a .so file. Libtool-generated compiled
3607 modules should load more cleanly in Guile now.
3608 (try-using-libtool-name, try-using-sharlib-name): New functions.
3609
3610 Sun Nov 9 06:10:59 1997 Gary Houston <ghouston@actrix.gen.nz>
3611
3612 * boot-9.scm (set-batch-mode?!, batch-mode?): initialize more
3613 usefully so they will work from a script.
3614
3615 1997-10-31 Marius Vollmer <mvo@zagadka.ping.de>
3616
3617 * boot-9.scm (inherit-print-state): Moved definition to the
3618 neighborhood of the record code.
3619
3620 Mon Oct 27 02:05:49 1997 Jim Blandy <jimb@totoro.red-bean.com>
3621
3622 * boot-9.scm: Revert changes to this file from Oct 23. It turns
3623 out to interact badly with the Emacs support and the Tcl/Tk
3624 support. It's not a high enough priority at the moment to be
3625 worth fixing. I'm leaving the other readline support in, though.
3626
3627 Sat Oct 25 14:23:22 1997 Jim Blandy <jimb@totoro.red-bean.com>
3628
3629 * Makefile.am: Include readline.scm in the list of files to be
3630 installed, so Guile can find it for interactive use.
3631 * Makefile.in: Regenerated.
3632
3633 Thu Oct 23 01:00:33 1997 Jim Blandy <jimb@totoro.red-bean.com>
3634
3635 Add support for readline function.
3636 * readline.scm: New module.
3637 * boot-9.scm (repl-reader): New function.
3638 (scm-style-repl): Call repl-reader, instead of doing the reading
3639 ourselves. Remove repl-report-reset; it was never used for
3640 anything.
3641 (top-repl): If we've got the readline primitives, then redefine
3642 repl-reader to use them.
3643 If we've got the readline primitives, import the readline module.
3644
3645 * ls.scm (ls, lls): Don't assume (eq? #f '()).
3646
3647 Wed Oct 22 18:26:57 1997 Jim Blandy <jimb@totoro.red-bean.com>
3648
3649 * calling.scm, common-list.scm, ls.scm, q.scm, runq.scm,
3650 string-fun.scm: Added copyright notices; reformatted.
3651
3652 Thu Oct 9 05:44:00 1997 Gary Houston <ghouston@actrix.gen.nz>
3653
3654 * expect.scm: (expect-regexec): new procedure, use it in
3655 expect-strings to fix the => syntax under the new regex system.
3656 (top): include regex module in define-module statement.
3657
3658 Wed Oct 8 03:16:01 1997 Gary Houston <ghouston@actrix.gen.nz>
3659
3660 * (error-catching-loop): new local variable "interactive". if
3661 #f, abort terminates the process.
3662 (set-batch-mode?!, batch-mode?): new closures, defined in
3663 error-catching-loop. the names are from scsh.
3664
3665 1997-10-06 Marius Vollmer <mvo@zagadka.ping.de>
3666
3667 * boot-9.scm (inherit-print-state): If NEW-PORT contains a
3668 print-state, throw it away.
3669
3670 Fri Oct 3 12:00:00 Mikael Djurfeldt <mdj@nada.kth.se>
3671
3672 * boot-9.scm (struct-layout): Use `vtable-index-layout' instead of
3673 `0'.
3674
3675 Thu Oct 2 12:00:00 Mikael Djurfeldt <mdj@nada.kth.se>
3676
3677 * boot-9.scm (struct-printer, make-struct-printer,
3678 set-struct-printer-in-vtable!, *struct-printer*): Removed.
3679 (record-type-vtable, make-record-type): Don't use make-struct-printer.
3680 (record-type-vtable): User fields "prpr" (printer is no longer a
3681 user field).
3682 (record-type-name, record-type-fields): Decreased slot index by
3683 one; Use `vtable-offset-user'.
3684
3685 Thu Oct 2 12:00:00 Marius Vollmer <mvo@zagadka.ping.de>
3686
3687 * boot-9.scm (inherit-print-state): New experimental function.
3688
3689 Tue Sep 30 13:12:48 1997 Jim Blandy <jimb@totoro.red-bean.com>
3690
3691 Suggestion and script from Maciej Stachowiak:
3692 * boot-9.scm: Split off modules into separate, autoloadable files.
3693 This reduces startup time from 10.5s to 5.5s (user cpu).
3694 * calling.scm, common-list.scm, ls.scm, q.scm, runq.scm,
3695 string-fun.scm: New files, containing stuff that used to be in
3696 boot-9.scm.
3697 * Makefile.am (ice9_sources): List new files here, for
3698 distribution and installation.
3699 * Makefile.in: Regenerated.
3700
3701 Mon Sep 29 23:53:55 1997 Jim Blandy <jimb@totoro.red-bean.com>
3702
3703 * Makefile.in: Regenerated with automake 1.2c.
3704
3705 Mon Sep 29 03:21:24 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3706
3707 * slib.scm (slib:load): slib:load first tries to load the file
3708 named NAME, then NAME.scm. On error, report the error occuring at
3709 the first attempt (NAME) rather than the second (NAME.scm).
3710
3711 * boot-9.scm: Bugfix: Hard-solder the print-option procedure into
3712 the make-options macro so that we needn't refer to a global
3713 symbol.
3714
3715 Sun Sep 28 21:40:24 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3716
3717 * debug.scm: Moved options interface procedures to boot-9.scm.
3718
3719 * boot-9.scm: Define options interface procedures here instead.
3720
3721 Sat Sep 27 20:19:20 1997 Jim Blandy <jimb@totoro.red-bean.com>
3722
3723 * boot-9.scm (separate-fields-discarding-char,
3724 separate-fields-after-char, separate-fields-before-char): Call
3725 continuation function, RET, as advertised: with each separated
3726 field a separate argument.
3727
3728 * Makefile.in: Regenerated with automake 1.2a.
3729
3730 Sat Sep 20 14:23:53 1997 Mikael Djurfeldt <mdj@kenneth>
3731
3732 * slib.scm (slib:load): Export.
3733
3734 * boot-9.scm (in-vicinity): Bugfix: Don't add "/" to an empty
3735 vicinity;
3736 Provide defmacro.
3737
3738 Thu Sep 18 01:24:31 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3739
3740 * r4rs.scm (apply): Set name property to 'apply.
3741
3742 Tue Sep 16 22:09:50 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3743
3744 * boot-9.scm (keyword->symbol, display-usage-report): Changed
3745 length --> string-length. (Thanks to Aleksandar Bakic.)
3746 (separate-fields-discarding-char, separate-fields-after-char,
3747 separate-fields-before-char): Bugfix from Maciej Stachowiak
3748 <mstachow@mit.edu>. Thanks!
3749 (try-module-linked): Try to find module among those already
3750 registered.
3751 (try-module-dynamic-link): Removed the first test which
3752 corresponds to a call to `try-module-linked'.
3753 (resolve-module): Resolve modules in this order: 1. Already
3754 registered modules (for example those which have been statically
3755 linked), 2. Try to autoload an .scm-file, 3. Try to dynamically
3756 link a .so-file.
3757
3758 Mon Sep 15 23:39:54 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3759
3760 * boot-9.scm (iota): Renamed list-reverse! --> reverse!
3761
3762 Thu Sep 11 02:31:38 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3763
3764 * session.scm (name): New procedure: Gives name of object.
3765 (source): New procedure: Gives source of object.
3766
3767 Wed Sep 10 20:12:45 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3768
3769 * boot-9.scm (primitive-macro?): New procedure.
3770
3771 * slib.scm: Added hack which transfers syntactic information from
3772 the builtin variable `define' to the slib version if module (ice-9
3773 syncase) has been loaded. This is necessary to get correct
3774 expansion inside the slib module.
3775
3776 * psyntax.ss (build-let, build-named-let): New output
3777 constructors.
3778 (build-lexical-var): Seed gensym with symbolic name.
3779 (self-evaluating?): Add keywords among self-evaluating types.
3780 (let): New core form.
3781 (if): Removed from core language.
3782 (or, and, let, cond): Removed syntactic definitions.
3783 (sc-expand3): New procedure: Expander which takes optional mode
3784 and eval-syntactic-expanders-when arguments.
3785
3786 * syncase.scm (psyncomp): New procedure: Recompiles psyntax.pp.
3787 Should be used inside the (ice-9 syncase) module with (use-syntax
3788 syncase) and with the current directory containing the psyntax.ss
3789 source.
3790 Added hack to transfer syntactic information from the builtin
3791 variable `define' to the slib version if module (ice-9 slib) has
3792 been loaded.
3793
3794 Fri Sep 5 05:47:36 1997 Mikael Djurfeldt <mdj@faun.nada.kth.se>
3795
3796 * syncase.scm (sc-interface, sc-expand): Removed hook setup.
3797 (syncase): Publish syntax transformer to be used with
3798 `use-syntax'.
3799 (sc-macro): Use this as the value when publishing macros.
3800
3801 * boot-9.scm (module-type): Added `transformer'.
3802 (make-module): Modified initialization.
3803 (module-transformer, set-module-transformer!): Selector and
3804 mutator for module-associated transformer.
3805 (set-current-module): Use module-transformer to set
3806 `scm:eval-transformer'.
3807 (module-use!): Previous change reverted.
3808 (use-syntax): New function: Install a transformer in current
3809 module.
3810 (sc-interface, sc-expand): Removed! :)
3811
3812 Fri Sep 5 03:09:09 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3813
3814 * emacs.scm (emacs-load): Added new parameter `module'.
3815
3816 * syncase.scm (putprop, getprop): Modified to use the object
3817 properties of the variable object corresponding to the symbol;
3818 This way we can ride on the mechanisms of the module system.
3819 Changed `builtin-variable' calls to `define-public' calls.
3820 Setup the hooks sc-expand and sc-interface.
3821
3822 * boot-9.scm (sc-interface, sc-expand): New builtin variables.
3823 (set-current-module): Switch to and from sc-expand as
3824 scm:eval-transformer when going into and out of modules using
3825 syncase macros.
3826 (module-use!): Set scm:eval-transformer to sc-expand when adding
3827 the syncase interface.
3828
3829 Thu Sep 4 14:57:04 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3830
3831 * syncase.scm (putprop): Temporary fix which publishes new syntax
3832 globally (the old behaviour was complex and connected to the inner
3833 workings of the current module system).
3834
3835 Wed Sep 3 21:29:13 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3836
3837 * psyntax.ss: Updated.
3838 psyntax.pp: Bugfix: Previous version had some leading "t":s cut
3839 off!
3840
3841 Tue Sep 2 00:26:42 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3842
3843 * boot-9.scm (gensym): Removed (replaced by primitive).
3844 (obarray-gensym): Rewritten to use `gensym'.
3845 (gentemp): Rewritten to use `gensym'.
3846
3847 Mon Sep 1 20:08:32 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3848
3849 * gtcl.scm (make-tcl-binder): Rewritten to choose bindings
3850 according to the following priorities:
3851 1. tcl bindings which are present in override-scheme-list
3852 2. bindings from the-scm-module
3853 3. tcl bindings
3854 This way the gtcl module can occur first in the use-list without
3855 disabling the scheme interpreter.
3856 (new-interpreter): New function.
3857
3858 * gwish.scm: Moved initialization code for the-interpreter to
3859 gtcl.scm; Moved name space cleaning code to gtcl.scm and rewrote
3860 it; Call `new-interpreter'; Don't :use-module (guile).
3861
3862 Thu Aug 28 23:48:53 1997 Jim Blandy <jimb@totoro.red-bean.com>
3863
3864 * Makefile.in: Regenerated.
3865
3866 Wed Aug 27 11:35:09 1997 Jim Blandy <jimb@totoro.red-bean.com>
3867
3868 * Makefile.in: Regenerated, so it uses "tar", not "gtar".
3869
3870 Mon Aug 25 22:00:44 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3871
3872 * emacs.scm (object->string, format, error-args->string): New
3873 procedures.
3874 (emacs-frame-eval): Reworked.
3875
3876 Mon Aug 25 16:15:55 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3877
3878 * session.scm (apropos-internal): Musn't initialize symbol
3879 accumulator with a constant pair. That led to mutation of the
3880 source!
3881
3882 Sun Aug 24 01:03:10 1997 Mikael Djurfeldt <mdj@kenneth>
3883
3884 * session.scm (vector-for-each): Removed.
3885 (apropos): vector-for-each --> array-for-each.
3886 (apropos-internal): New function. Return list of accessible
3887 symbols matching regexp.
3888
3889 * debug.scm (frame-number->index): New function. Convert frame
3890 number (as displayed in the backtrace) to frame index (to be used
3891 in stack-ref).
3892
3893 * emacs.scm (emacs-load): New arguments: interactivep: when
3894 non-false, send back results to Emacs; colnum: Column number;
3895 Use modules (ice-9 debug) and (ice-9 session);
3896 (no-stack, no-source): New simple-actions;
3897 (result-to-emacs): New procedure. Sends data to Emacs via the
3898 result protocol;
3899 (get-frame-source, emacs-select-frame, emacs-frame-eval,
3900 emacs-symdoc): New procedures.
3901
3902 Wed Aug 20 13:21:11 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3903
3904 * emacs.scm (emacs-load): Adjust stack narrowing.
3905 (whitespace-chars): Include #\np.
3906
3907 * syncase.scm: Also turn off debugging evaluator and recording of
3908 procedure names during loading of psyntax.pp.
3909
3910 * psyntax.pp: Removed leading blanks => 800K -> 100K.
3911
3912 Tue Aug 19 02:39:41 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3913
3914 * syncase.scm: Don't tamper with debug mode setting when enabling
3915 macros. Instead cut the stack with start-stack.
3916 Load psyntax.pp with recording of positions turned off.
3917
3918 * psyntax.pp, psyntax.ss (quasiquote): Changed fx= --> =.
3919
3920 * syncase.scm: New file: Guile-adaption for syntax-case macros.
3921 * psyntax.pp, psyntax.ss: Syntax-case macros, portable version 2 by
3922 R. Kent Dybvig, Oscar Waddell, Bob Hieb and Carl Bruggeman
3923
3924 Mon Aug 18 21:58:25 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3925
3926 * session.scm: New file: Session support.
3927 (apropos): New procedure: List bindings given regexp.
3928
3929 Sat Aug 16 18:44:24 1997 Gary Houston <ghouston@actrix.gen.nz>
3930
3931 * boot-9.scm: define tms accessors: clock, utime, stime, cutime,
3932 cstime.
3933
3934 Thu Aug 14 19:55:37 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3935
3936 * emacs.scm (emacs-load): Something has changed in the reader so
3937 that we now should set the port line count to the specified value
3938 (linum) instead of (- linum 1).
3939
3940 * slib.scm (slib:load): Use load-from-path instead of
3941 primitive-load-path so that backtraces get narrowed properly at
3942 the top.
3943
3944 * boot-9.scm (top-repl): Save stack already in signal handler in
3945 order to narrow it correctly.
3946 (save-stack): Adjust narrowing tag for the top of load-stacks.
3947
3948 Tue Jul 29 01:18:08 1997 Gary Houston <ghouston@actrix.gen.nz>
3949
3950 * boot-9.scm (move->fdes, dup->port): use dup->fdes, not primitive-dup.
3951 (dup->fdes): deleted, now done in C.
3952
3953 Sat Jul 26 08:00:42 1997 Gary Houston <ghouston@actrix.gen.nz>
3954
3955 * boot-9.scm (setenv): new procedure, scsh compatible.
3956
3957 Sat Jul 26 21:30:10 1997 Marius Vollmer <mvo@zagadka.ping.de>
3958
3959 * boot-9.scm (with-fluids): New macro to go with the
3960 builtin `with-fluids*'.
3961
3962 Thu Jul 24 04:28:11 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3963
3964 * slib.scm (install-require-module): In newer versions of slib
3965 *catalog* is #f until the first access. Therefore we call
3966 require:provided? for a random feature if *catalog* is #f.
3967
3968 Wed Jul 23 20:13:04 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3969
3970 * boot-9.scm: If using emacs interface, enable backtraces
3971 automatically.
3972
3973 Mon Jul 21 06:45:45 1997 Gary Houston <ghouston@actrix.gen.nz>
3974
3975 * boot-9.scm (dup->port, dup->inport, dup->outport, dup->fdes,
3976 dup, fdes->inport, fdes->outport, port->fdes): new procedures.
3977 (duplicate-port): was a C primitive, now it's here.
3978 (move->fdes): allow the first argument to be a file descriptor.
3979 Return the modified port or file descriptor (was unspecified.)
3980
3981 Fri Jul 11 00:13:43 1997 Jim Blandy <jimb@floss.red-bean.com>
3982
3983 Changes to compile under gnu-win32, from Marcus Daniels:
3984 * boot-9.scm (load-user-init): If HOME is unset, provide
3985 a default of /.
3986
3987 * boot-9.scm (define-public): Changed to accomodate Hobbit.
3988
3989 Tue Jun 24 00:31:47 1997 Jim Blandy <jimb@floss.red-bean.com>
3990
3991 * boot-9.scm, debug.scm, hcons.scm, lineio.scm, mapping.scm,
3992 poe.scm, slib.scm, tags.scm, threads.scm: Use normal list
3993 notation, instead of #/ notation.
3994
3995 * expect.scm (expect-strings): Pass regexp/newline flag to
3996 make-regexp.
3997
3998 Mon Jun 23 16:13:38 1997 Jim Blandy <jimb@floss.red-bean.com>
3999
4000 Fix inconsistencies in parsing of #/ style lists.
4001 * boot-9.scm (read-path-list-notation): New function.
4002 (parse-path-symbol): Deleted. Replaced by above.
4003 Plug in read-path-list-notation as the parser for #/ lists,
4004 instead of the anonymous lambda form calling parse-path-symbol.
4005 (Thanks to Maurizio Vitale.)
4006
4007 * boot-9.scm (make-list): Remove the definition of this function
4008 from the (ice-9 common-list) module; make the `init' argument
4009 optional in the scm module's definition, to match the deleted
4010 definition. Harmony reigneth? (Thanks to Bernard URBAN.)
4011
4012 Sun Jun 22 18:33:17 1997 Jim Blandy <jimb@floss.red-bean.com>
4013
4014 Try to detect when people are using one version of libguile and a
4015 different version of ice-9. People have been skewing things and
4016 sending in bug reports.
4017 * version.scm.in: New file, which the configure script munges to
4018 produce version.scm, which contains the ice-9 config stamp.
4019 * boot-9.scm: Compare the libguile and ice-9 config stamps;
4020 display a warning if the two are different.
4021 * Makefile.am: Install version.scm, but don't distribute it.
4022 Distribute version.scm.in, but don't install it.
4023 * Makefile.in: Regenerated.
4024
4025 Thu Jun 19 21:01:16 1997 Jim Blandy <jimb@floss.red-bean.com>
4026
4027 * slib.scm (slib:warn): Alias for WARN function.
4028
4029 Fri Jun 13 00:32:04 1997 Jim Blandy <jimb@floss.red-bean.com>
4030
4031 * boot-9.scm (struct-printer): Fix off-by-one error in range
4032 check. Correctly check for struct printer tag.
4033
4034 * expect.scm: Turn this into a module, (ice-9 expect).
4035 (expect-port, expect-timeout, expect-timeout-proc,
4036 expect-eof-proc, expect-char-proc, expect, expect-strings,
4037 expect-select): Make these public definitions.
4038 (expect-strings): Use make-regexp and regexp-exec, instead of
4039 regcomp and regexec. We've omitted the REG_NEWLINE flag; hope
4040 that's okay.
4041
4042 * boot-9.scm (with-regexp-parts): Comment this out. It has no
4043 users in the core, and relies on mildly hairy details of the old
4044 regexp interface.
4045
4046 * test.scm: Re-enable tests asserting that '() is true, and not a
4047 boolean. This stuff has been true for a while.
4048
4049 * boot-9.scm (ipow-by-squaring, butlast): Fix uses of outdated
4050 function names.
4051
4052 * boot-9.scm (with-excursion-getter-and-setter, q-rear): Doc
4053 fixes.
4054
4055 Wed Jun 11 00:31:40 1997 Jim Blandy <jimb@floss.red-bean.com>
4056
4057 * Makefile.in: Regenerated after xtra_PLUGIN_guile_libs change in
4058 ../configure.in.
4059
4060 Fri Jun 6 14:37:18 1997 Marius Vollmer <mvo@zagadka.ping.de>
4061
4062 * boot-9.scm (struct-printer): Bugfix: Check the layout of the
4063 vtable and not the one of the struct.
4064
4065 Wed Jun 4 23:27:16 1997 Marius Vollmer <mvo@zagadka.ping.de>
4066
4067 * boot-9.scm (struct-layout, %struct-printer-tag, struct-printer,
4068 make-struct-printer, set-struct-printer-in-vtable!): New bindings
4069 to support printing of structures.
4070 (record-type-vtable, make-record-type): Add slot to hold printing
4071 function and initialize it with something appropriate. Removed
4072 commented out printing code.
4073 (record-type-name, record-type-fields): Adjusted slot offsets.
4074 (%print-module): Reduce argument list to "mod" and "port".
4075
4076 Tue Jun 3 17:04:18 1997 Jim Blandy <jimb@totoro.cyclic.com>
4077
4078 * slib.scm (identity): New function, used by SLIB.
4079
4080 Sat May 31 18:57:12 1997 Gary Houston <ghouston@actrix.gen.nz>
4081
4082 * boot-9.scm: signal-handler, alarm-thunk: removed.
4083 don't define ticks-interrupt etc.
4084 top-repl: install signal handlers for SIGINT, SIGFPE, SIGSEGV, SIGBUS
4085 during call to scm-style-repl.
4086
4087 Fri May 30 18:08:10 1997 Jim Blandy <jimb@floss.cyclic.com>
4088
4089 * slib.scm (slib:load): Use primitive-load-path instead of
4090 basic-load. This is probably wrong, but hopefully the entire
4091 source access system will be revised soon anyway, and this will
4092 make require behave more like Emacs Lisp's require. If this
4093 breaks something, please let me know. Maybe this is real dumb.
4094
4095 Thu May 29 02:36:48 1997 Jim Blandy <jimb@floss.cyclic.com>
4096
4097 * regex.scm: Add a module declaration. Use DEFINE-PUBLIC everywhere.
4098 * boot-9.scm: If the `regex' feature is present, use the module
4099 (ice-9 regex).
4100
4101 Tue May 27 22:48:14 1997 Tim Pierce <twp@twp.tezcat.com>
4102
4103 * regex.scm: New file.
4104 * Makefile.am (subpkgdata_DATA): Add regex.scm.
4105 * Makefile.in: Regenerated.
4106
4107 Mon May 26 17:24:48 1997 Jim Blandy <jimb@totoro.cyclic.com>
4108
4109 * COPYING, boot-9.scm, debug.scm, emacs.scm, expect.scm, gtcl.scm,
4110 gwish.scm, hcons.scm, lineio.scm, mapping.scm, nonblocking.scm,
4111 oldprint.scm, poe.scm, r4rs.scm, source.scm, tags.scm, test.scm,
4112 threads.scm: New address for FSF.
4113
4114 Fri May 16 04:09:45 1997 Jim Blandy <jimb@floss.cyclic.com>
4115
4116 * debug.scm: Update copyright years; this file has been worked on
4117 in 1997.
4118
4119 Thu May 15 07:56:08 1997 Gary Houston <ghouston@actrix.gen.nz>
4120
4121 * expect.scm: use gettimeofday instead of get-internal-real-time
4122 and use a floating point timeout when calling select. Untested,
4123 since the regex library is currently AWOL.
4124
4125 Wed May 14 21:00:30 1997 Jim Blandy <jimb@floss.cyclic.com>
4126
4127 * boot-9.scm (eval-string): Function deleted; it was already
4128 implemented in C, so there's no point in making a divergable copy
4129 here.
4130
4131 Tue May 13 16:40:06 1997 Jim Blandy <jimb@floss.cyclic.com>
4132
4133 * Makefile.in: Regenerated, using automake-1.1p.
4134
4135 Tue May 13 16:40:06 1997 Jim Blandy <jimb@floss.cyclic.com>
4136
4137 * Makefile.in: Regenerated, using automake-1.1p.
4138
4139 Tue May 13 02:48:49 1997 Gary Houston <ghouston@actrix.gen.nz>
4140
4141 * boot-9.scm (error-catching-loop): don't read a line from
4142 current input when quit is encountered, the previous change
4143 fixes this too.
4144
4145 Mon May 12 19:00:21 1997 Jim Blandy <jimb@floss.cyclic.com>
4146
4147 * boot-9.scm (scm-style-repl): After reading an expression,
4148 consume any trailing newline (perhaps preceded by whitespace), to
4149 avoid screwing up GDB. More detail in comments.
4150
4151 Mon May 5 13:18:38 1997 Jim Blandy <jimb@floss.cyclic.com>
4152
4153 * Makefile.am (ETAGS_ARGS): New variable, since we're not treating
4154 the Scheme code like code yet.
4155 * Makefile.in: Resrac,husrched.
4156
4157 Wed Apr 30 15:25:15 1997 Marius Vollmer <mvo@zagadka.ping.de>
4158
4159 * boot-9.scm (link-dynamic-module): Do not catch errors from
4160 dynamic-link and dynamic-call. When the shared library exists it
4161 is now assumed to be suitable for a dynamic C module.
4162
4163 Fri Apr 25 21:21:35 1997 Marius Vollmer <mvo@zagadka.ping.de>
4164
4165 * boot-9.scm (process-use-modules): New function to support the
4166 use-modules macro
4167 (use-modules): throw an error iff one of the requested modules
4168 can't be found.
4169
4170 Tue Apr 29 06:54:46 1997 Gary Houston <ghouston@actrix.gen.nz>
4171
4172 * boot-9.scm: don't define timer-thunk or gc-thunk.
4173
4174 Sun Apr 27 17:56:09 1997 Jim Blandy <jimb@floss.cyclic.com>
4175
4176 * aclocal.m4: Removed; unnecessary, given changes of Apr 24.
4177
4178 * Makefile.am (subpkgdatadir): Use "ice-9" instead of "@module@";
4179 we're not using AM_INIT_GUILE_MODULE any more.
4180 * Makefile.in: Regeneratitetedrerd.
4181
4182 Thu Apr 24 01:33:33 1997 Jim Blandy <jimb@floss.cyclic.com>
4183
4184 Get 'make dist' to work again.
4185 * Makefile.am (EXTRA_DIST): Remove PLUGIN files.
4186 * Makefile.in: Regenerated, like two tons of fleas.
4187
4188 Changes for reduced Guile distribution: one configure script,
4189 no plugins.
4190 * configure.in, configure: Removed.
4191 * Makefile.in: Regenerated.
4192
4193 Sat Apr 19 08:03:50 1997 Jim Blandy <jimb@floss.cyclic.com>
4194
4195 * boot-9.scm (eval-string, command-line, load-user-init): New
4196 functions.
4197
4198 Sat Apr 12 08:27:05 1997 Gary Houston <ghouston@actrix.gen.nz>
4199
4200 * boot-9.scm (log10): defined.
4201
4202 Tue Apr 1 17:46:49 1997 Gary Houston <ghouston@actrix.gen.nz>
4203
4204 * expect.scm (expect-select): correct the millisecond timeout
4205 arithmetic (from Marko.Kohtala@ntc.nokia.com).
4206
4207 Mon Mar 31 03:23:19 1997 Gary Houston <ghouston@actrix.gen.nz>
4208
4209 * boot-9.scm (open-input-pipe, open-output-pipe): defined here
4210 instead of in libguile.
4211 (tm:sec etc.) new accessors for broken-down time.
4212 (set-tm:sec etc.) new setters for broken-down time.
4213
4214 Thu Mar 27 05:06:00 1997 Gary Houston <ghouston@actrix.gen.nz>
4215
4216 * boot-9.scm (netent:addrtype, servent:port): added missing
4217 procedures.
4218 (netent:net, servent:proto): repaired.
4219 (utsname:sysname etc.): new accessors for uname.
4220
4221 Tue Mar 25 03:04:03 1997 Gary Houston <ghouston@actrix.gen.nz>
4222
4223 * boot-9.scm (sockaddr:fam, sockaddr:path, sockaddr:addr,
4224 sockaddr:port): new functions.
4225
4226 Wed Mar 19 04:50:34 1997 Gary Houston <ghouston@actrix.gen.nz>
4227
4228 * boot-9.scm: define accessor procedures for the objects returned
4229 by getpw, getgr, gethost, getnet, getproto, getserv (e.g.,
4230 passwd:name, where the first component is the name of the C structure
4231 and the second is the unprefixed C member name.)
4232
4233 Tue Mar 18 18:39:31 1997 Gary Houston <ghouston@actrix.gen.nz>
4234
4235 * boot-9.scm (setpwent, setgrent, sethostent, setnetent, setprotoent,
4236 setservent): no longer take an argument, it was bogus.
4237
4238 Thu Mar 13 00:13:41 1997 Gary Houston <ghouston@actrix.gen.nz>
4239
4240 * boot-9.scm (scm-error): deleted, reimplemented in C.
4241
4242 Mon Mar 10 15:48:31 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
4243
4244 * boot-9.scm (process-define-module): Modified to handle both
4245 keywords and symbols.
4246
4247 Sat Mar 8 04:32:44 1997 Gary Houston <ghouston@actrix.gen.nz>
4248
4249 * slib.scm: update read usage.
4250
4251 * r4rs.scm: update primitive-load usage.
4252 Don't define read-sharp.
4253
4254 * boot-9.scm: use read-hash-extend to install extra read syntax.
4255 (read-sharp): removed.
4256 Adjust usage of primitive-load-path, read, which no longer take
4257 case_i or read-sharp arguments.
4258
4259 Sat Mar 8 00:07:54 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
4260
4261 * boot-9.scm: Added loading of session support module.
4262
4263 * debug.scm: Removed `display-application'. (Replaced by
4264 primitive procedure.)
4265
4266 * boot-9.scm (beautify-user-module!): Don't add the root module
4267 interface to the end of the use-list of the root module.
4268
4269 Thu Mar 6 07:26:34 1997 Gary Houston <ghouston@actrix.gen.nz>
4270
4271 * boot-9.scm: repl-quit, repl-abort: obsolete variables deleted.
4272
4273 Wed Mar 5 20:30:24 1997 Gary Houston <ghouston@actrix.gen.nz>
4274
4275 * boot-9.scm: check use-emacs-interface for emacs support.
4276
4277 Sun Mar 2 19:47:14 1997 Gary Houston <ghouston@actrix.gen.nz>
4278
4279 * boot-9.scm (scm-style-repl): call repl-report-start-timing if
4280 read gets EOF.
4281 * (exit): alias for quit.
4282
4283 Sun Mar 2 05:25:11 1997 Gary Houston <ghouston@actrix.gen.nz>
4284
4285 * boot-9.scm (error-catching-loop thunk): use a status variable to
4286 return the quit args.
4287 (scm-style-repl): call -quit, passing return value from
4288 error-catching-repl. Make -quit return its args.
4289 stand-alone-repl: comment out, since it seems unused.
4290
4291 (error-catching-loop thunk): discard trailing junk after a (quit).
4292
4293 Sat Mar 1 15:24:39 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
4294
4295 * boot-9.scm: Removed the old printer code.
4296
4297 * r4rs.scm (apply, call-with-current-continuation): Added comment
4298 explaining why apply and call/cc need to be closures.
4299
4300 * boot-9.scm (apply, call-with-current-continuation): Bugfix:
4301 Removed. These definitions are already present in r4rs.scm.
4302
4303 * debug.scm (trace-entry, trace-exit): Check that we're on a repl
4304 stack before printing traced frames; Re-enable trace flag at end
4305 of handlers.
4306
4307 Sat Mar 1 00:10:38 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
4308
4309 * debug.scm: Add hook for reset of trace level at abort.
4310
4311 * boot-9.scm (run-hooks): New procedure.
4312 (add-hooks!): New macro.
4313 Change hooks to use these functions.
4314
4315 * debug.scm: *Warning* This feature is a bit premature. I add
4316 it anyway because 1. it is very useful, and, 2. you can start
4317 making it less premature by complaining to me and by modifying
4318 the source! :-)
4319 (trace): Given one or more procedure objects, trace each one.
4320 Given no arguments, show all traced procedures.
4321 (untrace): Given one or more procedure objects, untrace each one.
4322 Given no arguments, untrace all traced procedures. The tracing in
4323 Guile have an advantage to most other systems: We don't create new
4324 procedure objects, but mark the procedure objects themselves.
4325 This means that also anonymous and internal procedures can be
4326 traced.
4327
4328 * boot-9.scm (error-catching-loop): Added handling of apply-frame
4329 and exit-frame exceptions.
4330
4331 * boot-9.scm (assert-repl-prompt, the-prompt-string): Removed.
4332 (set-repl-prompt!): Setter for repl prompt.
4333 (scm-style-repl): If prompt is #f, don't prompt; if prompt is a
4334 string, display it; if prompt is a thunk, call it and display its
4335 result; otherwise display "> ".
4336 (Change suggested by Roland Orre <orre@nada.kth.se>.)
4337
4338 * r4rs.scm (%load-verbosely): Reverted change to
4339 `module-defined?', since the module system isn't bootstrapped when
4340 we load r4rs.scm. This is just a temporary fix to make the
4341 repository version runnable.
4342
4343 Thu Feb 27 23:25:47 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
4344
4345 * boot-9.scm: Removed the enabling of debug evaluator and
4346 recording of source code positions. This was placed there for our
4347 convenience, but it has already sneaked into the distribution
4348 once... so we'd better add this in our local copies instead when
4349 we need it. (These options are normally enabled at the end of
4350 boot-9.scm when loading the debug module.)
4351
4352 Thu Feb 27 16:04:45 1997 Marius Vollmer <mvo@zagadka.ping.de>
4353
4354 * boot-9.scm (module-defined?): New function.
4355 (macroexpand-1, macroexpand): Use local-ref instead of defined?
4356 and eval.
4357 * r4rs.scm (%load-verbosely): Use "module-defined?" instead of
4358 "defined?".
4359 * slib.scm (defined?): New function to take the place of the
4360 builtin "defined?". It allways examines the slib module.
4361
4362 Mon Feb 24 21:46:15 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
4363
4364 * configure.in: Added AM_MAINTAINER_MODE
4365
4366 Sat Feb 15 04:51:20 1997 Gary Houston <ghouston@actrix.gen.nz>
4367
4368 * boot-9.scm (read-sharp): define directly, don't go through a
4369 %read-sharp layer.
4370
4371 Tue Feb 11 08:45:48 1997 Gary Houston <ghouston@actrix.gen.nz>
4372
4373 * boot-9.scm (uniform-vector-set!): use uniform-array-set1!, not
4374 uniform-vector-set1! which doesn't exist.
4375
4376 Mon Feb 10 03:01:48 1997 Mikael Djurfeldt <mdj@kenneth>
4377
4378 * boot-9.scm (backtrace): Removed. (A C version now exists in
4379 backtrace.c.)
4380
4381 Fri Jan 24 06:05:36 1997 Gary Houston <ghouston@actrix.gen.nz>
4382
4383 * boot-9.scm (read-line!, read-delimited!, read-delimited,
4384 read-line): new procedures, see libguile/ChangeLog.
4385
4386 Thu Jan 16 17:07:03 1997 Marius Vollmer <mvo@zagadka.ping.de>
4387
4388 Added dynamic linking of modules. See libguile/DYNAMIC-LINKING.
4389
4390 * boot-9.scm (split-c-module-name, convert-c-registered-modules,
4391 init-dynamic-module, dynamic-maybe-call,
4392 find-and-link-dynamic-module, link-dynamic-module,
4393 try-module-dynamic-link, registered-modules): New definitions for
4394 dynamic linking of modules.
4395 (resolve-module): Try to dynamically link the requested module
4396 after failing to load it as Scheme code.
4397
4398 Wed Jan 8 05:50:14 1997 Gary Houston <ghouston@actrix.gen.nz>
4399
4400 * boot-9.scm (getservbyport, getservbyname): remove stray %.
4401
4402 Tue Jan 7 20:02:24 1997 Jim Blandy <jimb@floss.cyclic.com>
4403
4404 * boot-9.scm (and=>): Rename THUNK argument to PROCEDURE, 'cos
4405 that's what it is.
4406
4407 * lineio.scm (make-line-buffering-input-port): Properly test for
4408 the case of an empty buffer list. The old code assumed that '()
4409 was false.
4410
4411 Mon Jan 6 01:13:53 1997 Mikael Djurfeldt <mdj@kenneth>
4412
4413 * boot-9.scm (use-modules): New macro (from Marius Vollmer).
4414 (use-modules <module name> ...) Put the the modules named by
4415 <module name> ... on the use list of the current module.
4416
4417 Sun Jan 5 15:52:59 1997 Jim Blandy <jimb@floss.cyclic.com>
4418
4419 * boot-9.scm (error-catching-loop): Remove message saying that
4420 typing "$" will put you in the debugger. This isn't implemented
4421 yet.
4422
4423 Sun Dec 22 23:27:25 1996 Jim Blandy <jimb@floss.cyclic.com>
4424
4425 * boot-9.scm (delq-all!): Function deleted; delq!'s semantics have
4426 been fixed, so this function is superfluous.
4427 (transform-usage-lambda): Use delq!, not delq-all!.
4428
4429 Tue Dec 17 20:36:45 1996 Marius Vollmer <mvo@zagadka.ping.de>
4430
4431 * boot-9.scm (resolve-module): New optional parameter that
4432 controls whether autoloading is attempted or not. Default is #t.
4433 (process-define-module): Don't autoload the defined module.
4434 (try-module-autoload): Don't autoload the directory modules.
4435
4436 * boot-9.scm (process-define-module): Ensure that the-scm-module
4437 is last in the `uses' list to allow shadowing builtin
4438 bindings. All :use-module options are added in the order they
4439 appear in the arguments but before anything already on the list
4440 (such as the-scm-module).
4441
4442 Wed Dec 11 21:06:05 1996 Gary Houston <ghouston@actrix.gen.nz>
4443
4444 * slib.scm (slib-parent-dir): throw error if #f returned from
4445 %search-load-path.
4446
4447 Sat Nov 30 23:57:28 1996 Tom Tromey <tromey@cygnus.com>
4448
4449 * PLUGIN/greet, PLUGIN/split.sed, PLUGIN/this.configure: Removed.
4450 * Makefile.am, aclocal.m4: New files.
4451 * configure.in: Updated for Automake.
4452
4453 Wed Nov 27 14:16:14 1996 Marius Vollmer <mvo@zagadka.ping.de>
4454
4455 * boot-9.scm (macroexpand-1, macroexpand), slib.scm
4456 (slib:features), r4rs.scm (%load-verbosely): "defined?" is now a
4457 function, use it accordingly.
4458
4459 Thu Nov 21 11:12:10 1996 Jim Blandy <jimb@floss.cyclic.com>
4460
4461 It's an "eval closure", not an "eval thunk." A thunk is a
4462 function of no arguments.
4463 * boot-9.scm (module-type): Rename module field.
4464 (make-module, eval-in-module, make-root-module,
4465 set-current-module): Uses changed.
4466 (module-eval-closure, set-module-eval-closure!,
4467 root-module-closure): Renamed from module-eval-thunk,
4468 set-module-eval-thunk!, root-module-thunk.
4469 (set-current-module): Change uses of *top-level-lookup-thunk* to
4470 *top-level-eval-closure*.
4471
4472 Wed Nov 20 14:45:27 1996 Jim Blandy <jimb@totoro.cyclic.com>
4473
4474 * slib.scm (slib-parent-dir): Use string-length, not length.
4475 (Thanks to Bernard Urban.)
4476
4477 Sat Nov 2 20:00:42 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
4478
4479 * boot-9.scm: The debugging evaluator and recording of positions
4480 aren't enabled by default any longer (they are switched on in
4481 debug.scm). But during development we want to have them also
4482 *inside* boot-9.scm. Therefore, two lines are added at the
4483 beginning of boot-9.scm to enable these.
4484
4485 Call `provide' so that `records' are included among the
4486 `*features*'.
4487
4488 The scheme for saving the stack has been adjusted: save-stack is
4489 now commonly available for saving the stack. Calling `save-stack'
4490 sets a flag `stack-saved?' which prevents overwriting the stack.
4491 `stack-saved?' is reset at `abort'.
4492
4493 Spelling correction: seperate --> separate.
4494
4495 Removed `:'s that had creeped into some comments.
4496
4497 The repl now doesn't print #<unspecified> results any longer
4498 If the user wants to see this, he can do
4499 (assert-repl-print-unspecified #t) in his startup file.
4500
4501 The user now gets a friendly message instead of a backtrace at
4502 error.
4503
4504 Added `before-read-hook'.
4505
4506 Load module (ice-9 emacs) if option `-e' was specified.
4507
4508 (provide): New function.
4509
4510 (error): Save stack at entry, so that Guile entrails won't show up
4511 in backtraces.
4512
4513 (backtrace): New function.
4514
4515 (save-stack): Can now take arbitrary number of stack narrowing
4516 specifier pairs. The first specifier in a pair controls inner
4517 border, the second the outer border. A number means cut that
4518 number of frames, a procedure object means cut until that object
4519 is found in operator position in a frame.
4520
4521 * debug.scm: Enable debugging evaluator and recording of positions
4522 by default.
4523
4524 * slib.scm (slib:load): Adapt to the new behavior of
4525 primitive-load: It doesn't any longer try both with and without
4526 ".scm" extension. (We don't want to use %search-load-path here.)
4527
4528 (implementation-vicinity): New function. slib requires it
4529
4530 (library-vicinity): Updated.
4531
4532 Load "require.scm" in the library-vicinity.
4533
4534 (install-require-vicinity, install-require-module): New functions.
4535
4536 Mon Oct 28 17:56:29 1996 Jim Blandy <jimb@floss.cyclic.com>
4537
4538 * boot-9.scm (load-from-path): New function.
4539
4540 * boot-9.scm (try-load, basic-try-load, try-load-module,
4541 try-load): Deleted. I don't think they're being used.
4542
4543 * Makefile.in (scm_files): Add r4rs.scm and test.scm to this list,
4544 so they'll get distributed.
4545
4546 Get Guile to be a little less chatty by default. The new user
4547 should see as little clutter as possible.
4548 * r4rs.scm (%load-verbosely): Make this #f by default.
4549 * boot-9.scm (scm-repl-verbose): Make this #f by default.
4550 (scm-style-repl): Don't run 'pk' on the value passed to quit.
4551
4552 * r4rs.scm: New file.
4553 * boot-9.scm: Load r4rs.scm, first thing.
4554 (OPEN_READ, OPEN_WRITE, OPEN_BOTH, *null-device*, open-input-file,
4555 open-output-file, open-io-file, close-input-port,
4556 close-output-port, close-io-port, call-with-input-file,
4557 call-with-output-file, with-input-from-port, with-output-to-port,
4558 with-error-to-port, with-input-from-file, with-output-to-file,
4559 with-error-to-file, with-input-from-string, with-output-to-string,
4560 with-error-to-string, the-eof-object): Definitions moved to
4561 r4rs.scm. Not all of them are R4RS, but those that are use those
4562 that are not.
4563 (load, %load-verbosely, %load-announce): Moved, along with code to
4564 set %load-hook, to r4rs.scm.
4565
4566 * test.scm: New file.
4567
4568 * boot-9.scm (integer?): Definition deleted, in favor of the one
4569 present in libguile (which used to be called int?). I have no
4570 idea why integer? didn't just call int? to begin with.
4571
4572 * boot-9.scm (<, <=, =, >, >=): Definitions in terms of <?, <=?,
4573 =?, >?, and >=? deleted; they're defined that way by libguile now.
4574
4575 * boot-9.scm (load): Simplified; primitive-load does most of this
4576 work now.
4577 (%load-announce-win): Removed; no longer used. Set %load-hook to
4578 call %load-announce.
4579
4580 Sun Oct 27 07:47:03 1996 Gary Houston <ghouston@actrix.gen.nz>
4581
4582 * boot-9.scm (stat:dev, stat:ino, stat:mode, stat:nlink, stat:uid,
4583 stat:gid, stat:rdev, stat:size, stat:atime, stat:mtime,
4584 stat:ctime, stat:blksize, stat:blocks) accessor functions for stat
4585 components.
4586 (file-is-directory?): use stat:type.
4587
4588 Fri Oct 25 03:34:47 1996 Jim Blandy <jimb@floss.cyclic.com>
4589
4590 * boot-9.scm (%read-sharp): Don't recognize the `#!' syntax here;
4591 that's now taken care of in libguile, and in a way compatible with
4592 SCSH (which this isn't).
4593
4594 Mon Oct 21 18:52:36 1996 Jim Blandy <jimb@totoro.cyclic.com>
4595
4596 * boot-9.scm: Formatting tweaks.
4597
4598 Fri Oct 18 01:03:08 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
4599
4600 * boot-9.scm (handle-system-error): Added hooks before-error-hook,
4601 after-error-hook, before-backtrace-hook and after-backtrace-hook
4602 to the error handler. E.g.: fancy emacs support could plug into
4603 these.
4604 (save-stack): New function. The stack is now made differently
4605 depending on the stack id. (The motivation is to make a better
4606 choice regarding what stack frames to present to the user.)
4607 (error-catching-loop): Stack handling code moved outside into
4608 save-stack.
4609
4610 Thu Oct 17 20:33:08 1996 Gary Houston <ghouston@actrix.gen.nz>
4611
4612 * Makefile.in (scm_files): add expect.scm.
4613
4614 * expect.scm: new file ported from guile-iii.
4615
4616 * boot-9.scm: remove handle-system-error, after moving the code into
4617 error-catching-loop.
4618 Don't set 'throw-handler-default property on error keys.
4619 Just interpret (almost) any throw with 4 args as an error throw.
4620 Delete some try-load stuff that was already commented out.
4621
4622 Second thoughts, keep handle-system-error but call it from
4623 error-catching-loop.
4624
4625 Tue Oct 15 17:07:20 1996 Jim Blandy <jimb@floss.cyclic.com>
4626
4627 * boot-9.scm: Doc fixes.
4628 (make-module): Rework for readability.
4629 (make-root-module, make-scm-module): USES argument to make-module
4630 should be '(), not #f.
4631
4632 * boot-9.scm (try-load): %sys-load-path has been renamed to
4633 primitive-load-path; adjust call here.
4634
4635 Tue Oct 15 14:25:01 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
4636
4637 * boot-9.scm (signal-handler): Bugfix: Moved the recording of
4638 the stack to the correct place: when it is decided to generate an
4639 error-signal.
4640
4641 Mon Oct 14 22:20:30 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
4642
4643 * boot-9.scm (error-catching-loop, signal-handler,
4644 handle-system-error): Backtracing now works for signals aswell;
4645 Backtracing mechanism can now identify the stack root created by
4646 start-stack so that the user isn't exposed to system stack frames.
4647
4648 Mon Oct 14 06:05:42 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
4649
4650 * Makefile.in: Added threads.scm.
4651
4652 Mon Oct 14 04:21:51 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
4653
4654 * debug.scm (make-enable, make-disable): Simplified.
4655
4656 * boot-9.scm: Renamed %%throw-handler-default -->
4657 throw-handler-default.
4658 ((handle-system-error key . arg-list)): Changed the way errors are
4659 reported.
4660 ((scm-style-repl)): Wrap up the call to eval in a start-stack
4661 acro.
4662 ((error-catching-loop thunk)): Introduce a lazy-catch into
4663 error-catching-loop so that the stack can be captured.
4664
4665 Thu Oct 10 22:27:32 1996 Jim Blandy <jimb@totoro.cyclic.com>
4666
4667 * mapping.scm (hash-table-mapping): Explicitly request that
4668 make-vector fill new vectors with '(); this will make it easier to
4669 port Guile Scheme code to other Schemes.
4670 * boot-9.scm (make-print-style, make-print-table): Same.
4671
4672 Sun Oct 6 03:54:59 1996 Gary Houston <ghouston@actrix.gen.nz>
4673
4674 * boot-9.scm (load): rewritten again.
4675 Append "." to the default %load-path.
4676 (feature?): new function: checks for a symbol in the features list.
4677 (module-local-variable): remove apparently useless (caddr (list m v
4678 ...))
4679 (%load-announce): minor formatting change.
4680 (file-exists?): use access? if posix is featured.
4681 (file-is-directory?): use stat if i/o-extensions is featured.
4682 (try-module-autoload module-name): use file-exists? before
4683 file-is-directory?
4684
4685 Sat Oct 5 18:54:03 1996 Mikael Djurfeldt <mdj@kenneth>
4686
4687 * boot-9.scm: Added conditional loading of threads.scm.
4688
4689 * threads.scm: New file. Modified from the Cygnus-r0.3
4690 distribution.
4691
4692 * boot-9.scm (error-catching-loop): Added handling of key
4693 `switch-repl'.
4694
4695 * boot-9.scm: Name change %%bad-throw --> bad-throw.
4696
4697 Wed Oct 2 23:38:44 1996 Jim Blandy <jimb@totoro.cyclic.com>
4698
4699 * boot-9.scm (make-record-type, record-constructor): Don't assume
4700 the empty list is false when parsing the argument list.
4701
4702 Mon Sep 30 22:15:50 1996 Jim Blandy <jimb@totoro.cyclic.com>
4703
4704 * boot-9.scm (signal-handler): Clean up logic.
4705
4706 * boot-9.scm (load): Assume %load-path is always bound.
4707
4708 Sat Sep 28 00:15:37 1996 Gary Houston <ghouston@actrix.gen.nz>
4709
4710 * boot-9.scm (error): replace another throw with scm-error. Throw
4711 to 'misc-error instead of 'error (no need to distinguish these.)
4712 Don't set up 'error as a key.
4713 Set up regex-error as a key, if regex is available.
4714 (signal-handler): use scm-error, not throw.
4715
4716 (%try-load, try-load-with-path, %load, load-with-path,
4717 basic-try-load-with-path, basic-load-with-path,
4718 try-load-module-with-path,load-module-with-path): deleted, since
4719 they seem redundant.
4720 (try-load): define using %try-load, not try-load-with-path.
4721 (load): rewritten. load tries to open the file directly and
4722 with a .scm extension before searching the library directories
4723 (should "." be added to %load-path? then load could still open
4724 directly files starting with "/").
4725 (try-module-autoload): use load, not load-with-path.
4726 (%load-indent): deleted, -2 was causing errors.
4727
4728 (%read-sharp): use port-line, not line-number.
4729
4730 Fri Sep 27 16:23:51 1996 Jim Blandy <jimb@totoro.cyclic.com>
4731
4732 * boot-9.scm (%%bad-throw): Delete definition. 1) It's very
4733 straightforward to provide the equivalent functionality using
4734 (catch #t ...), so there's no need for the extra complexity. 2)
4735 Outside the context of a read-eval-print loop (which Guile should
4736 not require) it's not clear we should do anything more complicated
4737 than print an error and exit; the user or REPL can establish
4738 something better if it wants. 3) In that case, it's much more
4739 robust to just do it in the C code.
4740
4741 Tue Sep 24 06:53:04 1996 Gary Houston <ghouston@actrix.gen.nz>
4742
4743 * boot-9.scm (%try-load): define using primitive-load. Previously
4744 %try-load itself was the primitive.
4745 (load-with-path): use scm-error instead of %load-announce-lossage.
4746 Errors are thrown to 'misc-error instead of 'could-not-load.
4747 (%load-announce-lossage): deleted.
4748
4749 Mon Sep 23 00:16:31 1996 Mikael Djurfeldt <mdj@kenneth>
4750
4751 * boot-9.scm (warn, scm-style-repl): Use C printer instead of `print'.
4752 (make-record-type type-name fields): Temporarily remove support
4753 for printing of records (not possible yet with C printer).
4754
4755 Fri Sep 20 00:24:27 1996 Gary Houston <ghouston@actrix.gen.nz>
4756
4757 * boot-9.scm (file-exists?, file-is-directory): catch only
4758 system-error, not every kind of error.
4759 (scm-error): new procedure.
4760
4761 Thu Sep 19 16:02:46 1996 Jim Blandy <jimb@totoro.cyclic.com>
4762
4763 * boot-9.scm: Formatting tweaks.
4764
4765 Wed Sep 18 09:07:37 1996 Gary Houston <ghouston@actrix.gen.nz>
4766
4767 * boot-9.scm (%%handle-system-error key): remove the code for
4768 SCM-style errors. handle the case that an unexpected number
4769 of args are supplied.
4770 (%%system-errors): removed.
4771 (error): redefine using a throw with key and 4 args.
4772 ('error): associate 'error, 'error-signal keys with
4773 %%handle-system-error.
4774 (%%default-error-handler): removed.
4775 (signal-handler): throw with 4 args and use the error-signal key.
4776 Create an error message instead of using numerical codes.
4777 (%%bad-throw): call error instead of throw if key not found.
4778
4779 Tue Sep 17 04:11:28 1996 Gary Houston <ghouston@actrix.gen.nz>
4780
4781 * boot-9.scm: initialize new error keys (see libguile/ChangeLog).
4782 (%%handle-system-error key): check subr is not #f before printing.
4783 Recognize %s (embed an argument using "display") and
4784 %S (embed an argument using "write").
4785
4786 Sun Sep 15 03:55:35 1996 Gary Houston <ghouston@actrix.gen.nz>
4787
4788 * boot-9.scm (%%handle-system-error key): set args and rest to
4789 the empty list if they are #f.
4790 Initialize out-of-range as an error key.
4791
4792 Sat Sep 14 03:41:15 1996 Gary Houston <ghouston@actrix.gen.nz>
4793
4794 * PLUGIN/REQ: remove the "ice-9 lgh" line which causes a cycle.
4795
4796 * boot-9.scm: remove leading %% from references to '%%system-error.
4797 (%%handle-system-error): don't pass all the thrown arguments when
4798 aborting, just the key and subr.
4799 Remove the code to "Install default handlers for built-in errors."
4800 Remove the definition of the syserror procedure.
4801 Associate 'numerical-overflow with default handler.
4802
4803 Fri Sep 13 04:58:11 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
4804
4805 * boot-9.scm: Name change: value-ref --> local-ref
4806 resolved-ref --> nested-ref Motivation: conformance to the other
4807 dictionary operators: list-ref operates on list, vector-ref
4808 operates on vector, nested-ref operates on nested namespace,
4809 local-ref operates on the local nested namespace.
4810
4811 Sat Sep 7 06:44:47 1996 Gary Houston <ghouston@actrix.gen.nz>
4812
4813 * boot-9.scm (%%handle-system-error): recognise errors thrown
4814 by lgh-error (fill-message etc.)
4815 (fill-message): check first whether args is null.
4816 (fill-message): bug fix and check that args is a list.
4817
4818 Thu Sep 5 11:33:41 1996 Jim Blandy <jimb@floss.cyclic.com>
4819
4820 * boot-9.scm: %load-path is initialized in C code now.
4821 (implementation-vicinity, parse-path): Deleted, along with code to
4822 initialize %load-path.
4823
4824 * boot-9.scm (in-vicinity): If the vicinity doesn't end with a
4825 "/", use one to separate it from the file.
4826
4827 Thu Aug 29 23:05:11 1996 Thomas Morgan <tmorgan@gnu.ai.mit.edu>
4828
4829 * boot-9.scm (%load-path): Add the site directory.
4830 Add the directory named after the version number.
4831 Prepend the version number to the other directories in the path.
4832 Simplify by mapping the common prefix onto each item.
4833 * Makefile.in (datadir, pkgdatadir, pkgverdatadir, subpkgdatadir,
4834 sitedatadir): New definitions.
4835 (libparent, libdir, install_path): Replaced by above.
4836 (install): Create the above directories.
4837 Put the source files into subpkgdatadir.
4838 (uninstall): Remove the above directories.
4839
4840 Thu Aug 29 21:48:47 1996 Jim Blandy <jimb@floss.cyclic.com>
4841
4842 Don't use the PLUGIN system to gather information for the
4843 Makefile's distribution and installation targets; just put it all
4844 in the Makefile directly.
4845 * PLUGIN/this.configure (scm_files, aux_files): Remove sections
4846 for these.
4847 * configure.in: Remove code that gets and substitutes scm_files and
4848 aux_files.
4849 * Makefile.in (scm_files, aux_files): Write out the list of files
4850 here, where people expect to find them.
4851
4852 Fri Aug 23 06:44:36 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
4853
4854 * boot-9.scm: Preliminary solution: optionally load the debug
4855 module. Changed "gls" to "guile1.0b3".
4856
4857 * debug.scm: New file: debug extensions.
4858
4859 Wed Aug 21 13:06:56 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
4860
4861 * boot-9.scm (print-vector): Renamed weak-hash-table? -->
4862 weak-key-hash-table?. (Again!)
4863
4864 Tue Aug 20 07:31:39 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
4865
4866 * boot-9.scm (print-vector, macro-table, xformer-table):
4867 Renamed weak-hash-table --> weak-key-hash-table.
4868
4869 * poe.scm (funcq-memo): Renamed weak-hash-table -->
4870 weak-key-hash-table.
4871
4872 Sat Aug 3 06:16:35 1996 Gary Houston <ghouston@actrix.gen.nz>
4873
4874 * boot-9.scm (*null-device*): global constant from goonix.
4875 (move->fdes): adjusted for boolean primitive-move->fdes. return
4876 the modified port, always set revealed count to 1 (SCSH compatible).
4877 (release-port-handle port): from goonix (SCSH compatible).
4878 (%open-file): removed.
4879 (open-input-file, open-output-file, file-exists?, file-is-directory?):
4880 modified for open-file change (does not return #f).
4881
4882 Thu Aug 1 02:52:42 1996 Jim Blandy <jimb@totoro.cyclic.com>
4883
4884 * Makefile.in (dist-dir): New target for new dist system.
4885 (manifest): Deleted.
4886 * PLUGIN/this.configure (aux_files): Removed PLUGIN; it's a
4887 directory, and needs special treatment in the dist-dir target.
4888
4889 Thu Aug 1 09:00:21 1996 Gary Houston <ghouston@actrix.gen.nz>
4890
4891 * boot-9.scm: remove the wrappers for '%' system primitives,
4892 now that they throw errors directly.
4893 remove make-simple-wrapper and similar functions.
4894 protect a call to getenv which may now throw an exception.
4895
4896 Wed Jul 31 23:44:42 1996 Gary Houston <ghouston@actrix.gen.nz>
4897
4898 * boot-9.scm (false-if-exception): new macro.
4899
4900 Fri Apr 19 13:53:08 1996 Tom Lord <lord@beehive>
4901
4902 * The more things change...
4903
4904
4905 ;; Local Variables:
4906 ;; coding: utf-8
4907 ;; End: