* In expt, return exact results when possible.
[bpt/guile.git] / ice-9 / ChangeLog
1 2000-07-13 Dirk Herrmann <D.Herrmann@tu-bs.de>
2
3 * boot-9.scm (expt): In case of negative integer exponents return
4 an exact result if the input paramters were exact. Thanks to
5 Mikael for the suggestion.
6
7 2000-07-12 Dirk Herrmann <D.Herrmann@tu-bs.de>
8
9 * boot-9.scm (expt): Make sure that integer-expt is only called
10 if the exponent is a non-negative integer.
11
12 2000-07-01 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
13
14 * boot-9.scm (process-define-module): Bugfix: Only check the CDR
15 for export args.
16
17 2000-06-27 Dirk Herrmann <D.Herrmann@tu-bs.de>
18
19 * popen.scm: gc-thunk is deprecated. Use after-gc-hook instead.
20
21 2000-06-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
22
23 * common-list.scm (intersection, set-difference, remove-if,
24 remove-if-not): Made tail-recursive. Thanks to William Webber
25 for the hint.
26
27 (delete-if!, delete-if-not!): Renamed parameter from `list' to
28 `l' in order to avoid confusion. Note: These functions are not
29 tail recursive yet.
30
31 2000-06-21 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
32
33 * boot-9.scm: Turned `the-module', `*top-level-lookup-closure*',
34 and `scm:eval-transformer' into fluids.
35
36 * boot-9.scm (purify-module!, module-export!): New procedures.
37 (export): Rewritten using `module-export!'.
38 (process-define-module): New define-module options: pure, export.
39 See NEWS.
40 (scm-style-repl): Added optional module argument.
41
42 * null.scm, r5rs.scm, safe-r5rs.scm, safe.scm: New modules.
43
44 2000-06-20 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
45
46 * session.scm (make-fold-modules): Detect circular references in
47 module graph. (Thanks to Matthias Köppe.)
48
49 2000-06-20 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
50
51 * session.scm: Use module (ice-9 regex).
52 (help): Regexp-quote a name given as a symbol.
53
54 2000-06-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
55
56 * common-list.scm (list*): Removed, since this function is
57 implemented as a primitive in libguile/list.c.
58
59 2000-06-12 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
60
61 * session.scm (help): Warn user if 'regex isn't provided.
62
63 * Makefile.am (ice9_sources): Removed getopt-gnu-style.scm.
64
65 * getopt-gnu-style.scm: Removed deprecated module.
66
67 2000-06-11 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
68
69 * boot-9.scm (make-autoload-interface): Set init value for uses to
70 '() instead of #f.
71 (make-modules-in): Name modules with their real (= full) names.
72 (the-root-module, the-scm-module): Named `(guile)' instead of
73 `the-root-module'.
74 (the-scm-module): Set kind to 'interface.
75
76 * Makefile.am (ice9_sources): Replaced doc.scm with
77 documentation.scm.
78
79 * session.scm (ice-9): Use module (ice-9 documentation).
80 (name): Use the name property if everything else fails.
81 (apropos-fold): New procedure.
82 (apropos-internal): Re-implement in terms of `apropos-fold'.
83 (help): Rewritten.
84
85 * doc.scm: Removed module (ice-9 doc).
86
87 * documentation.scm: New module (ice-9 documentation).
88
89 2000-06-08 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
90
91 * doc.scm (documentation-files): Renamed from `doc-files'.
92 (write-all): Removed.
93 (find-documentation): Renamed from `documentation'. Return
94 documentation string instead of printing it. Not exported.
95
96 Tue Jun 6 09:21:28 2000 Greg J. Badros <gregb@go2net.com>
97
98 * session.scm: Update references to `proc-doc' to be
99 `proc-documentation'
100
101 * doc.scm: Cleaned up a great deal. Put variables at the top of
102 the file, eliminated `object-documentation' that was broken
103 (referencing Scwm), drop `help' as session.scm has a better
104 supported version of that procedure. Rename `proc-doc' to
105 `proc-documentation' -- `procedure-documentation' is a primitive
106 getter function, so I use the shorter name for this more useful
107 function. (Alternatively, we could rename the primitive
108 getter...)
109
110 2000-06-05 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
111
112 * boot-9.scm (error-catching-loop): Inform about debugger on error.
113
114 2000-06-04 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
115
116 * boot-9.scm (scm-module-closure): New procedure: Was previously
117 anonymous. Now needed in modules.c.
118 (make-module): Use `standard-eval-closure' to create the eval
119 closure.
120
121 2000-05-14 Gary Houston <ghouston@arglist.com>
122
123 * boot-9.scm (load-user-init): rewritten. first work out the home
124 directory and then try to open the file (previously it could try
125 to open a file in more than one place). catch exceptions when
126 trying to get a directory from the user database. don't check
127 that ~/.guile is not a directory before trying to load it (a lack
128 of ~/.guile is not a crime, but if the file is not valid for any
129 reason then primitive-load will raise an error).
130
131 2000-05-11 Dirk Herrmann <D.Herrmann@tu-bs.de>
132
133 * boot-9.scm (abs): Don't set to magnitude. abs now does not
134 accept complex numbers as parameter.
135
136 2000-05-09 Marius Vollmer <mvo@zagadka.ping.de>
137
138 * common-list.scm (delete-if-not!): Bug fix of bug fix: change
139 label of named let to `delete-if-not'. Sorry.
140
141 2000-05-08 Marius Vollmer <mvo@zagadka.ping.de>
142
143 * common-list.scm (doc fixes): Talk about `true values' instead of
144 `#t' when a function treats all non-#f valuers the same.
145 (remove-if-not): Bug fix: call remove-if-not
146 instead of remove-if when iterating.
147 (delete-if-not!): Bug fix: call delete-if-not! instead of
148 delete-if! when iterating.
149
150 2000-04-16 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
151
152 * r4rs.scm (close-input-port, close-output-port): Removed.
153
154 2000-04-13 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
155
156 * session.scm (help): New macro. Prints helpful information.
157
158 2000-04-10 Gary Houston <ghouston@arglist.com>
159
160 * popen.scm (open-process): after forking, close all ports except
161 the end of the pipe to the parent. otherwise move->fdes and
162 the exec'd program and the exit handlers can interfere with file
163 descriptors still in use in parent ports.
164
165 2000-04-09 Gary Houston <ghouston@arglist.com>
166
167 * popen.scm (close-process-quietly): new procedure. use it from
168 reap-pipes to avoid errors or hanging during background cleanup.
169
170 2000-04-04 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
171
172 * format.scm (format:obj->str): Handle circular references. Also,
173 print improper lists with (x y . z) syntax rather than as
174 individual pairs. (This code should probably be integrated into C
175 level facilities. It is currently terribly slow.)
176
177 2000-04-03 Michael Livshin <mlivshin@bigfoot.com>
178
179 * streams.scm (stream-fold, stream-for-each): don't use named let,
180 because it prevents the gc from junking the stream argument.
181
182 Thu Mar 9 08:05:08 2000 Greg J. Badros <gjb@cs.washington.edu>
183
184 * slib.scm: Back-out change to software-type -- renamed
185 slib:software-type to software-type, and leave it non-public.
186
187 Thu Mar 2 12:20:52 2000 Greg J. Badros <gjb@cs.washington.edu>
188
189 * boot-9.scm: Drop unused definition of sfx function -- thanks
190 Dirk Hermann!
191
192 Wed Mar 1 12:21:02 2000 Greg J. Badros <gjb@cs.washington.edu>
193
194 * streams.scm: Doc patch from Richard Kim, using MIT Scheme as
195 source of the numerous very short changes.
196
197 Sun Feb 13 18:03:19 2000 Greg J. Badros <gjb@cs.washington.edu>
198
199 * slib.scm: Rename software-type to slib:software-type and make it
200 public.
201
202 * r4rs.scm: Added documentation; largely cut and pasted from R4RS
203 info pages.
204
205 Sun Feb 13 17:49:29 2000 Greg J. Badros <gjb@cs.washington.edu>
206
207 * common-list.scm: Added documentation; largely cut and pasted
208 from slib docs.
209
210 2000-02-11 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
211
212 * format.scm (format): Reintroduce (define format format:format)
213 so that the binding in the public interface of the module will be OK.
214
215 2000-01-30 Gary Houston <ghouston@arglist.com>
216
217 * boot-9.scm (find-and-link-dynamic-module): pass strings, not symbols,
218 to string-append.
219
220 2000-01-29 Gary Houston <ghouston@arglist.com>
221
222 * expect.scm (expect): don't call char-ready? before expect-select,
223 since select now checks port buffers itself. don't bother to check
224 the time first either, since expect-select does it.
225
226 Thu Jan 20 12:57:36 2000 Greg J. Badros <gjb@cs.washington.edu>
227
228 * format.scm: Use (variable-set! (builtin-variable 'format)) to
229 re-define format to be format:format (instead of just define,
230 which interacts poorly with the module system). Thanks to Shuji
231 Narazaki for this change.
232
233 Tue Jan 11 10:49:22 2000 Greg J. Badros <gjb@cs.washington.edu>
234
235 * boot-9.scm expect.scm, syncase.scm: Switch to new style
236 `simple-format' message strings: substitute ~A for %s, and ~S for
237 %S.
238
239 * boot-9.scm: Added (define format simple-format) to expose that
240 primitive via the simpler name until format.scm is loaded.
241
242 2000-01-09 Marius Vollmer <mvo@zagadka.ping.de>
243
244 * boot-9.scm (try-using-libtool-name): Do not bother to look
245 inside libtool ".la" file, dynamic-link does this for us now.
246
247 1999-12-15 Gary Houston <ghouston@freewire.co.uk>
248
249 * slib.scm (library-vicinity, home-vicinity,
250 scheme-implementation-type, scheme-implemenation-version):
251 use define-public to export from the module.
252
253 Wed Dec 15 08:32:09 1999 Greg J. Badros <gjb@cs.washington.edu>
254
255 * doc.scm: Use `%library-dir' and the other system directories,
256 not the quickly defuncted `library-dir' that I added before
257 realizing the former existed. Thanks Brad Knotwell!
258
259 Sun Dec 12 19:18:52 1999 Greg J. Badros <gjb@cs.washington.edu>
260
261 * Makefile.am, doc.scm: Added doc.scm.
262
263 1999-12-12 18:54:06 1999 Greg J. Badros <gjb@cs.washington.edu>
264
265 * popen.scm, slib.scm: Added some docstrings for procedures that
266 were primitives that I encountered in posix.texi.
267
268 1999-11-19 Gary Houston <ghouston@freewire.co.uk>
269
270 * Makefile.am (ice9_sources): add arrays.scm.
271
272 * boot-9.scm: load arrays.scm if 'array is provided.
273
274 * arrays.scm: new file with stuff from boot-9.scm.
275
276 1999-11-18 Gary Houston <ghouston@freewire.co.uk>
277
278 * boot-9.scm (read-hash-extend to set up arrays): add 'l' for
279 long_long uniform vectors.
280
281 1999-11-17 Gary Houston <ghouston@freewire.co.uk>
282
283 * networking.scm (sethostent, setnetent, setprotoent, setservent):
284 take an optional argument STAYOPEN. default is #f.
285
286 1999-10-05 Jim Blandy <jimb@savonarola.red-bean.com>
287
288 * Makefile.in: Deleted from CVS repository. Run the autogen.sh
289 script to create generated files like this one.
290
291 1999-09-23 Gary Houston <ghouston@freewire.co.uk>
292
293 * boot-9.scm (load-user-init): check that the posix feature is
294 available before using getpw and getuid.
295 (top-repl): don't install handlers for SIGINT etc., without posix.
296 (file-is-directory?): use 'posix instead of i/o-extensions to
297 check for stat.
298 (load-user-init): use file-exists? and file-is-directory? to
299 check for .guile, instead of stat.
300 (file-is-directory?): don't display the file name if posix not
301 available.
302 (feature?): I guess this is deprecated. redefined using "provided?"
303 and changed users in boot-9.scm to "provided?".
304 Conditionally load posix.scm and networking.scm.
305
306 posix.scm, networking.scm: new files. Move definitions from
307 boot-9.scm if they are only useful with posix/networking available.
308
309 * Makefile.am (ice9_sources): add posix.scm, networking.scm.
310
311 1999-09-17 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
312
313 * debugger.scm (read-and-dispatch-commands): Handle other throws
314 than 'exit-debugger.
315
316 * boot-9.scm (before-signal-stack): New fluid.
317 (top-repl): Set before-signal-stack in the signal handler.
318
319 * debugger.scm (eval-handler): Handle unhandled exceptions.
320
321 1999-09-16 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
322
323 * debugger.scm ("p"): New alias for "evaluate";
324 Mark module with :no-backtrace.
325 ("position"): New command.
326 (source-position, display-position): New procedures.
327 (display-source): Display position of expression, if available.
328 (catch-user-errors): Return #f on error. (Commands are expected
329 to return a valid state.)
330 (read-and-dispatch-command): Bugfix: Return old state on error.
331
332 1999-09-16 Jim Blandy <jimb@savonarola.red-bean.com>
333
334 * regex.scm (regexp-substitute/global): Handle the end of the
335 match list and an empty match list identically. (Thanks to Greg
336 Badros.)
337
338 1999-09-15 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
339
340 * debugger.scm ("evaluate"): Replaced `write-line' with calls to
341 `write' and `newline' since write-line doesn't write but displays.
342
343 1999-09-12 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
344
345 * debugger.scm ("evaluate"): Newline after no env announcement.
346
347 * debug.scm, emacs.scm: Updated copyright notices.
348
349 * boot-9.scm (make-autoload-interface): Bugfix.
350 (top-repl): Autoload debugger.
351
352 * debugger.scm ("backtrace"): Don't pass length param to
353 display-backtrace if it wasn't explicitly given by the user.
354 (write-frame-long/application): Also print corresponding source
355 expression.
356 ("evaluate"): Evaluate in local environment frame, if existent;
357 Handle errors.
358
359 1999-09-11 Jim Blandy <jimb@savonarola.red-bean.com>
360
361 * format.scm (format:format-work): Use #\tab and #\page instead of
362 slib:form-feed and slib:tab. (Thanks to Ceri Storey.)
363
364 * format.scm (format:abort): Call error, not slib:error.
365
366 1999-09-11 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
367
368 * boot-9.scm (using-readline?): New procedure: Returns #t if
369 readline is used by the repl run by this thread.
370 (handle-system-error): Print "Backtrace:" before backtrace since
371 this is no longer done by display-backtrace.
372
373 * debug.scm (frame-number->index): Optionally take stack as
374 argument.
375
376 * debugger.scm: Use the frame number abstraction which allows for
377 both forward and backward views of the stack
378 (write-frame-index-short, write-frame-index-long):
379 Use selector `frame-number';
380 (select-frame-absolute): Use frame-number->index.
381 ("backtrace"): Use builtin backtrace printing.
382 Use (ice-9 debug).
383 Use readline conditionally.
384
385 1999-09-11 Jim Blandy <jimb@savonarola.red-bean.com>
386
387 * regex.scm (fold-matches, list-matches): New functions.
388 (regexp-substitute/global): Rewritten again in terms of
389 list-matches, to get null match behavior correct.
390
391 * regex.scm (regexp-substitute/global): Rewrite so that 'post at
392 the end of the item list actually causes a tail call. (Thanks to
393 Jan Nieuwenhuizen.)
394
395 1999-09-11 Marius Vollmer <mvo@zagadka.ping.de>
396
397 * readline.scm: Moved to ../guile-readline.
398
399 * boot-9.scm (top-repl): Removed code for activating readline.
400
401 * Makefile.am: Removed mention of readline.scm.
402
403 * Makefile.in: Regenerated.
404
405 1999-09-11 Jim Blandy <jimb@savonarola.red-bean.com>
406
407 Delete the test which compares the configuration date of libguile
408 with the configuration date of ice-9. This test yields too many
409 false positives to be helpful. For example, if you build Guile
410 for several architectures but have them all share a "share"
411 directory (which is supposed to work), then all but one
412 architecture's Guile will complain that the configuration dates
413 don't match. Which is true, but indicates nothing wrong.
414 * boot-9.scm: Delete code which compares ice-9-config-stamp with
415 libguile-config-stamp.
416 * version.scm.in: Delete.
417 * Makefile.am (ice9_generated): Delete.
418 (subpkgdata_DATA): Remove ice9_generated.
419 (EXTRA_DIST): Remove version.scm.in.
420 * Makefile.in: Regenerate.
421
422 1999-09-11 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
423
424 * debugger.scm: New file: Initial version of the Guile debugger
425 written by Chris Hanson. (The debugger isn't finished, but is
426 included in Guile anyway since it is already quite useful.)
427
428 * boot-9.scm (top-repl): Use (ice-9 debug) (ice-9 debugger) (ice-9
429 session) (ice-9 threads) (ice-9 regex) from guile-user only if
430 top-repl is called. This makes startup time for scripts 30% of
431 what it was before... Removed redundant code for loading of
432 readline.
433
434 * Makefile.am (ice9_sources): Added debugger.scm.
435
436 1999-08-29 Keisuke Nishida <kxn30@po.cwru.edu>
437
438 * boot-9.scm (try-module-autoload): Use %search-load-path.
439
440 1999-08-24 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
441
442 * boot-9.scm: Removed old style hooks.
443 (inherit-print-state): Rwwritten to use port-with-print-state.
444
445 1999-08-20 James Blandy <jimb@mule.m17n.org>
446
447 Remove support for the #/ path list syntax entirely.
448 * boot-9.scm (read-path-list-notation,
449 read-path-list-notation-warning): Deleted.
450 Don't register read-path-list-notation-warning as a reader for
451 objects starting with '#/'.
452
453 1999-08-05 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
454
455 GOOPS needs the observer protocol specified for the new module
456 system. Here's a simple version for the old module system:
457 * boot-9.scm (module-observers, module-weak-observers,
458 module-observer-id, set-module-observers!,
459 set-module-observer-id!): New accessors.
460 (module-type): Added slots `observers', `weak-observers' and
461 `observer-id'.
462 (module-observe, module-observe-weak, module-unobserve,
463 module-modified): New procedures.
464 (module-make-local-var!, module-add!, module-remove!,
465 module-clear!, module-define!, module-use!): Call module-modified.
466
467 1999-07-29 Marius Vollmer <mvo@zagadka.ping.de>
468
469 * boot-9.scm (error-catching-loop): Correct non-RnRS usage of internal
470 defines.
471
472 1999-07-19 Jim Blandy <jimb@savonarola.red-bean.com>
473
474 * streams.scm: New module, contributed by Michael Livshin.
475 * Makefile.am (ice9_sources): List it.
476 * Makefile.in: Regenerated.
477
478 * boot-9.scm (read-delimited!): Put the terminator in the correct
479 position.
480
481 1999-06-29 Mikael Djurfeldt <mdj@mdj-pc.nada.kth.se>
482
483 * readline.scm: Bugfix: Avoid getting the continued-lines prompt
484 at multiple calls to read.
485 (promtp2): Variable for continued-lines prompt.
486 (make-readline-port): Use prompt2.
487 (set-readline-prompt!): New optional arg which sets
488 continued-lines prompt.
489
490 * boot-9.scm (top-repl): Set/clear readline prompts before/after
491 reading expressions.
492
493 1999-06-18 Jim Blandy <jimb@savonarola.red-bean.com>
494
495 * ls.scm (ls, lls): Handle no arguments as meaning to look in
496 `(current-module)'. (Patch from Thien-Thi Nguyen.)
497
498 1999-06-14 Jim Blandy <jimb@savonarola.red-bean.com>
499
500 * string-fun.scm (split-before-predicate, split-after-predicate,
501 split-discarding-predicate): Make these public. (Thanks to
502 Thien-Thi Nguyen.)
503
504 1999-06-13 Gary Houston <ghouston@easynet.co.uk>
505
506 * more changes to expect.scm, to avoid the one-character lookhead
507 that was introduced to fix the $ problem:
508
509 * expect.scm (expect): call the match proc an extra time at end
510 of file and set the eof? argument appropriately. call
511 expect-eof-proc only if the last call didn't match.
512 * expect.scm (expect-strings): change port to eof? in match proc.
513 * expect.scm (expect-regexec): take an eof indicator as an argument
514 instead of a port.
515
516 1999-06-09 Jim Blandy <jimb@savonarola.red-bean.com>
517
518 * Makefile.am (ice9_sources): Add popen.scm to list.
519 * Makefile.in: Regenerated.
520
521 Fixes for expect from Gary Houston <ghouston@easynet.co.uk>:
522
523 * expect.scm (expect-regexec): define 'eof-next?'. I don't
524 know why it was missing. also don't peek for end of lines
525 unless expect-strings-exec-flags contains regexp/noteol.
526 (expect-strings-exec-flags): initialise to regexp/noteol.
527
528 Gary Houston's open-buffer port patches:
529
530 1999-04-01 Gary Houston <ghouston@easynet.co.uk>
531
532 * popen.scm: applied fixes from Greg Harvey. use a guardian
533 and a gc-thunk so that cleanup is done if a pipe is garbage
534 collected or closed with close-port. use a weak hash-table instead of
535 an alist.
536
537 1999-03-20 Gary Houston <ghouston@easynet.co.uk>
538
539 * expect.scm (expect): call the match proc with the port instead.
540 (expect-strings): use peek-char to get the next char. this has
541 the advantage of getting the handling of $ "correct", but the
542 disadvantage of needing to get (and maybe block for) an extra character
543 from the port when it may not be needed. hence:
544 (expect-strings-exec-flags): new variable/parameter, supplies
545 flags for regexp-exec. if this includes regexp/noteol, then
546 automatic regexp/noteol handling (requiring an extra peeked char)
547 is enabled. default is regexp/noteol.
548 (expect-strings-compile-flags): new variable/parameter, supplies
549 flags for make-regexp. default is regexp/newline.
550
551 1999-03-15 Gary Houston <ghouston@easynet.co.uk>
552
553 * expect.scm (expect): call the match proc with an extra char,
554 peeked from the stream.
555 (expect-strings): build a match proc which takes the extra char.
556 (expect-regexec): take an extra arg "eof-next?" and use it
557 to decide whether the regexp/noteol flag should be added.
558
559 1999-02-26 Gary Houston <ghouston@easynet.co.uk>
560
561 * boot-9.scm (top-repl): don't flush all ports at exit.
562 (error-catching-loop): likewise.
563
564 1998-12-23 Gary Houston <ghouston@easynet.co.uk>
565
566 * boot-9.scm (scm-style-repl): -read: don't call
567 consume-trailing-whitespace if val is eof object. Allows
568 exiting repl with single control-D.
569
570 1998-12-06 Gary Houston <ghouston@easynet.co.uk>
571
572 * boot-9.scm (error-catching-loop): don't force output within
573 error catching loop after quit received.
574 (top-repl): flush all ports when the repl terminates.
575
576 * boot-9.scm (error-catching-loop): flush all ports before
577 primitive exit if non-interactive.
578 force-output on current-error-port if interactive.
579
580 * boot-9.scm (reopen-file): deleted.
581 * popen.scm (open-output-pipe, open-input-pipe): moved from
582 boot-9.scm.
583 * popen.scm: new file.
584
585 1999-06-04 Dirk Herrmann <D.Herrmann@tu-bs.de>
586
587 * boot-9.scm (iota): replaced by a tail recursive version.
588 (reverse-iota): removed.
589
590 1999-06-03 Mikael Djurfeldt <mdj@mdj-pc.nada.kth.se>
591
592 * optargs.scm (lambda*): Bugfix: Replaced ARGLIST -->
593 non-optional-args. (Thanks to David Lutterkort.)
594
595 1999-05-09 Jim Blandy <jimb@savonarola.red-bean.com>
596
597 * string-case.scm: Removed; functions moved to libguile/strop.c
598 (which could be dynamically linked in the future anyway).
599 * Makefile.am (ice9_sources): Don't list string-case.scm.
600 * Makefile.in: Regenerated.
601 * format.scm: Don't bother importing (ice-9 string-case).
602
603 1999-05-02 Jim Blandy <jimb@savonarola.red-bean.com>
604
605 * boot-9.scm (provided?): New function.
606
607 * Makefile.am: Add string-case.scm and format.scm to ice9_sources.
608 * Makefile.in: Regenerated.
609
610 * string-case.scm: New file, brought in from SLIB, and adapted to
611 Guile's module system.
612
613 * format.scm: New file, brought in from SLIB, with the following
614 changes:
615 (format:format): If the first argument is the format string, stick
616 a #f on the front of it, so it is now a valid CL format argument
617 list. This is easier than changing everyplace else (like the
618 error formatter) that expects it to be in CL form. The other
619 clause which explicitly tests for this case is now dead code.
620 (format:format-work): Allow `@' and `:' in either order, as per
621 modern CL behavior.
622 (format:num->cardinal): Don't assume that an elseless if returns
623 '() when the condition is false.
624
625 1999-04-17 Jim Blandy <jimb@savonarola.red-bean.com>
626
627 * Makefile.in: Regenerated.
628
629 1999-04-08 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
630
631 * boot-9.scm: Provide 'values.
632
633 1999-03-21 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
634
635 * boot-9.scm (process-define-module, use-syntax): Bugfix:
636 :use-syntax should add syntax to using module, not current module.
637 (internal-use-syntax): Removed.
638
639 1999-03-21 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
640
641 * session.scm (apropos-internal): Modified to comply with new
642 argument order for hash-fold.
643
644 1999-03-19 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
645
646 * boot-9.scm (try-load-module): New procedure. Broken out from
647 resolve-module.
648 (resolve-module): Bugfix: Make it possible for a module at a
649 deeper level (x y z) to depend on a module on a higher (x y).
650
651 This also has the desired side-effect that multiple attempts to
652 load a module (e.g. with `use-modules') work until source is
653 actually found for the module (e.g. because the correct catalog
654 has been added to the load path).
655
656 Use try-load-module.
657
658 1999-03-18 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
659
660 * session.scm (system-module): New procedure. Used to switch a
661 module between system and user state.
662
663 1999-03-16 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
664
665 * session.scm (apropos-internal): Rewritten using hash-fold.
666
667 * emacs.scm, session.scm, slib.scm): Added :no-backtrace in module
668 definition.
669
670 1999-03-14 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
671
672 * boot-9.scm (make-record-type): Use `set-struct-vtable-name!' to
673 associate a name to the record type descriptor so that the object
674 system can create a wrapper class for it.
675
676 1999-03-12 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
677
678 Improvement of backtraces: Introduces a new stack narrowing
679 specifier, #t, for the inner cut. If the inner cut is specified
680 by #t, `make-stack' will throw away inner stack frames (most
681 recent calls on call chain) up to but excluding the first user
682 stack frame encountered.
683
684 This specifier is now used in `save-stack' so that the call
685 `(save-stack)' will get the new behaviour. [It is recommended that
686 any error reporting functions written by the user have this call
687 on the outermost expression level (i.e. as a member of the lambda
688 list).]
689
690 Modules are partitioned into "user" and "system" modules. [I know
691 that some names used here are silly, but I don't have more time to
692 spend on a better solution, especially considering that the module
693 system will be replaced. But if people have better ideas, then
694 please tell me!]
695
696 System modules are created by adding :no-backtrace among the
697 define-module switches:
698
699 (define-module (foo)
700 :no-backtrace)
701
702 Modules which doesn't have the :no-backtrace specifier are user
703 modules.
704
705 A stack frame is classified as a user frame if it has source code
706 associated with it and if this source code can be proven to come
707 from a user module. If it can be proven to come from a system
708 module it is a system frame.
709
710 Frames which can't be classified, e.g. application frames, are cut
711 away if they occur between system frames, but are left on the
712 stack if they occur between the last system frame and the first
713 user frame encountered. (Note that the first user frame
714 encountered is the last user code being evaluated!)
715
716 In some cases the system part of the call chain is introduced by
717 frames which should but can't be proven to be system frames. The
718 following workaround has been implemented: The cutting proceeds
719 over application frames where the operator is marked by the
720 `system-procedure' property. (This has been used to cut away
721 generic function dispatch code in the object system.)
722
723 * boot-9.scm (set-system-module!): New procedure: Set system/user
724 status of a module.;
725 Mark `the-root-module' and `the-scm-module' as system modules.
726 (process-define-module): Add new keyword :no-backtrace.
727
728 * boot-9.scm (environment-module): Bugfixed.
729 (set-module-eval-closure!): Add a pointer back from the eval
730 closure to the module.
731
732 * emacs.scm (emacs-load): Reset port filename after transfer.
733
734 1999-03-03 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
735
736 * slib.scm (make-random-state): Added for compatibility.
737
738 1999-02-16 Maciej Stachowiak <mstachow@alum.mit.edu>
739
740 * optargs.scm (lambda*): Handle empty argument lists properly.
741
742 1999-02-15 Jim Blandy <jimb@savonarola.red-bean.com>
743
744 Fix from Russ McManus:
745 * getopt-long.scm (parse-option-spec): Store 'optional as the
746 value-required? field for options that take optional values.
747 (process-short-option): Grab a value for the option when it takes
748 either an optional or required value.
749
750 1999-02-12 Jim Blandy <jimb@savonarola.red-bean.com>
751
752 * getopt-long.scm: Remove debugging calls to `pk'.
753
754 * getopt-long.scm: Return list of ordinary arguments as the value
755 of the '() key, not `rest'.
756
757 A new argument-processing package from Russ McManus.
758 * getopt-long.scm: New file.
759 * Makefile.am (ice9_sources): Added getopt-long.scm.
760 * Makefile.in: Regenerated.
761
762 1999-02-09 Maciej Stachowiak <mstachow@alum.mit.edu>
763
764 * optargs.scm: New file.
765 * Makefile.am (ice9_sources): Add optargs.scm here. Makefile.in
766 not regenerated because I don't have the right version of Automake.
767
768 1999-02-06 Jim Blandy <jimb@zwingli.cygnus.com>
769
770 * and-let*.scm: New file, from Michael Livshin.
771 * Makefile.am (ice9_sources): Add and-let* here.
772 * Makefile.in: Regenerated.
773
774 1999-01-11 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
775
776 * slib.scm (install-require-module): Fixed the kludge which loads
777 the slib catalog: Doesn't anylonger assume that the feature tested
778 for isn't loaded.
779
780 1998-12-14 Jim Blandy <jimb@zwingli.cygnus.com>
781
782 * Makefile.in: Regenerated.
783
784 1998-12-14 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
785
786 * boot-9.scm (process-define-module): Reverted the change of
787 1998-11-23 which caused loading of object code if :use-module was
788 applied to the module itself.
789
790 1998-12-11 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
791
792 * Makefile.am: Removed setf.scm.
793
794 * setf.scm: Removed. 1. It was buggy. 2. It was unschemey.
795 (These shortcomings were my fault.)
796
797 1998-12-10 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
798
799 * boot-9.scm (environment-module): New procedure.
800
801 1998-12-07 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
802
803 * Makefile.am: Added setf.scm.
804
805 1998-12-05 Christian Lynbech <chl@tbit.dk>
806
807 * setf.scm: New file. Adds the new forms `setf!' and `setter'
808 which implements generalized references a la Common LISP.
809
810 1998-12-02 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
811
812 * boot-9.scm (process-define-module): Added new specifier
813 :autoload MODULENAME BINDINGS to the define-module form.
814 The autoload specifier tells the module system to load the module
815 MODULENAME at the first occasion that any variable with its name
816 among BINDINGS is referenced.
817 (make-autoload-interface): New procedure: Constructs a stand-in
818 for the public interface for the module to be autoloaded.
819
820 1998-12-01 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
821
822 * boot-9.scm (*suppress-old-style-hook-warning*): Set this to #t
823 if you don't want the old style hook warnings.
824
825 1998-12-01 Christian Lynbech <chl@tbit.dk>
826
827 * boot-9.scm (try-using-libtool-name): Fix check on dlname to make
828 sure that it isn't empty, as it is when we are only buidling
829 static libraries.
830
831 1998-11-27 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
832
833 * session.scm (arity): New procedure.
834
835 1998-11-26 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
836
837 * boot-9.scm: Use run-hook instead of run-hooks everywhere.
838
839 1998-11-26 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
840
841 * boot-9.scm (run-hooks, add-hook!, remove-hook!): Added temporary
842 code for backward compatibility until people have had time to
843 adapt to the new hooks.
844
845 1998-11-23 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
846
847 * boot-9.scm (beautify-user-module!): Beautify also if public
848 interface is set to the module itself. In this way we can use
849 beautify-user-module! to beautify a module prepared for object
850 code.
851 (process-define-module): Special case: Try to load object code as
852 well if a module does :use-module on itself.
853
854 * boot-9.scm: Bugfix: Since boot-9.scm is now loaded from
855 invoke_main_func, we can no longer be sure that all modules have
856 been registered when boot-9.scm is loaded.
857 (register-modules): New function: Register and tag modules
858 registered by scm_register_module_xxx since last call to this
859 function. Modules are tagged with the dynamic object passed as
860 argument. (Already linked modules should be tagged with #f.)
861 (init-dynamic-module, link-dynamic-module): Call register-modules
862 first to register linked modules.
863
864 * boot-9.scm (init-dynamic-module): Remove module from
865 registered-modules as soon as possible in case we are recursively
866 invoked; Set public interface before doing the dynamic-call.
867
868 * boot-9.scm (map-in-order): Removed (replaced by scm_serial_map).
869 (abort-hook, before-error-hook, after-error-hook,
870 before-backtrace-hook, after-backtrace-hook, before-read-hook,
871 after-read-hook, exit-hook): Make hooks with `make-hook'.
872
873 * boot-9.scm: Make hooks first class citizens and make them easier
874 to use from C:
875 (make-hook, add-hook!, remove-hook!, run-hooks): Moved to
876 libguile/feature.c.
877
878 * boot-9.scm: Added warnings about bindings used in
879 libguile/modules.c: the-module, set-current-module,
880 make-modules-in, beautify-user-module!, module-eval-closure.
881
882 1998-11-21 Mikael Djurfeldt <mdj@kenneth>
883
884 * boot-9.scm (the-environment): New special form: Returns an
885 object representing the current local evaluation environment.
886 This object can be used in `local-eval' and `defined?'.
887
888 1998-11-13 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
889
890 * boot-9.scm (collect): New syntax. Similar to begin but returns
891 a list of the results of all forms in the sequence instead of the
892 result of the last form.
893
894 1998-11-10 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
895
896 * boot-9.scm (values, call-with-values): Moved here from
897 syncase.scm.
898
899 * syncase.scm (values, call-with-values): Moved to boot-9.scm.
900
901 * boot-9.scm (readline-options, readline-enable, readline.disable,
902 readline-set!: New options interface.
903
904 * readline.scm (readline-port): Use readline-options-interface.
905
906 1998-11-05 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
907
908 * boot-9.scm: Set the repl start module in `top-repl' instead of
909 at the end of boot-9.scm.
910
911 1998-11-01 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
912
913 * emacs.scm (format): Bugfix: Handle multiple arguments
914 correctly. (Thanks to Thien-Thi Nguyen.)
915
916 1998-11-01 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
917
918 * boot-9.scm (exit-hook): New hook: Is run at the very end of an
919 interactive session.
920 (top-repl): Run exit-hook on exit.
921
922 * readline.scm (readline-port): Maybe read history; Maybe write
923 history at exit (add to exit-hook).
924
925 Fri Oct 30 15:15:37 1998 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
926
927 * readline.scm (make-readline-port): Bugfixed last change...
928
929 1998-10-28 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
930
931 * readline.scm (make-readline-port): Don't set prompt to "... " if
932 read line was empty.
933
934 1998-10-19 Jim Blandy <jimb@zwingli.cygnus.com>
935
936 * boot-9.scm, debug.scm, expect.scm, hcons.scm, lineio.scm,
937 r4rs.scm, slib.scm, threads.scm: Update copyright years.
938
939 * getopt-gnu-style.scm, slib.scm: Add copyright notice.
940
941 Talked to Stallman. Actually, the syntax-case copyright is no
942 problem. Duh.
943 * Makefile.am (ice9_sources): Revert last change.
944 * syncase.scm, psyntax.pp, psyntax.ss: Added again.
945 * Makefile.in: Regeneretade.
946
947 * boot-9.scm: Don't assume that this file is loaded just before
948 entering a read-eval-print loop. Turn code to load (ice-9 emacs)
949 into...
950 (load-emacs-interface): New function.
951 (top-repl): Call it, if use-emacs-interface is defined and true.
952 At this point, we *do* know we're about to enter a REPL.
953
954 We can't include Kent Dybvig's syntax-case macro expander in the
955 core Guile distribution, because we don't have copyright
956 assignments for this code. We can certainly distribute them as a
957 separate package, but Guile should be FSF code.
958 * syncase.scm, psyntax.pp, psyntax.ss: Removed.
959 * Makefile.am (ice9_sources): Removed syncase.scm, psyntax.pp, and
960 psyntax.ss.
961 * Makefile.in: Regenerated.
962
963 * Makefile.am (ice9_sources): Add getopt-gnu-style.scm.
964 * Makefile.in: Regenerated.
965
966 1998-10-18 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
967
968 * boot-9.scm: Added extended read syntax for byte vectors #y(...)
969 and short vectors #h(...).
970
971 1998-10-14 Jim Blandy <jimb@zwingli.cygnus.com>
972
973 * calling.scm (excursion-function-syntax): Use a sequence of
974 set!'s, not a single multi-variable set!; we removed support for
975 that syntax a long time ago. (Thanks to Shuji Narazaki.)
976
977 1998-10-12 Jim Blandy <jimb@zwingli.cygnus.com>
978
979 * r4rs.scm (OPEN_READ, OPEN_WRITE, OPEN_BOTH): Don't bother
980 testing software-type here. That's the least of our Windows
981 porting issues, and it's done wrong anyway.
982
983 1998-10-09 Jim Blandy <jimb@zwingli.cygnus.com>
984
985 * boot-9.scm (read-path-list-notation-warning): New function:
986 print a warning the first time we see `#/' notation.
987
988 * q.scm (sync-q!, q?, q-remove!, q-push!, enq!): Lots of bugs, and
989 (eq? #f '()) assumptions. Make functions that aren't documented
990 to return anything else return the queue itself. (Bug report from
991 Michael Livshin --- thanks!)
992
993 1998-08-21 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
994
995 * debug.scm (trace-entry, trace-exit): Removed re-enabling of
996 trace flag.
997
998 * boot-9.scm (make-options): Bugfix: Changed pair? --> list? in
999 order to allow the empty list as arg.
1000 (error-catching-loop): Use `with-traps' to create a dynamic
1001 context with traps enabled.
1002
1003 1998-08-19 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1004
1005 * boot-9.scm: Removed (ice-9 regex) from use-list of (guile)
1006 module.
1007 (try-using-libtool-name): Removed dependency on (ice-9 regex).
1008
1009 1998-08-15 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1010
1011 * boot-9.scm: Make the root module use (ice-9 regex) if
1012 available. The dynamic linking facilities in boot-9.scm are
1013 currently dependent upon regular expressions. My change of
1014 1998-07-14 removed (ice-9 regex) from the use-list of the root
1015 module and thereby destroyed dynamic linking.
1016
1017 1998-07-29 Jim Blandy <jimb@zwingli.cygnus.com>
1018
1019 * Makefile.in: Regenerated using the last public version of
1020 automake, not the hacked Cygnus version.
1021
1022 1998-07-28 Jim Blandy <jimb@zwingli.cygnus.com>
1023
1024 * Makefile.in: Regenerated, after removing Totoro kludge.
1025
1026 1998-07-28 Jim Blandy <jimb@totoro.red-bean.com>
1027
1028 * getopt-gnu-style.scm: New file. (Thanks to Russ McManus.)
1029
1030 1998-07-26 Jim Blandy <jimb@zwingli.cygnus.com>
1031
1032 * Makefile.in Rebuilt, for config changes in parent dir.
1033
1034 1998-07-21 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1035
1036 * readline.scm (make-readline-port): Set prompt string to "... "
1037 after first read line. (Thanks to Richard Polton.)
1038
1039 1998-07-19 Jim Blandy <jimb@zwingli.cygnus.com>
1040
1041 * lineio.scm (make-line-buffering-input-port): Don't use
1042 ungetc-char-ready?, since we don't provide that function any
1043 more. The unread-string function doesn't interact properly with
1044 any of the standard I/O functions anyway. (Thanks to Andrew
1045 Archibald.)
1046
1047 * hcons.scm (hashq-cons-assoc): Don't assume the empty list is
1048 false. Return false when we cannot find a matching entry in the
1049 list. (Thanks to Andrew Archibald.)
1050
1051 1998-07-16 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1052
1053 * boot-9.scm (export, export-syntax): New special forms: Export
1054 bindings from a module. `(export name1 name2 ...)' can be used at
1055 the top of a module (after `define-module') to specify which names
1056 should be exported. It can be used as an alternative to
1057 `define-public'. `export-syntax' works equivalently to `export'
1058 but is intended for export of syntactic keywords.
1059 (Thanks to Thien-Thi Nguyen.)
1060
1061 1998-07-15 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1062
1063 * boot-9.scm: Renamed module `(guile-repl)' --> `(guile-user)'.
1064
1065 1998-07-14 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1066
1067 * boot-9.scm: Let the user start in module `(guile-repl)' instead
1068 of module `(guile)'. Also make sure that `(guile-repl)' uses
1069 suitable modules. This change improves Guile stability
1070 substantially since bindings will only be copied from the root
1071 module: If the user redefines builtins in `(guile-repl)' it won't
1072 affect the internal operation of Guile itself.
1073
1074 1998-06-19 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1075
1076 * boot-9.scm (load-module): When loading files from within files
1077 themselves being loaded: Use the directory path of the file being
1078 loaded as root for relative filenames. (After suggestion by
1079 Steven G. Johnson.)
1080
1081 1998-06-15 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1082
1083 * emacs.scm (emacs-load): New feature: Eval in specified module.
1084
1085 1998-06-14 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1086
1087 * readline.scm: Typo in regex module name.
1088
1089 1998-06-13 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1090
1091 * readline.scm (apropos-completion-function): regexp-quote text to
1092 be completed.
1093
1094 1998-06-11 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1095
1096 * debug.scm, emacs.scm: Bugfix: Treat `the-last-stack' as a fluid.
1097
1098 1998-06-09 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1099
1100 * boot-9.scm: Check that (current-input-port) is a tty before
1101 enabling readline. (Thanks to Michael N. Livshin.)
1102
1103 1998-06-07 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1104
1105 * boot-9.scm (use-syntax): Turned into a macro inorder to be
1106 similar in use to `use-modules'.
1107 Example: (use-syntax (ice-9 syncase)) will 1. load the module
1108 (ice-9 syncase), and, 2. install the procedure `syncase' as eval
1109 transformer.
1110 (internal-use-syntax): New procedure.
1111 (process-define-module): Use `internal-use-syntax'.
1112
1113 1998-05-19 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1114
1115 * Makefile.am (ice9_sources): Add emacs.scm.
1116
1117 1998-05-13 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1118
1119 * readline.scm: Use the new readline facilities: Add the
1120 possibility to control input and output ports; Add apropos
1121 completion.
1122
1123 * boot-9.scm: Antirevert Jim's readline code which he reverted
1124 19971027 and adapt it to the current readline interface.
1125
1126 * boot-9.scm (top-repl): Only enable readline if not using the
1127 Emacs interface; Only use repl prompt when using the readline port
1128 from repl-read. (We don't want to see it when calling `read'.)
1129
1130 * boot-9.scm (remove-hook!): Parenthesis bug.
1131
1132 1998-05-11 Mikael Djurfeldt <mdj@kenneth>
1133
1134 * boot-9.scm: Load readline module if readline is present.
1135
1136 * readline.scm (apropos-completion-function): New procedure:
1137 Symbolic completion. (Thanks to Andrew Archibald!)
1138
1139 1998-04-22 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1140
1141 * boot-9.scm (process-define-module): Added keyword use-syntax.
1142
1143 1998-04-19 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1144
1145 * nonblocking.scm: Removed. libguile is now inherently
1146 nonblocking through the use of scm_internal_select.
1147
1148 * emacs.scm: Removed use of nonblocking.scm.
1149
1150 * gwish.scm, gtcl.scm: Removed. tcltk.scm has made these
1151 obsolete.
1152
1153 1998-04-15 Mikael Djurfeldt <mdj@nada.kth.se>
1154
1155 * runq.scm (runq-control): Corrected spelling of enqueue!.
1156 (Thanks to Karl M. Hegbloom.)
1157
1158 1998-03-30 Mikael Djurfeldt <mdj@nada.kth.se>
1159
1160 * boot-9.scm: Added new run-time option interface eval-options.
1161
1162 1998-03-28 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1163
1164 * boot-9.scm (remove-hook!): New macro. (Thanks to Maciej
1165 Stachowiak.)
1166
1167 1998-01-30 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1168
1169 * threads.scm: Added simple error and signal handler.
1170 (make-thread, begin-handler): Use this handler. The most
1171 important effect of this is that signals get unmasked.
1172 Previously, when a signal was thrown signals remained masked
1173 (signals get masked when a signal is taken) which influenced other
1174 threads.
1175
1176 1998-01-01 Tim Pierce <twp@skepsis.com>
1177
1178 A better fix to the SLIB identity problem -- thanks to Marius Vollmer.
1179 * slib.scm (identity): Unmake public.
1180 (slib:eval): Evaluate inside `slib-module'.
1181
1182 1997-12-24 Tim Pierce <twp@skepsis.com>
1183
1184 * boot-9.scm: Doc fix.
1185
1186 * slib.scm (identity): Made public.
1187 (home-vicinity): New function (from SLIB/Template.scm).
1188
1189 1997-12-13 Tim Pierce <twp@skepsis.com>
1190
1191 * boot-9.scm (read-line): Rewritten to call %read-line for
1192 improved speed. Minor user-visible changes: the new functions are
1193 hardwired to treat the LFD character as signifying end-of-line, so
1194 changing `scm-line-incrementors' will no longer affect the
1195 behavior of read-line. On platforms which do not represent
1196 end-of-line with a LFD character, read-line should behave more
1197 like native line-processing facilities, but there is still a ways
1198 to go here.
1199
1200 Sat Nov 29 01:24:46 1997 Mikael Djurfeldt <mdj@kenneth>
1201
1202 * boot-9.scm (error-catching-loop, save-stack): `the-last-stack'
1203 is now a fluid.
1204
1205 1997-11-28 Tim Pierce <twp@skepsis.com>
1206
1207 * boot-9.scm (find-and-link-dynamic-module): If a module directory
1208 contains a .la file (a libtool support file), attempt to extract
1209 the shared library name from that file. If the .la file does not
1210 exist, try to link against a .so file. Libtool-generated compiled
1211 modules should load more cleanly in Guile now.
1212 (try-using-libtool-name, try-using-sharlib-name): New functions.
1213
1214 Sun Nov 9 06:10:59 1997 Gary Houston <ghouston@actrix.gen.nz>
1215
1216 * boot-9.scm (set-batch-mode?!, batch-mode?): initialize more
1217 usefully so they will work from a script.
1218
1219 1997-10-31 Marius Vollmer <mvo@zagadka.ping.de>
1220
1221 * boot-9.scm (inherit-print-state): Moved definition to the
1222 neighborhood of the record code.
1223
1224 Mon Oct 27 02:05:49 1997 Jim Blandy <jimb@totoro.red-bean.com>
1225
1226 * boot-9.scm: Revert changes to this file from Oct 23. It turns
1227 out to interact badly with the Emacs support and the Tcl/Tk
1228 support. It's not a high enough priority at the moment to be
1229 worth fixing. I'm leaving the other readline support in, though.
1230
1231 Sat Oct 25 14:23:22 1997 Jim Blandy <jimb@totoro.red-bean.com>
1232
1233 * Makefile.am: Include readline.scm in the list of files to be
1234 installed, so Guile can find it for interactive use.
1235 * Makefile.in: Regenerated.
1236
1237 Thu Oct 23 01:00:33 1997 Jim Blandy <jimb@totoro.red-bean.com>
1238
1239 Add support for readline function.
1240 * readline.scm: New module.
1241 * boot-9.scm (repl-reader): New function.
1242 (scm-style-repl): Call repl-reader, instead of doing the reading
1243 ourselves. Remove repl-report-reset; it was never used for
1244 anything.
1245 (top-repl): If we've got the readline primitives, then redefine
1246 repl-reader to use them.
1247 If we've got the readline primitives, import the readline module.
1248
1249 * ls.scm (ls, lls): Don't assume (eq? #f '()).
1250
1251 Wed Oct 22 18:26:57 1997 Jim Blandy <jimb@totoro.red-bean.com>
1252
1253 * calling.scm, common-list.scm, ls.scm, q.scm, runq.scm,
1254 string-fun.scm: Added copyright notices; reformatted.
1255
1256 Thu Oct 9 05:44:00 1997 Gary Houston <ghouston@actrix.gen.nz>
1257
1258 * expect.scm: (expect-regexec): new procedure, use it in
1259 expect-strings to fix the => syntax under the new regex system.
1260 (top): include regex module in define-module statement.
1261
1262 Wed Oct 8 03:16:01 1997 Gary Houston <ghouston@actrix.gen.nz>
1263
1264 * (error-catching-loop): new local variable "interactive". if
1265 #f, abort terminates the process.
1266 (set-batch-mode?!, batch-mode?): new closures, defined in
1267 error-catching-loop. the names are from scsh.
1268
1269 1997-10-06 Marius Vollmer <mvo@zagadka.ping.de>
1270
1271 * boot-9.scm (inherit-print-state): If NEW-PORT contains a
1272 print-state, throw it away.
1273
1274 Fri Oct 3 12:00:00 Mikael Djurfeldt <mdj@nada.kth.se>
1275
1276 * boot-9.scm (struct-layout): Use `vtable-index-layout' instead of
1277 `0'.
1278
1279 Thu Oct 2 12:00:00 Mikael Djurfeldt <mdj@nada.kth.se>
1280
1281 * boot-9.scm (struct-printer, make-struct-printer,
1282 set-struct-printer-in-vtable!, *struct-printer*): Removed.
1283 (record-type-vtable, make-record-type): Don't use make-struct-printer.
1284 (record-type-vtable): User fields "prpr" (printer is no longer a
1285 user field).
1286 (record-type-name, record-type-fields): Decreased slot index by
1287 one; Use `vtable-offset-user'.
1288
1289 Thu Oct 2 12:00:00 Marius Vollmer <mvo@zagadka.ping.de>
1290
1291 * boot-9.scm (inherit-print-state): New experimental function.
1292
1293 Tue Sep 30 13:12:48 1997 Jim Blandy <jimb@totoro.red-bean.com>
1294
1295 Suggestion and script from Maciej Stachowiak:
1296 * boot-9.scm: Split off modules into separate, autoloadable files.
1297 This reduces startup time from 10.5s to 5.5s (user cpu).
1298 * calling.scm, common-list.scm, ls.scm, q.scm, runq.scm,
1299 string-fun.scm: New files, containing stuff that used to be in
1300 boot-9.scm.
1301 * Makefile.am (ice9_sources): List new files here, for
1302 distribution and installation.
1303 * Makefile.in: Regenerated.
1304
1305 Mon Sep 29 23:53:55 1997 Jim Blandy <jimb@totoro.red-bean.com>
1306
1307 * Makefile.in: Regenerated with automake 1.2c.
1308
1309 Mon Sep 29 03:21:24 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1310
1311 * slib.scm (slib:load): slib:load first tries to load the file
1312 named NAME, then NAME.scm. On error, report the error occuring at
1313 the first attempt (NAME) rather than the second (NAME.scm).
1314
1315 * boot-9.scm: Bugfix: Hard-solder the print-option procedure into
1316 the make-options macro so that we needn't refer to a global
1317 symbol.
1318
1319 Sun Sep 28 21:40:24 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1320
1321 * debug.scm: Moved options interface procedures to boot-9.scm.
1322
1323 * boot-9.scm: Define options interface procedures here instead.
1324
1325 Sat Sep 27 20:19:20 1997 Jim Blandy <jimb@totoro.red-bean.com>
1326
1327 * boot-9.scm (separate-fields-discarding-char,
1328 separate-fields-after-char, separate-fields-before-char): Call
1329 continuation function, RET, as advertised: with each separated
1330 field a separate argument.
1331
1332 * Makefile.in: Regenerated with automake 1.2a.
1333
1334 Sat Sep 20 14:23:53 1997 Mikael Djurfeldt <mdj@kenneth>
1335
1336 * slib.scm (slib:load): Export.
1337
1338 * boot-9.scm (in-vicinity): Bugfix: Don't add "/" to an empty
1339 vicinity;
1340 Provide defmacro.
1341
1342 Thu Sep 18 01:24:31 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1343
1344 * r4rs.scm (apply): Set name property to 'apply.
1345
1346 Tue Sep 16 22:09:50 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1347
1348 * boot-9.scm (keyword->symbol, display-usage-report): Changed
1349 length --> string-length. (Thanks to Aleksandar Bakic.)
1350 (separate-fields-discarding-char, separate-fields-after-char,
1351 separate-fields-before-char): Bugfix from Maciej Stachowiak
1352 <mstachow@mit.edu>. Thanks!
1353 (try-module-linked): Try to find module among those already
1354 registered.
1355 (try-module-dynamic-link): Removed the first test which
1356 corresponds to a call to `try-module-linked'.
1357 (resolve-module): Resolve modules in this order: 1. Already
1358 registered modules (for example those which have been statically
1359 linked), 2. Try to autoload an .scm-file, 3. Try to dynamically
1360 link a .so-file.
1361
1362 Mon Sep 15 23:39:54 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1363
1364 * boot-9.scm (iota): Renamed list-reverse! --> reverse!
1365
1366 Thu Sep 11 02:31:38 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1367
1368 * session.scm (name): New procedure: Gives name of object.
1369 (source): New procedure: Gives source of object.
1370
1371 Wed Sep 10 20:12:45 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1372
1373 * boot-9.scm (primitive-macro?): New procedure.
1374
1375 * slib.scm: Added hack which transfers syntactic information from
1376 the builtin variable `define' to the slib version if module (ice-9
1377 syncase) has been loaded. This is necessary to get correct
1378 expansion inside the slib module.
1379
1380 * psyntax.ss (build-let, build-named-let): New output
1381 constructors.
1382 (build-lexical-var): Seed gensym with symbolic name.
1383 (self-evaluating?): Add keywords among self-evaluating types.
1384 (let): New core form.
1385 (if): Removed from core language.
1386 (or, and, let, cond): Removed syntactic definitions.
1387 (sc-expand3): New procedure: Expander which takes optional mode
1388 and eval-syntactic-expanders-when arguments.
1389
1390 * syncase.scm (psyncomp): New procedure: Recompiles psyntax.pp.
1391 Should be used inside the (ice-9 syncase) module with (use-syntax
1392 syncase) and with the current directory containing the psyntax.ss
1393 source.
1394 Added hack to transfer syntactic information from the builtin
1395 variable `define' to the slib version if module (ice-9 slib) has
1396 been loaded.
1397
1398 Fri Sep 5 05:47:36 1997 Mikael Djurfeldt <mdj@faun.nada.kth.se>
1399
1400 * syncase.scm (sc-interface, sc-expand): Removed hook setup.
1401 (syncase): Publish syntax transformer to be used with
1402 `use-syntax'.
1403 (sc-macro): Use this as the value when publishing macros.
1404
1405 * boot-9.scm (module-type): Added `transformer'.
1406 (make-module): Modified initialization.
1407 (module-transformer, set-module-transformer!): Selector and
1408 mutator for module-associated transformer.
1409 (set-current-module): Use module-transformer to set
1410 `scm:eval-transformer'.
1411 (module-use!): Previous change reverted.
1412 (use-syntax): New function: Install a transformer in current
1413 module.
1414 (sc-interface, sc-expand): Removed! :)
1415
1416 Fri Sep 5 03:09:09 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1417
1418 * emacs.scm (emacs-load): Added new parameter `module'.
1419
1420 * syncase.scm (putprop, getprop): Modified to use the object
1421 properties of the variable object corresponding to the symbol;
1422 This way we can ride on the mechanisms of the module system.
1423 Changed `builtin-variable' calls to `define-public' calls.
1424 Setup the hooks sc-expand and sc-interface.
1425
1426 * boot-9.scm (sc-interface, sc-expand): New builtin variables.
1427 (set-current-module): Switch to and from sc-expand as
1428 scm:eval-transformer when going into and out of modules using
1429 syncase macros.
1430 (module-use!): Set scm:eval-transformer to sc-expand when adding
1431 the syncase interface.
1432
1433 Thu Sep 4 14:57:04 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1434
1435 * syncase.scm (putprop): Temporary fix which publishes new syntax
1436 globally (the old behaviour was complex and connected to the inner
1437 workings of the current module system).
1438
1439 Wed Sep 3 21:29:13 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1440
1441 * psyntax.ss: Updated.
1442 psyntax.pp: Bugfix: Previous version had some leading "t":s cut
1443 off!
1444
1445 Tue Sep 2 00:26:42 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1446
1447 * boot-9.scm (gensym): Removed (replaced by primitive).
1448 (obarray-gensym): Rewritten to use `gensym'.
1449 (gentemp): Rewritten to use `gensym'.
1450
1451 Mon Sep 1 20:08:32 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1452
1453 * gtcl.scm (make-tcl-binder): Rewritten to choose bindings
1454 according to the following priorities:
1455 1. tcl bindings which are present in override-scheme-list
1456 2. bindings from the-scm-module
1457 3. tcl bindings
1458 This way the gtcl module can occur first in the use-list without
1459 disabling the scheme interpreter.
1460 (new-interpreter): New function.
1461
1462 * gwish.scm: Moved initialization code for the-interpreter to
1463 gtcl.scm; Moved name space cleaning code to gtcl.scm and rewrote
1464 it; Call `new-interpreter'; Don't :use-module (guile).
1465
1466 Thu Aug 28 23:48:53 1997 Jim Blandy <jimb@totoro.red-bean.com>
1467
1468 * Makefile.in: Regenerated.
1469
1470 Wed Aug 27 11:35:09 1997 Jim Blandy <jimb@totoro.red-bean.com>
1471
1472 * Makefile.in: Regenerated, so it uses "tar", not "gtar".
1473
1474 Mon Aug 25 22:00:44 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1475
1476 * emacs.scm (object->string, format, error-args->string): New
1477 procedures.
1478 (emacs-frame-eval): Reworked.
1479
1480 Mon Aug 25 16:15:55 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1481
1482 * session.scm (apropos-internal): Musn't initialize symbol
1483 accumulator with a constant pair. That led to mutation of the
1484 source!
1485
1486 Sun Aug 24 01:03:10 1997 Mikael Djurfeldt <mdj@kenneth>
1487
1488 * session.scm (vector-for-each): Removed.
1489 (apropos): vector-for-each --> array-for-each.
1490 (apropos-internal): New function. Return list of accessible
1491 symbols matching regexp.
1492
1493 * debug.scm (frame-number->index): New function. Convert frame
1494 number (as displayed in the backtrace) to frame index (to be used
1495 in stack-ref).
1496
1497 * emacs.scm (emacs-load): New arguments: interactivep: when
1498 non-false, send back results to Emacs; colnum: Column number;
1499 Use modules (ice-9 debug) and (ice-9 session);
1500 (no-stack, no-source): New simple-actions;
1501 (result-to-emacs): New procedure. Sends data to Emacs via the
1502 result protocol;
1503 (get-frame-source, emacs-select-frame, emacs-frame-eval,
1504 emacs-symdoc): New procedures.
1505
1506 Wed Aug 20 13:21:11 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1507
1508 * emacs.scm (emacs-load): Adjust stack narrowing.
1509 (whitespace-chars): Include #\np.
1510
1511 * syncase.scm: Also turn off debugging evaluator and recording of
1512 procedure names during loading of psyntax.pp.
1513
1514 * psyntax.pp: Removed leading blanks => 800K -> 100K.
1515
1516 Tue Aug 19 02:39:41 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1517
1518 * syncase.scm: Don't tamper with debug mode setting when enabling
1519 macros. Instead cut the stack with start-stack.
1520 Load psyntax.pp with recording of positions turned off.
1521
1522 * psyntax.pp, psyntax.ss (quasiquote): Changed fx= --> =.
1523
1524 * syncase.scm: New file: Guile-adaption for syntax-case macros.
1525 * psyntax.pp, psyntax.ss: Syntax-case macros, portable version 2 by
1526 R. Kent Dybvig, Oscar Waddell, Bob Hieb and Carl Bruggeman
1527
1528 Mon Aug 18 21:58:25 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1529
1530 * session.scm: New file: Session support.
1531 (apropos): New procedure: List bindings given regexp.
1532
1533 Sat Aug 16 18:44:24 1997 Gary Houston <ghouston@actrix.gen.nz>
1534
1535 * boot-9.scm: define tms accessors: clock, utime, stime, cutime,
1536 cstime.
1537
1538 Thu Aug 14 19:55:37 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1539
1540 * emacs.scm (emacs-load): Something has changed in the reader so
1541 that we now should set the port line count to the specified value
1542 (linum) instead of (- linum 1).
1543
1544 * slib.scm (slib:load): Use load-from-path instead of
1545 primitive-load-path so that backtraces get narrowed properly at
1546 the top.
1547
1548 * boot-9.scm (top-repl): Save stack already in signal handler in
1549 order to narrow it correctly.
1550 (save-stack): Adjust narrowing tag for the top of load-stacks.
1551
1552 Tue Jul 29 01:18:08 1997 Gary Houston <ghouston@actrix.gen.nz>
1553
1554 * boot-9.scm (move->fdes, dup->port): use dup->fdes, not primitive-dup.
1555 (dup->fdes): deleted, now done in C.
1556
1557 Sat Jul 26 08:00:42 1997 Gary Houston <ghouston@actrix.gen.nz>
1558
1559 * boot-9.scm (setenv): new procedure, scsh compatible.
1560
1561 Sat Jul 26 21:30:10 1997 Marius Vollmer <mvo@zagadka.ping.de>
1562
1563 * boot-9.scm (with-fluids): New macro to go with the
1564 builtin `with-fluids*'.
1565
1566 Thu Jul 24 04:28:11 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1567
1568 * slib.scm (install-require-module): In newer versions of slib
1569 *catalog* is #f until the first access. Therefore we call
1570 require:provided? for a random feature if *catalog* is #f.
1571
1572 Wed Jul 23 20:13:04 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1573
1574 * boot-9.scm: If using emacs interface, enable backtraces
1575 automatically.
1576
1577 Mon Jul 21 06:45:45 1997 Gary Houston <ghouston@actrix.gen.nz>
1578
1579 * boot-9.scm (dup->port, dup->inport, dup->outport, dup->fdes,
1580 dup, fdes->inport, fdes->outport, port->fdes): new procedures.
1581 (duplicate-port): was a C primitive, now it's here.
1582 (move->fdes): allow the first argument to be a file descriptor.
1583 Return the modified port or file descriptor (was unspecified.)
1584
1585 Fri Jul 11 00:13:43 1997 Jim Blandy <jimb@floss.red-bean.com>
1586
1587 Changes to compile under gnu-win32, from Marcus Daniels:
1588 * boot-9.scm (load-user-init): If HOME is unset, provide
1589 a default of /.
1590
1591 * boot-9.scm (define-public): Changed to accomodate Hobbit.
1592
1593 Tue Jun 24 00:31:47 1997 Jim Blandy <jimb@floss.red-bean.com>
1594
1595 * boot-9.scm, debug.scm, hcons.scm, lineio.scm, mapping.scm,
1596 poe.scm, slib.scm, tags.scm, threads.scm: Use normal list
1597 notation, instead of #/ notation.
1598
1599 * expect.scm (expect-strings): Pass regexp/newline flag to
1600 make-regexp.
1601
1602 Mon Jun 23 16:13:38 1997 Jim Blandy <jimb@floss.red-bean.com>
1603
1604 Fix inconsistencies in parsing of #/ style lists.
1605 * boot-9.scm (read-path-list-notation): New function.
1606 (parse-path-symbol): Deleted. Replaced by above.
1607 Plug in read-path-list-notation as the parser for #/ lists,
1608 instead of the anonymous lambda form calling parse-path-symbol.
1609 (Thanks to Maurizio Vitale.)
1610
1611 * boot-9.scm (make-list): Remove the definition of this function
1612 from the (ice-9 common-list) module; make the `init' argument
1613 optional in the scm module's definition, to match the deleted
1614 definition. Harmony reigneth? (Thanks to Bernard URBAN.)
1615
1616 Sun Jun 22 18:33:17 1997 Jim Blandy <jimb@floss.red-bean.com>
1617
1618 Try to detect when people are using one version of libguile and a
1619 different version of ice-9. People have been skewing things and
1620 sending in bug reports.
1621 * version.scm.in: New file, which the configure script munges to
1622 produce version.scm, which contains the ice-9 config stamp.
1623 * boot-9.scm: Compare the libguile and ice-9 config stamps;
1624 display a warning if the two are different.
1625 * Makefile.am: Install version.scm, but don't distribute it.
1626 Distribute version.scm.in, but don't install it.
1627 * Makefile.in: Regenerated.
1628
1629 Thu Jun 19 21:01:16 1997 Jim Blandy <jimb@floss.red-bean.com>
1630
1631 * slib.scm (slib:warn): Alias for WARN function.
1632
1633 Fri Jun 13 00:32:04 1997 Jim Blandy <jimb@floss.red-bean.com>
1634
1635 * boot-9.scm (struct-printer): Fix off-by-one error in range
1636 check. Correctly check for struct printer tag.
1637
1638 * expect.scm: Turn this into a module, (ice-9 expect).
1639 (expect-port, expect-timeout, expect-timeout-proc,
1640 expect-eof-proc, expect-char-proc, expect, expect-strings,
1641 expect-select): Make these public definitions.
1642 (expect-strings): Use make-regexp and regexp-exec, instead of
1643 regcomp and regexec. We've omitted the REG_NEWLINE flag; hope
1644 that's okay.
1645
1646 * boot-9.scm (with-regexp-parts): Comment this out. It has no
1647 users in the core, and relies on mildly hairy details of the old
1648 regexp interface.
1649
1650 * test.scm: Re-enable tests asserting that '() is true, and not a
1651 boolean. This stuff has been true for a while.
1652
1653 * boot-9.scm (ipow-by-squaring, butlast): Fix uses of outdated
1654 function names.
1655
1656 * boot-9.scm (with-excursion-getter-and-setter, q-rear): Doc
1657 fixes.
1658
1659 Wed Jun 11 00:31:40 1997 Jim Blandy <jimb@floss.red-bean.com>
1660
1661 * Makefile.in: Regenerated after xtra_PLUGIN_guile_libs change in
1662 ../configure.in.
1663
1664 Fri Jun 6 14:37:18 1997 Marius Vollmer <mvo@zagadka.ping.de>
1665
1666 * boot-9.scm (struct-printer): Bugfix: Check the layout of the
1667 vtable and not the one of the struct.
1668
1669 Wed Jun 4 23:27:16 1997 Marius Vollmer <mvo@zagadka.ping.de>
1670
1671 * boot-9.scm (struct-layout, %struct-printer-tag, struct-printer,
1672 make-struct-printer, set-struct-printer-in-vtable!): New bindings
1673 to support printing of structures.
1674 (record-type-vtable, make-record-type): Add slot to hold printing
1675 function and initialize it with something appropriate. Removed
1676 commented out printing code.
1677 (record-type-name, record-type-fields): Adjusted slot offsets.
1678 (%print-module): Reduce argument list to "mod" and "port".
1679
1680 Tue Jun 3 17:04:18 1997 Jim Blandy <jimb@totoro.cyclic.com>
1681
1682 * slib.scm (identity): New function, used by SLIB.
1683
1684 Sat May 31 18:57:12 1997 Gary Houston <ghouston@actrix.gen.nz>
1685
1686 * boot-9.scm: signal-handler, alarm-thunk: removed.
1687 don't define ticks-interrupt etc.
1688 top-repl: install signal handlers for SIGINT, SIGFPE, SIGSEGV, SIGBUS
1689 during call to scm-style-repl.
1690
1691 Fri May 30 18:08:10 1997 Jim Blandy <jimb@floss.cyclic.com>
1692
1693 * slib.scm (slib:load): Use primitive-load-path instead of
1694 basic-load. This is probably wrong, but hopefully the entire
1695 source access system will be revised soon anyway, and this will
1696 make require behave more like Emacs Lisp's require. If this
1697 breaks something, please let me know. Maybe this is real dumb.
1698
1699 Thu May 29 02:36:48 1997 Jim Blandy <jimb@floss.cyclic.com>
1700
1701 * regex.scm: Add a module declaration. Use DEFINE-PUBLIC everywhere.
1702 * boot-9.scm: If the `regex' feature is present, use the module
1703 (ice-9 regex).
1704
1705 Tue May 27 22:48:14 1997 Tim Pierce <twp@twp.tezcat.com>
1706
1707 * regex.scm: New file.
1708 * Makefile.am (subpkgdata_DATA): Add regex.scm.
1709 * Makefile.in: Regenerated.
1710
1711 Mon May 26 17:24:48 1997 Jim Blandy <jimb@totoro.cyclic.com>
1712
1713 * COPYING, boot-9.scm, debug.scm, emacs.scm, expect.scm, gtcl.scm,
1714 gwish.scm, hcons.scm, lineio.scm, mapping.scm, nonblocking.scm,
1715 oldprint.scm, poe.scm, r4rs.scm, source.scm, tags.scm, test.scm,
1716 threads.scm: New address for FSF.
1717
1718 Fri May 16 04:09:45 1997 Jim Blandy <jimb@floss.cyclic.com>
1719
1720 * debug.scm: Update copyright years; this file has been worked on
1721 in 1997.
1722
1723 Thu May 15 07:56:08 1997 Gary Houston <ghouston@actrix.gen.nz>
1724
1725 * expect.scm: use gettimeofday instead of get-internal-real-time
1726 and use a floating point timeout when calling select. Untested,
1727 since the regex library is currently AWOL.
1728
1729 Wed May 14 21:00:30 1997 Jim Blandy <jimb@floss.cyclic.com>
1730
1731 * boot-9.scm (eval-string): Function deleted; it was already
1732 implemented in C, so there's no point in making a divergable copy
1733 here.
1734
1735 Tue May 13 16:40:06 1997 Jim Blandy <jimb@floss.cyclic.com>
1736
1737 * Makefile.in: Regenerated, using automake-1.1p.
1738
1739 Tue May 13 16:40:06 1997 Jim Blandy <jimb@floss.cyclic.com>
1740
1741 * Makefile.in: Regenerated, using automake-1.1p.
1742
1743 Tue May 13 02:48:49 1997 Gary Houston <ghouston@actrix.gen.nz>
1744
1745 * boot-9.scm (error-catching-loop): don't read a line from
1746 current input when quit is encountered, the previous change
1747 fixes this too.
1748
1749 Mon May 12 19:00:21 1997 Jim Blandy <jimb@floss.cyclic.com>
1750
1751 * boot-9.scm (scm-style-repl): After reading an expression,
1752 consume any trailing newline (perhaps preceded by whitespace), to
1753 avoid screwing up GDB. More detail in comments.
1754
1755 Mon May 5 13:18:38 1997 Jim Blandy <jimb@floss.cyclic.com>
1756
1757 * Makefile.am (ETAGS_ARGS): New variable, since we're not treating
1758 the Scheme code like code yet.
1759 * Makefile.in: Resrac,husrched.
1760
1761 Wed Apr 30 15:25:15 1997 Marius Vollmer <mvo@zagadka.ping.de>
1762
1763 * boot-9.scm (link-dynamic-module): Do not catch errors from
1764 dynamic-link and dynamic-call. When the shared library exists it
1765 is now assumed to be suitable for a dynamic C module.
1766
1767 Fri Apr 25 21:21:35 1997 Marius Vollmer <mvo@zagadka.ping.de>
1768
1769 * boot-9.scm (process-use-modules): New function to support the
1770 use-modules macro
1771 (use-modules): throw an error iff one of the requested modules
1772 can't be found.
1773
1774 Tue Apr 29 06:54:46 1997 Gary Houston <ghouston@actrix.gen.nz>
1775
1776 * boot-9.scm: don't define timer-thunk or gc-thunk.
1777
1778 Sun Apr 27 17:56:09 1997 Jim Blandy <jimb@floss.cyclic.com>
1779
1780 * aclocal.m4: Removed; unnecessary, given changes of Apr 24.
1781
1782 * Makefile.am (subpkgdatadir): Use "ice-9" instead of "@module@";
1783 we're not using AM_INIT_GUILE_MODULE any more.
1784 * Makefile.in: Regeneratitetedrerd.
1785
1786 Thu Apr 24 01:33:33 1997 Jim Blandy <jimb@floss.cyclic.com>
1787
1788 Get 'make dist' to work again.
1789 * Makefile.am (EXTRA_DIST): Remove PLUGIN files.
1790 * Makefile.in: Regenerated, like two tons of fleas.
1791
1792 Changes for reduced Guile distribution: one configure script,
1793 no plugins.
1794 * configure.in, configure: Removed.
1795 * Makefile.in: Regenerated.
1796
1797 Sat Apr 19 08:03:50 1997 Jim Blandy <jimb@floss.cyclic.com>
1798
1799 * boot-9.scm (eval-string, command-line, load-user-init): New
1800 functions.
1801
1802 Sat Apr 12 08:27:05 1997 Gary Houston <ghouston@actrix.gen.nz>
1803
1804 * boot-9.scm (log10): defined.
1805
1806 Tue Apr 1 17:46:49 1997 Gary Houston <ghouston@actrix.gen.nz>
1807
1808 * expect.scm (expect-select): correct the millisecond timeout
1809 arithmetic (from Marko.Kohtala@ntc.nokia.com).
1810
1811 Mon Mar 31 03:23:19 1997 Gary Houston <ghouston@actrix.gen.nz>
1812
1813 * boot-9.scm (open-input-pipe, open-output-pipe): defined here
1814 instead of in libguile.
1815 (tm:sec etc.) new accessors for broken-down time.
1816 (set-tm:sec etc.) new setters for broken-down time.
1817
1818 Thu Mar 27 05:06:00 1997 Gary Houston <ghouston@actrix.gen.nz>
1819
1820 * boot-9.scm (netent:addrtype, servent:port): added missing
1821 procedures.
1822 (netent:net, servent:proto): repaired.
1823 (utsname:sysname etc.): new accessors for uname.
1824
1825 Tue Mar 25 03:04:03 1997 Gary Houston <ghouston@actrix.gen.nz>
1826
1827 * boot-9.scm (sockaddr:fam, sockaddr:path, sockaddr:addr,
1828 sockaddr:port): new functions.
1829
1830 Wed Mar 19 04:50:34 1997 Gary Houston <ghouston@actrix.gen.nz>
1831
1832 * boot-9.scm: define accessor procedures for the objects returned
1833 by getpw, getgr, gethost, getnet, getproto, getserv (e.g.,
1834 passwd:name, where the first component is the name of the C structure
1835 and the second is the unprefixed C member name.)
1836
1837 Tue Mar 18 18:39:31 1997 Gary Houston <ghouston@actrix.gen.nz>
1838
1839 * boot-9.scm (setpwent, setgrent, sethostent, setnetent, setprotoent,
1840 setservent): no longer take an argument, it was bogus.
1841
1842 Thu Mar 13 00:13:41 1997 Gary Houston <ghouston@actrix.gen.nz>
1843
1844 * boot-9.scm (scm-error): deleted, reimplemented in C.
1845
1846 Mon Mar 10 15:48:31 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1847
1848 * boot-9.scm (process-define-module): Modified to handle both
1849 keywords and symbols.
1850
1851 Sat Mar 8 04:32:44 1997 Gary Houston <ghouston@actrix.gen.nz>
1852
1853 * slib.scm: update read usage.
1854
1855 * r4rs.scm: update primitive-load usage.
1856 Don't define read-sharp.
1857
1858 * boot-9.scm: use read-hash-extend to install extra read syntax.
1859 (read-sharp): removed.
1860 Adjust usage of primitive-load-path, read, which no longer take
1861 case_i or read-sharp arguments.
1862
1863 Sat Mar 8 00:07:54 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1864
1865 * boot-9.scm: Added loading of session support module.
1866
1867 * debug.scm: Removed `display-application'. (Replaced by
1868 primitive procedure.)
1869
1870 * boot-9.scm (beautify-user-module!): Don't add the root module
1871 interface to the end of the use-list of the root module.
1872
1873 Thu Mar 6 07:26:34 1997 Gary Houston <ghouston@actrix.gen.nz>
1874
1875 * boot-9.scm: repl-quit, repl-abort: obsolete variables deleted.
1876
1877 Wed Mar 5 20:30:24 1997 Gary Houston <ghouston@actrix.gen.nz>
1878
1879 * boot-9.scm: check use-emacs-interface for emacs support.
1880
1881 Sun Mar 2 19:47:14 1997 Gary Houston <ghouston@actrix.gen.nz>
1882
1883 * boot-9.scm (scm-style-repl): call repl-report-start-timing if
1884 read gets EOF.
1885 * (exit): alias for quit.
1886
1887 Sun Mar 2 05:25:11 1997 Gary Houston <ghouston@actrix.gen.nz>
1888
1889 * boot-9.scm (error-catching-loop thunk): use a status variable to
1890 return the quit args.
1891 (scm-style-repl): call -quit, passing return value from
1892 error-catching-repl. Make -quit return its args.
1893 stand-alone-repl: comment out, since it seems unused.
1894
1895 (error-catching-loop thunk): discard trailing junk after a (quit).
1896
1897 Sat Mar 1 15:24:39 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1898
1899 * boot-9.scm: Removed the old printer code.
1900
1901 * r4rs.scm (apply, call-with-current-continuation): Added comment
1902 explaining why apply and call/cc need to be closures.
1903
1904 * boot-9.scm (apply, call-with-current-continuation): Bugfix:
1905 Removed. These definitions are already present in r4rs.scm.
1906
1907 * debug.scm (trace-entry, trace-exit): Check that we're on a repl
1908 stack before printing traced frames; Re-enable trace flag at end
1909 of handlers.
1910
1911 Sat Mar 1 00:10:38 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1912
1913 * debug.scm: Add hook for reset of trace level at abort.
1914
1915 * boot-9.scm (run-hooks): New procedure.
1916 (add-hooks!): New macro.
1917 Change hooks to use these functions.
1918
1919 * debug.scm: *Warning* This feature is a bit premature. I add
1920 it anyway because 1. it is very useful, and, 2. you can start
1921 making it less premature by complaining to me and by modifying
1922 the source! :-)
1923 (trace): Given one or more procedure objects, trace each one.
1924 Given no arguments, show all traced procedures.
1925 (untrace): Given one or more procedure objects, untrace each one.
1926 Given no arguments, untrace all traced procedures. The tracing in
1927 Guile have an advantage to most other systems: We don't create new
1928 procedure objects, but mark the procedure objects themselves.
1929 This means that also anonymous and internal procedures can be
1930 traced.
1931
1932 * boot-9.scm (error-catching-loop): Added handling of apply-frame
1933 and exit-frame exceptions.
1934
1935 * boot-9.scm (assert-repl-prompt, the-prompt-string): Removed.
1936 (set-repl-prompt!): Setter for repl prompt.
1937 (scm-style-repl): If prompt is #f, don't prompt; if prompt is a
1938 string, display it; if prompt is a thunk, call it and display its
1939 result; otherwise display "> ".
1940 (Change suggested by Roland Orre <orre@nada.kth.se>.)
1941
1942 * r4rs.scm (%load-verbosely): Reverted change to
1943 `module-defined?', since the module system isn't bootstrapped when
1944 we load r4rs.scm. This is just a temporary fix to make the
1945 repository version runnable.
1946
1947 Thu Feb 27 23:25:47 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1948
1949 * boot-9.scm: Removed the enabling of debug evaluator and
1950 recording of source code positions. This was placed there for our
1951 convenience, but it has already sneaked into the distribution
1952 once... so we'd better add this in our local copies instead when
1953 we need it. (These options are normally enabled at the end of
1954 boot-9.scm when loading the debug module.)
1955
1956 Thu Feb 27 16:04:45 1997 Marius Vollmer <mvo@zagadka.ping.de>
1957
1958 * boot-9.scm (module-defined?): New function.
1959 (macroexpand-1, macroexpand): Use local-ref instead of defined?
1960 and eval.
1961 * r4rs.scm (%load-verbosely): Use "module-defined?" instead of
1962 "defined?".
1963 * slib.scm (defined?): New function to take the place of the
1964 builtin "defined?". It allways examines the slib module.
1965
1966 Mon Feb 24 21:46:15 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1967
1968 * configure.in: Added AM_MAINTAINER_MODE
1969
1970 Sat Feb 15 04:51:20 1997 Gary Houston <ghouston@actrix.gen.nz>
1971
1972 * boot-9.scm (read-sharp): define directly, don't go through a
1973 %read-sharp layer.
1974
1975 Tue Feb 11 08:45:48 1997 Gary Houston <ghouston@actrix.gen.nz>
1976
1977 * boot-9.scm (uniform-vector-set!): use uniform-array-set1!, not
1978 uniform-vector-set1! which doesn't exist.
1979
1980 Mon Feb 10 03:01:48 1997 Mikael Djurfeldt <mdj@kenneth>
1981
1982 * boot-9.scm (backtrace): Removed. (A C version now exists in
1983 backtrace.c.)
1984
1985 Fri Jan 24 06:05:36 1997 Gary Houston <ghouston@actrix.gen.nz>
1986
1987 * boot-9.scm (read-line!, read-delimited!, read-delimited,
1988 read-line): new procedures, see libguile/ChangeLog.
1989
1990 Thu Jan 16 17:07:03 1997 Marius Vollmer <mvo@zagadka.ping.de>
1991
1992 Added dynamic linking of modules. See libguile/DYNAMIC-LINKING.
1993
1994 * boot-9.scm (split-c-module-name, convert-c-registered-modules,
1995 init-dynamic-module, dynamic-maybe-call,
1996 find-and-link-dynamic-module, link-dynamic-module,
1997 try-module-dynamic-link, registered-modules): New definitions for
1998 dynamic linking of modules.
1999 (resolve-module): Try to dynamically link the requested module
2000 after failing to load it as Scheme code.
2001
2002 Wed Jan 8 05:50:14 1997 Gary Houston <ghouston@actrix.gen.nz>
2003
2004 * boot-9.scm (getservbyport, getservbyname): remove stray %.
2005
2006 Tue Jan 7 20:02:24 1997 Jim Blandy <jimb@floss.cyclic.com>
2007
2008 * boot-9.scm (and=>): Rename THUNK argument to PROCEDURE, 'cos
2009 that's what it is.
2010
2011 * lineio.scm (make-line-buffering-input-port): Properly test for
2012 the case of an empty buffer list. The old code assumed that '()
2013 was false.
2014
2015 Mon Jan 6 01:13:53 1997 Mikael Djurfeldt <mdj@kenneth>
2016
2017 * boot-9.scm (use-modules): New macro (from Marius Vollmer).
2018 (use-modules <module name> ...) Put the the modules named by
2019 <module name> ... on the use list of the current module.
2020
2021 Sun Jan 5 15:52:59 1997 Jim Blandy <jimb@floss.cyclic.com>
2022
2023 * boot-9.scm (error-catching-loop): Remove message saying that
2024 typing "$" will put you in the debugger. This isn't implemented
2025 yet.
2026
2027 Sun Dec 22 23:27:25 1996 Jim Blandy <jimb@floss.cyclic.com>
2028
2029 * boot-9.scm (delq-all!): Function deleted; delq!'s semantics have
2030 been fixed, so this function is superfluous.
2031 (transform-usage-lambda): Use delq!, not delq-all!.
2032
2033 Tue Dec 17 20:36:45 1996 Marius Vollmer <mvo@zagadka.ping.de>
2034
2035 * boot-9.scm (resolve-module): New optional parameter that
2036 controls whether autoloading is attempted or not. Default is #t.
2037 (process-define-module): Don't autoload the defined module.
2038 (try-module-autoload): Don't autoload the directory modules.
2039
2040 * boot-9.scm (process-define-module): Ensure that the-scm-module
2041 is last in the `uses' list to allow shadowing builtin
2042 bindings. All :use-module options are added in the order they
2043 appear in the arguments but before anything already on the list
2044 (such as the-scm-module).
2045
2046 Wed Dec 11 21:06:05 1996 Gary Houston <ghouston@actrix.gen.nz>
2047
2048 * slib.scm (slib-parent-dir): throw error if #f returned from
2049 %search-load-path.
2050
2051 Sat Nov 30 23:57:28 1996 Tom Tromey <tromey@cygnus.com>
2052
2053 * PLUGIN/greet, PLUGIN/split.sed, PLUGIN/this.configure: Removed.
2054 * Makefile.am, aclocal.m4: New files.
2055 * configure.in: Updated for Automake.
2056
2057 Wed Nov 27 14:16:14 1996 Marius Vollmer <mvo@zagadka.ping.de>
2058
2059 * boot-9.scm (macroexpand-1, macroexpand), slib.scm
2060 (slib:features), r4rs.scm (%load-verbosely): "defined?" is now a
2061 function, use it accordingly.
2062
2063 Thu Nov 21 11:12:10 1996 Jim Blandy <jimb@floss.cyclic.com>
2064
2065 It's an "eval closure", not an "eval thunk." A thunk is a
2066 function of no arguments.
2067 * boot-9.scm (module-type): Rename module field.
2068 (make-module, eval-in-module, make-root-module,
2069 set-current-module): Uses changed.
2070 (module-eval-closure, set-module-eval-closure!,
2071 root-module-closure): Renamed from module-eval-thunk,
2072 set-module-eval-thunk!, root-module-thunk.
2073 (set-current-module): Change uses of *top-level-lookup-thunk* to
2074 *top-level-eval-closure*.
2075
2076 Wed Nov 20 14:45:27 1996 Jim Blandy <jimb@totoro.cyclic.com>
2077
2078 * slib.scm (slib-parent-dir): Use string-length, not length.
2079 (Thanks to Bernard Urban.)
2080
2081 Sat Nov 2 20:00:42 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2082
2083 * boot-9.scm: The debugging evaluator and recording of positions
2084 aren't enabled by default any longer (they are switched on in
2085 debug.scm). But during development we want to have them also
2086 *inside* boot-9.scm. Therefore, two lines are added at the
2087 beginning of boot-9.scm to enable these.
2088
2089 Call `provide' so that `records' are included among the
2090 `*features*'.
2091
2092 The scheme for saving the stack has been adjusted: save-stack is
2093 now commonly available for saving the stack. Calling `save-stack'
2094 sets a flag `stack-saved?' which prevents overwriting the stack.
2095 `stack-saved?' is reset at `abort'.
2096
2097 Spelling correction: seperate --> separate.
2098
2099 Removed `:'s that had creeped into some comments.
2100
2101 The repl now doesn't print #<unspecified> results any longer
2102 If the user wants to see this, he can do
2103 (assert-repl-print-unspecified #t) in his startup file.
2104
2105 The user now gets a friendly message instead of a backtrace at
2106 error.
2107
2108 Added `before-read-hook'.
2109
2110 Load module (ice-9 emacs) if option `-e' was specified.
2111
2112 (provide): New function.
2113
2114 (error): Save stack at entry, so that Guile entrails won't show up
2115 in backtraces.
2116
2117 (backtrace): New function.
2118
2119 (save-stack): Can now take arbitrary number of stack narrowing
2120 specifier pairs. The first specifier in a pair controls inner
2121 border, the second the outer border. A number means cut that
2122 number of frames, a procedure object means cut until that object
2123 is found in operator position in a frame.
2124
2125 * debug.scm: Enable debugging evaluator and recording of positions
2126 by default.
2127
2128 * slib.scm (slib:load): Adapt to the new behavior of
2129 primitive-load: It doesn't any longer try both with and without
2130 ".scm" extension. (We don't want to use %search-load-path here.)
2131
2132 (implementation-vicinity): New function. slib requires it
2133
2134 (library-vicinity): Updated.
2135
2136 Load "require.scm" in the library-vicinity.
2137
2138 (install-require-vicinity, install-require-module): New functions.
2139
2140 Mon Oct 28 17:56:29 1996 Jim Blandy <jimb@floss.cyclic.com>
2141
2142 * boot-9.scm (load-from-path): New function.
2143
2144 * boot-9.scm (try-load, basic-try-load, try-load-module,
2145 try-load): Deleted. I don't think they're being used.
2146
2147 * Makefile.in (scm_files): Add r4rs.scm and test.scm to this list,
2148 so they'll get distributed.
2149
2150 Get Guile to be a little less chatty by default. The new user
2151 should see as little clutter as possible.
2152 * r4rs.scm (%load-verbosely): Make this #f by default.
2153 * boot-9.scm (scm-repl-verbose): Make this #f by default.
2154 (scm-style-repl): Don't run 'pk' on the value passed to quit.
2155
2156 * r4rs.scm: New file.
2157 * boot-9.scm: Load r4rs.scm, first thing.
2158 (OPEN_READ, OPEN_WRITE, OPEN_BOTH, *null-device*, open-input-file,
2159 open-output-file, open-io-file, close-input-port,
2160 close-output-port, close-io-port, call-with-input-file,
2161 call-with-output-file, with-input-from-port, with-output-to-port,
2162 with-error-to-port, with-input-from-file, with-output-to-file,
2163 with-error-to-file, with-input-from-string, with-output-to-string,
2164 with-error-to-string, the-eof-object): Definitions moved to
2165 r4rs.scm. Not all of them are R4RS, but those that are use those
2166 that are not.
2167 (load, %load-verbosely, %load-announce): Moved, along with code to
2168 set %load-hook, to r4rs.scm.
2169
2170 * test.scm: New file.
2171
2172 * boot-9.scm (integer?): Definition deleted, in favor of the one
2173 present in libguile (which used to be called int?). I have no
2174 idea why integer? didn't just call int? to begin with.
2175
2176 * boot-9.scm (<, <=, =, >, >=): Definitions in terms of <?, <=?,
2177 =?, >?, and >=? deleted; they're defined that way by libguile now.
2178
2179 * boot-9.scm (load): Simplified; primitive-load does most of this
2180 work now.
2181 (%load-announce-win): Removed; no longer used. Set %load-hook to
2182 call %load-announce.
2183
2184 Sun Oct 27 07:47:03 1996 Gary Houston <ghouston@actrix.gen.nz>
2185
2186 * boot-9.scm (stat:dev, stat:ino, stat:mode, stat:nlink, stat:uid,
2187 stat:gid, stat:rdev, stat:size, stat:atime, stat:mtime,
2188 stat:ctime, stat:blksize, stat:blocks) accessor functions for stat
2189 components.
2190 (file-is-directory?): use stat:type.
2191
2192 Fri Oct 25 03:34:47 1996 Jim Blandy <jimb@floss.cyclic.com>
2193
2194 * boot-9.scm (%read-sharp): Don't recognize the `#!' syntax here;
2195 that's now taken care of in libguile, and in a way compatible with
2196 SCSH (which this isn't).
2197
2198 Mon Oct 21 18:52:36 1996 Jim Blandy <jimb@totoro.cyclic.com>
2199
2200 * boot-9.scm: Formatting tweaks.
2201
2202 Fri Oct 18 01:03:08 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2203
2204 * boot-9.scm (handle-system-error): Added hooks before-error-hook,
2205 after-error-hook, before-backtrace-hook and after-backtrace-hook
2206 to the error handler. E.g.: fancy emacs support could plug into
2207 these.
2208 (save-stack): New function. The stack is now made differently
2209 depending on the stack id. (The motivation is to make a better
2210 choice regarding what stack frames to present to the user.)
2211 (error-catching-loop): Stack handling code moved outside into
2212 save-stack.
2213
2214 Thu Oct 17 20:33:08 1996 Gary Houston <ghouston@actrix.gen.nz>
2215
2216 * Makefile.in (scm_files): add expect.scm.
2217
2218 * expect.scm: new file ported from guile-iii.
2219
2220 * boot-9.scm: remove handle-system-error, after moving the code into
2221 error-catching-loop.
2222 Don't set 'throw-handler-default property on error keys.
2223 Just interpret (almost) any throw with 4 args as an error throw.
2224 Delete some try-load stuff that was already commented out.
2225
2226 Second thoughts, keep handle-system-error but call it from
2227 error-catching-loop.
2228
2229 Tue Oct 15 17:07:20 1996 Jim Blandy <jimb@floss.cyclic.com>
2230
2231 * boot-9.scm: Doc fixes.
2232 (make-module): Rework for readability.
2233 (make-root-module, make-scm-module): USES argument to make-module
2234 should be '(), not #f.
2235
2236 * boot-9.scm (try-load): %sys-load-path has been renamed to
2237 primitive-load-path; adjust call here.
2238
2239 Tue Oct 15 14:25:01 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
2240
2241 * boot-9.scm (signal-handler): Bugfix: Moved the recording of
2242 the stack to the correct place: when it is decided to generate an
2243 error-signal.
2244
2245 Mon Oct 14 22:20:30 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
2246
2247 * boot-9.scm (error-catching-loop, signal-handler,
2248 handle-system-error): Backtracing now works for signals aswell;
2249 Backtracing mechanism can now identify the stack root created by
2250 start-stack so that the user isn't exposed to system stack frames.
2251
2252 Mon Oct 14 06:05:42 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
2253
2254 * Makefile.in: Added threads.scm.
2255
2256 Mon Oct 14 04:21:51 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
2257
2258 * debug.scm (make-enable, make-disable): Simplified.
2259
2260 * boot-9.scm: Renamed %%throw-handler-default -->
2261 throw-handler-default.
2262 ((handle-system-error key . arg-list)): Changed the way errors are
2263 reported.
2264 ((scm-style-repl)): Wrap up the call to eval in a start-stack
2265 acro.
2266 ((error-catching-loop thunk)): Introduce a lazy-catch into
2267 error-catching-loop so that the stack can be captured.
2268
2269 Thu Oct 10 22:27:32 1996 Jim Blandy <jimb@totoro.cyclic.com>
2270
2271 * mapping.scm (hash-table-mapping): Explicitly request that
2272 make-vector fill new vectors with '(); this will make it easier to
2273 port Guile Scheme code to other Schemes.
2274 * boot-9.scm (make-print-style, make-print-table): Same.
2275
2276 Sun Oct 6 03:54:59 1996 Gary Houston <ghouston@actrix.gen.nz>
2277
2278 * boot-9.scm (load): rewritten again.
2279 Append "." to the default %load-path.
2280 (feature?): new function: checks for a symbol in the features list.
2281 (module-local-variable): remove apparently useless (caddr (list m v
2282 ...))
2283 (%load-announce): minor formatting change.
2284 (file-exists?): use access? if posix is featured.
2285 (file-is-directory?): use stat if i/o-extensions is featured.
2286 (try-module-autoload module-name): use file-exists? before
2287 file-is-directory?
2288
2289 Sat Oct 5 18:54:03 1996 Mikael Djurfeldt <mdj@kenneth>
2290
2291 * boot-9.scm: Added conditional loading of threads.scm.
2292
2293 * threads.scm: New file. Modified from the Cygnus-r0.3
2294 distribution.
2295
2296 * boot-9.scm (error-catching-loop): Added handling of key
2297 `switch-repl'.
2298
2299 * boot-9.scm: Name change %%bad-throw --> bad-throw.
2300
2301 Wed Oct 2 23:38:44 1996 Jim Blandy <jimb@totoro.cyclic.com>
2302
2303 * boot-9.scm (make-record-type, record-constructor): Don't assume
2304 the empty list is false when parsing the argument list.
2305
2306 Mon Sep 30 22:15:50 1996 Jim Blandy <jimb@totoro.cyclic.com>
2307
2308 * boot-9.scm (signal-handler): Clean up logic.
2309
2310 * boot-9.scm (load): Assume %load-path is always bound.
2311
2312 Sat Sep 28 00:15:37 1996 Gary Houston <ghouston@actrix.gen.nz>
2313
2314 * boot-9.scm (error): replace another throw with scm-error. Throw
2315 to 'misc-error instead of 'error (no need to distinguish these.)
2316 Don't set up 'error as a key.
2317 Set up regex-error as a key, if regex is available.
2318 (signal-handler): use scm-error, not throw.
2319
2320 (%try-load, try-load-with-path, %load, load-with-path,
2321 basic-try-load-with-path, basic-load-with-path,
2322 try-load-module-with-path,load-module-with-path): deleted, since
2323 they seem redundant.
2324 (try-load): define using %try-load, not try-load-with-path.
2325 (load): rewritten. load tries to open the file directly and
2326 with a .scm extension before searching the library directories
2327 (should "." be added to %load-path? then load could still open
2328 directly files starting with "/").
2329 (try-module-autoload): use load, not load-with-path.
2330 (%load-indent): deleted, -2 was causing errors.
2331
2332 (%read-sharp): use port-line, not line-number.
2333
2334 Fri Sep 27 16:23:51 1996 Jim Blandy <jimb@totoro.cyclic.com>
2335
2336 * boot-9.scm (%%bad-throw): Delete definition. 1) It's very
2337 straightforward to provide the equivalent functionality using
2338 (catch #t ...), so there's no need for the extra complexity. 2)
2339 Outside the context of a read-eval-print loop (which Guile should
2340 not require) it's not clear we should do anything more complicated
2341 than print an error and exit; the user or REPL can establish
2342 something better if it wants. 3) In that case, it's much more
2343 robust to just do it in the C code.
2344
2345 Tue Sep 24 06:53:04 1996 Gary Houston <ghouston@actrix.gen.nz>
2346
2347 * boot-9.scm (%try-load): define using primitive-load. Previously
2348 %try-load itself was the primitive.
2349 (load-with-path): use scm-error instead of %load-announce-lossage.
2350 Errors are thrown to 'misc-error instead of 'could-not-load.
2351 (%load-announce-lossage): deleted.
2352
2353 Mon Sep 23 00:16:31 1996 Mikael Djurfeldt <mdj@kenneth>
2354
2355 * boot-9.scm (warn, scm-style-repl): Use C printer instead of `print'.
2356 (make-record-type type-name fields): Temporarily remove support
2357 for printing of records (not possible yet with C printer).
2358
2359 Fri Sep 20 00:24:27 1996 Gary Houston <ghouston@actrix.gen.nz>
2360
2361 * boot-9.scm (file-exists?, file-is-directory): catch only
2362 system-error, not every kind of error.
2363 (scm-error): new procedure.
2364
2365 Thu Sep 19 16:02:46 1996 Jim Blandy <jimb@totoro.cyclic.com>
2366
2367 * boot-9.scm: Formatting tweaks.
2368
2369 Wed Sep 18 09:07:37 1996 Gary Houston <ghouston@actrix.gen.nz>
2370
2371 * boot-9.scm (%%handle-system-error key): remove the code for
2372 SCM-style errors. handle the case that an unexpected number
2373 of args are supplied.
2374 (%%system-errors): removed.
2375 (error): redefine using a throw with key and 4 args.
2376 ('error): associate 'error, 'error-signal keys with
2377 %%handle-system-error.
2378 (%%default-error-handler): removed.
2379 (signal-handler): throw with 4 args and use the error-signal key.
2380 Create an error message instead of using numerical codes.
2381 (%%bad-throw): call error instead of throw if key not found.
2382
2383 Tue Sep 17 04:11:28 1996 Gary Houston <ghouston@actrix.gen.nz>
2384
2385 * boot-9.scm: initialize new error keys (see libguile/ChangeLog).
2386 (%%handle-system-error key): check subr is not #f before printing.
2387 Recognize %s (embed an argument using "display") and
2388 %S (embed an argument using "write").
2389
2390 Sun Sep 15 03:55:35 1996 Gary Houston <ghouston@actrix.gen.nz>
2391
2392 * boot-9.scm (%%handle-system-error key): set args and rest to
2393 the empty list if they are #f.
2394 Initialize out-of-range as an error key.
2395
2396 Sat Sep 14 03:41:15 1996 Gary Houston <ghouston@actrix.gen.nz>
2397
2398 * PLUGIN/REQ: remove the "ice-9 lgh" line which causes a cycle.
2399
2400 * boot-9.scm: remove leading %% from references to '%%system-error.
2401 (%%handle-system-error): don't pass all the thrown arguments when
2402 aborting, just the key and subr.
2403 Remove the code to "Install default handlers for built-in errors."
2404 Remove the definition of the syserror procedure.
2405 Associate 'numerical-overflow with default handler.
2406
2407 Fri Sep 13 04:58:11 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
2408
2409 * boot-9.scm: Name change: value-ref --> local-ref
2410 resolved-ref --> nested-ref Motivation: conformance to the other
2411 dictionary operators: list-ref operates on list, vector-ref
2412 operates on vector, nested-ref operates on nested namespace,
2413 local-ref operates on the local nested namespace.
2414
2415 Sat Sep 7 06:44:47 1996 Gary Houston <ghouston@actrix.gen.nz>
2416
2417 * boot-9.scm (%%handle-system-error): recognise errors thrown
2418 by lgh-error (fill-message etc.)
2419 (fill-message): check first whether args is null.
2420 (fill-message): bug fix and check that args is a list.
2421
2422 Thu Sep 5 11:33:41 1996 Jim Blandy <jimb@floss.cyclic.com>
2423
2424 * boot-9.scm: %load-path is initialized in C code now.
2425 (implementation-vicinity, parse-path): Deleted, along with code to
2426 initialize %load-path.
2427
2428 * boot-9.scm (in-vicinity): If the vicinity doesn't end with a
2429 "/", use one to separate it from the file.
2430
2431 Thu Aug 29 23:05:11 1996 Thomas Morgan <tmorgan@gnu.ai.mit.edu>
2432
2433 * boot-9.scm (%load-path): Add the site directory.
2434 Add the directory named after the version number.
2435 Prepend the version number to the other directories in the path.
2436 Simplify by mapping the common prefix onto each item.
2437 * Makefile.in (datadir, pkgdatadir, pkgverdatadir, subpkgdatadir,
2438 sitedatadir): New definitions.
2439 (libparent, libdir, install_path): Replaced by above.
2440 (install): Create the above directories.
2441 Put the source files into subpkgdatadir.
2442 (uninstall): Remove the above directories.
2443
2444 Thu Aug 29 21:48:47 1996 Jim Blandy <jimb@floss.cyclic.com>
2445
2446 Don't use the PLUGIN system to gather information for the
2447 Makefile's distribution and installation targets; just put it all
2448 in the Makefile directly.
2449 * PLUGIN/this.configure (scm_files, aux_files): Remove sections
2450 for these.
2451 * configure.in: Remove code that gets and substitutes scm_files and
2452 aux_files.
2453 * Makefile.in (scm_files, aux_files): Write out the list of files
2454 here, where people expect to find them.
2455
2456 Fri Aug 23 06:44:36 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
2457
2458 * boot-9.scm: Preliminary solution: optionally load the debug
2459 module. Changed "gls" to "guile1.0b3".
2460
2461 * debug.scm: New file: debug extensions.
2462
2463 Wed Aug 21 13:06:56 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
2464
2465 * boot-9.scm (print-vector): Renamed weak-hash-table? -->
2466 weak-key-hash-table?. (Again!)
2467
2468 Tue Aug 20 07:31:39 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
2469
2470 * boot-9.scm (print-vector, macro-table, xformer-table):
2471 Renamed weak-hash-table --> weak-key-hash-table.
2472
2473 * poe.scm (funcq-memo): Renamed weak-hash-table -->
2474 weak-key-hash-table.
2475
2476 Sat Aug 3 06:16:35 1996 Gary Houston <ghouston@actrix.gen.nz>
2477
2478 * boot-9.scm (*null-device*): global constant from goonix.
2479 (move->fdes): adjusted for boolean primitive-move->fdes. return
2480 the modified port, always set revealed count to 1 (SCSH compatible).
2481 (release-port-handle port): from goonix (SCSH compatible).
2482 (%open-file): removed.
2483 (open-input-file, open-output-file, file-exists?, file-is-directory?):
2484 modified for open-file change (does not return #f).
2485
2486 Thu Aug 1 02:52:42 1996 Jim Blandy <jimb@totoro.cyclic.com>
2487
2488 * Makefile.in (dist-dir): New target for new dist system.
2489 (manifest): Deleted.
2490 * PLUGIN/this.configure (aux_files): Removed PLUGIN; it's a
2491 directory, and needs special treatment in the dist-dir target.
2492
2493 Thu Aug 1 09:00:21 1996 Gary Houston <ghouston@actrix.gen.nz>
2494
2495 * boot-9.scm: remove the wrappers for '%' system primitives,
2496 now that they throw errors directly.
2497 remove make-simple-wrapper and similar functions.
2498 protect a call to getenv which may now throw an exception.
2499
2500 Wed Jul 31 23:44:42 1996 Gary Houston <ghouston@actrix.gen.nz>
2501
2502 * boot-9.scm (false-if-exception): new macro.
2503
2504 Fri Apr 19 13:53:08 1996 Tom Lord <lord@beehive>
2505
2506 * The more things change...
2507
2508