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