1 2001-07-13 Marius Vollmer <mvo@zagadka.ping.de>
3 * safe-r5rs.scm: Use `re-export' instead of `export' for
4 re-exported core bindings. Do not re-export `numerator',
5 `denominator' and `rationalize' since Guile does not have them.
6 Continue to use `export' for `null-environment'.
8 * null.scm: Use `re-export' instead of `export' for re-exported
9 core bindings. Do not export `unquote' and `unquote-splicing'
10 since there aren't definitions for them.
12 * boot-9.scm (compile-interface-spec): Bug fix: the keyword
13 argument is "renamer" not "rename".
15 2001-07-09 Rob Browning <rlb@defaultvalue.org>
17 * boot-9.scm: Fixed the sense of the error message when read-eval?
18 is #f. Thanks to Matthias for catching this.
20 2001-07-06 Rob Browning <rlb@defaultvalue.org>
22 * boot-9.scm: added fix suggested by Matthias for #. read
23 extension -- now only works if read-eval? is not #f.
25 2001-06-30 Dirk Herrmann <D.Herrmann@tu-bs.de>
27 * arrays.scm: Don't install a read-hash-extension for 'b': #b
28 is already defined by R5RS. Further, there is already a working
29 read syntax for bitvectors, starting with #*.
31 2001-06-30 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
33 * Makefile.am (ice9_sources): Removed tags.scm.
35 * tags.scm: Removed file.
37 2001-06-29 Neil Jerram <neil@ossau.uklinux.net>
39 Changes to support tracing other than inside the repl-stack that
40 is set up by the REPL code in boot-9.scm.
42 * debug.scm (trace-entry, trace-exit): Conditionalize tracing on
43 whether the current stack id is in `traced-stack-ids'.
44 (traced-stack-ids, trace-all-stacks?, trace-stack, untrace-stack):
47 2001-06-27 Marius Vollmer <mvo@zagadka.ping.de>
49 * common-list.scm (member-if): Put in docstring for member-if, it
50 was a cut-n-paste error previously.
52 2001-06-26 Neil Jerram <neil@ossau.uklinux.net>
54 * debug.scm (trace): Set evaluator trap options to handle tracing.
55 Don't reset trace-level to 0.
57 * boot-9.scm (lazy-handler-dispatch): Remove enter-frame-handler,
58 apply-frame-handler and exit-frame-handler. (They're replaced by
59 evaluator trap options.)
61 2001-06-25 Michael Livshin <mlivshin@bigfoot.com>
63 * streams.scm (stream-for-each-many): typo fix.
65 2001-06-25 Marius Vollmer <mvo@zagadka.ping.de>
67 * boot-9.scm (re-export-syntax): New.
69 2001-06-16 Marius Vollmer <mvo@zagadka.ping.de>
71 * boot-9.scm (system-error-errno): New.
73 2001-06-14 Marius Vollmer <mvo@zagadka.ping.de>
75 * common-list.scm (remove-if, remove-if-not): Fix typo: use
76 `pred', not `pred?', in the body.
78 2001-06-13 Thien-Thi Nguyen <ttn@revel.glug.org>
81 No longer use module `(ice-9 slib)'.
82 Use module `(ice-9 pretty-print)'.
83 No longer require `pretty-print'.
86 (match:error, match:syntax-err): Rewrite.
88 Thanks to Dale P. Smith.
93 Clean up some docstrings; nfc.
97 2001-06-11 Marius Vollmer <mvo@zagadka.ping.de>
99 * boot-9.scm: Use `begin-deprecated' instead of testing
100 `include-deprecated-features' when conditionally using the (ice-9
101 rdelim) module. See below.
103 2001-06-10 Gary Houston <ghouston@arglist.com>
105 * boot-9.scm: use the (ice-9 rdelim) module if
106 include-deprecated-features is true.
108 2001-06-09 Marius Vollmer <mvo@zagadka.ping.de>
110 * pretty-print.scm (generic-write): Use `object->string' to print
113 * optargs.scm (lambda*): Make sure that BODY is always put into a
114 real body context so that it can contain internal definitions.
115 Thanks to Matthias Köppe!
117 * format.scm: Use (ice-9 and-let-star).
118 (format:out): Initialize format:output-col with current column of
119 `port', if it has one. Else leave it alone. Thanks to Matthias
122 2001-06-05 Marius Vollmer <mvo@zagadka.ping.de>
124 * boot-9.scm (module-ensure-local-variable!): Renamed from
125 `module-ensure-variable!'. Make sure that there really is a local
126 variable, not just a visible one.
127 (module-ensure-variable!): See above.
128 (module-export!): Behave like always when deprecated features are
129 enabled, but issue a warning when re-exporting a variable. When
130 deprecated features are disabled, only export local variables,
131 creating them uninitialized when they don't yet exist.
132 (module-re-export!): New. Use this for re-exporting imported
134 (re-export): New, to go with `module-re-export!'.
136 * format.scm: Added kluge at top that keeps `export' from
137 re-exporting the `format' variable of the `(guile)' module.
139 2001-06-04 Marius Vollmer <mvo@zagadka.ping.de>
141 * boot-9.scm (named-module-use!, top-repl): Use resolve-interface
142 instead of resolve-module to get at the used module.
144 2001-06-04 Gary Houston <ghouston@arglist.com>
146 * rw.scm: export write-string/partial.
148 2001-06-04 Marius Vollmer <mvo@zagadka.ping.de>
150 Added exception notice to all files.
152 * boot-9.scm (module-export!): Revert 2001-06-02 change. It
153 caused more problems than it solved by accidentally re-exporting
154 importing bindings once in a while.
156 2001-06-03 Marius Vollmer <mvo@zagadka.ping.de>
158 * boot-9.scm (try-load-module): Bracket calls to try-module-linked
159 and try-module-dynamic-link with `begin-deprecated'.
160 (split-c-module-name, convert-c-registered-modules,
161 registered-modules, register-modules, warn-autoload-deprecation,
162 init-dynamic-module, dynamic-maybe-call, dynamic-maybe-link,
163 find-and-link-dynamic-module, try-using-libtool-name,
164 try-using-sharlib-name, link-dynamic-module, try-module-linked,
165 try-module-dynamic-link): Deprecated. Activate deprecation
167 (define-public): Define binding before exporting it. This is to
168 avoid accidentally re-exporting a imported binding.
170 2001-06-02 Marius Vollmer <mvo@zagadka.ping.de>
172 * Makefile.am (psyntax.pp): Make it dependent on psyntax.ss and
173 fix command so that it works.
175 * session.scm (apropos-fold, submodules, apropos): Be careful not
176 to access unbound variables.
178 * boot-9.scm (module-ensure-variable!): New.
179 (module-export!): Use it to ensure that there is a variable to
180 export. Previously, we would always create a new variable, copy
181 the value over, and export the new variable. This confused
182 syncase since it keys important properties on variables.
184 2001-06-01 Marius Vollmer <mvo@zagadka.ping.de>
186 * boot-9.scm (top-repl): Revert part of the 2001-05-19 change.
187 When defining the guile-user module, do not use any modules. Add
188 them to guile-user when `top-repl' is called.
189 (resolve-interface): Expect keyword arguments instead of a `spec'.
190 (compile-interface-spec, compile-define-module-args): New.
191 (define-module): Use compile-define-module-args to construct
192 argument for process-define-module.
193 (use-modules, use-syntax): Use compile-interface-spec to construct
194 arguments for process-use-modules.
195 (process-define-module): Expect keywords in argument list.
197 2001-05-25 Marius Vollmer <mvo@zagadka.ping.de>
199 * boot-9.scm (cond-expand): Define using
200 `procedure->memoizing-macro' to get at the lexical environment.
201 Use `env-module' instead of `current-module' to get the right
204 * Makefile.am (ice9_sources): Added "pretty-print.scm".
205 * pretty-print.scm: New file, copied from SLIB.
206 (generic-write): Return the `unspecified' value.
208 * format.scm: Autoload `pretty-print'.
210 2001-05-23 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
212 * boot-9.scm (%cond-expand-table): New hash table mapping modules
214 (cond-expand): Use feature information associated with modules.
216 2001-05-21 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
218 * boot-9.scm (use-srfis): Do not extend the srfi-0 feature list.
219 (cond-expand-provide): New procedure.
221 2001-05-22 Marius Vollmer <mvo@zagadka.ping.de>
223 * boot-9.scm (define-module): Return the new module.
224 (process-define-module): Use `spec' instead of `module-name' when
225 getting the syntax transformer. Thanks to Matthias Köppe!
227 2001-05-21 Marius Vollmer <mvo@zagadka.ping.de>
229 * boot-9.scm (use-syntax): Do not set scm:eval-transformer when
230 deprecated features have been removed. Thanks to Dale P. Smith!
232 * optargs.scm (#\&): Use `issue-deprecation-warning' instead of
235 2001-05-19 Marius Vollmer <mvo@zagadka.ping.de>
237 * psyntax.ss (build-lexical-var): Use gensym instead of gentemp.
238 * match.scm: Likewise.
239 * expect.scm: Likewise.
240 * psyntax.pp: Regenerated.
242 * rdelim.scm: Call `%init-rdelim-builtins'.
244 * rw.scm: Call `%init-rw-builtins'.
246 * boot-9.scm (process-define-module): Do not call
248 (define-module): Do it here, in the expansion.
249 (top-repl): Do not define '(guile-user)' module and conditionally
250 load `(ice-9 threads)' and/or `(ice-9 regex)' here. Do it on
251 top-level as the last thing in boot-9.scm instead.
252 (%load-path): Use `list' instead of `cons' to create a single
253 element list when adding "." to it.
254 (process-define-module, process-use-modules, module-export!): Add
255 dummy definitions prior to booting the mdule system.
257 2001-05-18 Thien-Thi Nguyen <ttn@revel.glug.org>
259 * boot-9.scm: (resolve-interface, use-srfis): Small
261 (process-define-module): Internal proc `unrecognized'
262 now accepts arg; update callers.
263 Reverse order of interfaces added to module to be
264 consistent with that specified in `define-module' form.
266 * session.scm: (help): Use `provided?' instead of `feature?'.
267 Factor "TYPE not found for X" output into internal proc.
268 Support `(quote SYMBOL)'; call `search-documentation-files'.
269 (help-doc): If initial search fails, try using
270 `search-documentation-files'.
271 (apropos-fold-accessible, apropos-fold-all): Use `identity'
272 instead of `(lambda (x) x)'. "An identity edit", ha ha.
273 (help-usage): Mention support for "(help 'NAME)".
275 * documentation.scm: Fix documentation for Guile Documentation
276 Format Version 2: Mention required terminating newlines.
278 (find-documentation): Delete.
279 (search-documentation-files): New proc, exported.
280 (object-documentation): Use `search-documentation-files'.
282 2001-05-15 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
284 * boot-9.scm (cond-expand-features): Made the feature list public,
285 so it can be manipulated by `use-srfis'.
286 (use-srfis): New procedure.
288 2001-05-15 Thien-Thi Nguyen <ttn@revel.glug.org>
290 * boot-9.scm (resolve-interface): Signal error now also if
291 used module's public interface is not available.
292 No longer call `beautify-user-module!'.
293 Signal error now also if selected binding not found.
295 2001-05-10 Marius Vollmer <mvo@zagadka.ping.de>
297 Merge from mvo-vcell-clenaup-1-branch.
299 * session.scm (apropos): Do not use `builtin-bindings', always use
301 (apropos-fold): Likewise.
303 * optargs.scm (bound?): Removed. We should not play games with
304 the magical undefined value.
305 (let-o-k-template): Use `#f' instead of the undefined value as
306 the default default for bindings.
308 * boot-9.scm (module-make-local-var!): Do not pass name hint to
309 make-undefined-variable, use `variable-set-name-hint!' instead.
310 (root-module-closure): Removed.
311 (make-root-module): Set the obarray of the module to the
312 `pre-modules-obarray'. Do not use a lazy binder.
313 (scm-module-closure): Removed.
314 (make-root-module): Set the obarray of the module to the
315 `pre-modules-obarray'. Do not use a lazy binder. Set the
316 eval-closure to a `standard-interface-eval-closure'.
317 (module-define!): Do not pass name hint to make-variable, use
318 `variable-set-name-hint!' instead.
319 (make-modules-in, beautify-user-module, resolve-module): Moved
320 towards the beginning of boot-9.scm, across the call to
321 set-current-module that boots the module system. These
322 definitions need to be visible at the time of the first
323 `set-current-module' call.
324 (try-module-autoload): Define a `#f' before the call to
325 set-current-module. It is redefined later.
327 * debug.scm: Use `module-set!' instead of `variable-set!' to set
328 insert `debug-options' into the-root-module.
329 * format.scm: Likewise, for `format'.
331 2001-05-15 Marius Vollmer <mvo@zagadka.ping.de>
333 * boot-9.scm (error-catching-repl): Call the E
334 ("eval'er") procedure via call-with-values and call the P
335 ("printer") for each produced value. Thanks to Matthias Köppe!
337 2001-05-14 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
339 * boot-9.scm (cond-expand): Reduce feature list to built-in
342 2001-05-14 Dirk Herrmann <D.Herrmann@tu-bs.de>
344 * boot-9.scm (-1+, return-it, string-character-length, flags):
347 2001-05-11 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
349 * boot-9.scm: Added `cond-expand' (SRFI-0) for portable feature
352 2001-05-10 Thien-Thi Nguyen <ttn@revel.glug.org>
354 * boot-9.scm (resolve-module): Abstraction maintenance: Use
355 `module-public-interface'.
356 (resolve-interface): Extend to handle selection and renaming in spec.
357 Arg is now `spec' which can be a simple module name (list of symbols)
359 (symbol-prefix-proc): New proc.
360 (%autoloader-developer-mode): Delete.
361 (process-define-module): Use "define-module" in error messages
362 instead of "defmodule". Factor error into internal proc.
363 Rewrite `use-module' and `use-syntax' handlers.
364 Replace some single-arm `if-not' constructs w/ `or'.
365 (process-use-modules): Arg is now `module-interface-specs',
366 which is passed through to `resolve-interface' as before; nfc.
367 (named-module-use!, top-repl): Abstraction maintenance: Use
370 2001-05-06 Thien-Thi Nguyen <ttn@revel.glug.org>
372 * q.scm, runq.scm, getopt-long.scm: Update copyright.
373 Surround commentary w/ standard markers; nfc.
375 * expect.scm: Update copyright.
376 Fix commentary typo; nfc.
378 2001-05-05 Rob Browning <rlb@cs.utexas.edu>
380 * psyntax.ss: make sure emacs knows it's scheme code.
382 2001-05-05 Neil Jerram <neil@ossau.uklinux.net>
384 * boot-9.scm (use-syntax): Change error message to say
385 `use-syntax' rather than `use-modules'.
387 2001-05-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
389 * safe-r5rs.scm: Fix typo: make-rectangualr => make-rectangular.
391 2001-05-02 Marius Vollmer <mvo@zagadka.ping.de>
393 * boot-9.scm (begin-deprecated): New.
394 (call-with-deprecation): Removed.
395 (id): Use `issue-deprecation-warning' instead of
396 `call-with-deprecation'. Wrap definition in `begin-deprecated'.
397 (eval-in-module): Manifest deprecation via `begin-deprecation' and
398 `issue-deprecation-warning'.
399 (warn-autoload-deprecation): Deactivated.
401 2001-04-26 Marius Vollmer <mvo@zagadka.ping.de>
403 * boot-9.scm (the-module, set-current-module, current-module):
404 Removed, they are now defined in libguile.
406 2001-04-29 Gary Houston <ghouston@arglist.com>
408 * rw.scm: new file, for module (ice-9 rw).
409 * Makefile.am: add rw.scm.
411 2001-04-28 Thien-Thi Nguyen <ttn@revel.glug.org>
413 * boot-9.scm, optargs.scm:
414 Surround commentary w/ standard markers; nfc.
416 * threads.scm, time.scm, channel.scm, expect.scm:
419 2001-04-27 Thien-Thi Nguyen <ttn@revel.glug.org>
421 * documentation.scm: Update copyright.
423 Use `define-module' `:export' clause instead of `define-public'.
424 Autoload (ice-9 regex) on `match:suffix'.
426 (default-in-line-re, default-after-line-re): New vars.
427 (default-scrub): New proc.
428 (file-commentary): New proc, exported.
429 (object-documentation): Expand docstring; nfc.
431 * session.scm: Update copyright.
434 (help): Consider a list of symbols that does not start with
435 `quote' as a module name and call `module-commentary' on it.
436 (module-filename, module-commentary): New procs.
438 (apropos): Use `identity' instead of deprecated `id'.
439 (help-usage): Add blurb about "(help (my module))" support.
441 2001-04-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
443 * Makefile.am (ice9_sources): Remove srfi-8.scm.
445 2001-04-26 Rob Browning <rlb@cs.utexas.edu>
447 * srfi-8.scm: removed in favor of srfi/srfi-8.scm - (wasn't ever
448 in a production release).
450 2001-04-25 Keisuke Nishida <kxn30@po.cwru.edu>
452 * channel.scm: New file.
453 * Makefile.am (ice9_sources): Include channel.scm.
455 2001-04-19 Keisuke Nishida <kxn30@po.cwru.edu>
457 * receive.scm (receive): Use `define-macro'.
459 2001-04-15 Keisuke Nishida <kxn30@po.cwru.edu>
461 * boot-9.scm (load-compiled): New variable, initialized in the VM.
462 (try-module-autoload): Try loading compiled modules if applicable.
464 2001-04-15 Keisuke Nishida <kxn30@po.cwru.edu>
466 * boot-9.scm (call-with-deprecation): New procedure.
467 (identity): New procedure.
470 2001-04-15 Keisuke Nishida <kxn30@po.cwru.edu>
472 * boot-9.scm (defmacro, define-macro, define-syntax-macro):
473 Define only at the top level.
475 2001-04-06 Thien-Thi Nguyen <ttn@revel.glug.org>
477 * threads.scm: Update copyright.
479 Use `export' and `export-syntax' instead of
480 `define-public' and `defmacro-public'.
482 (make-thread): Rename first arg to `proc'; nfc.
483 (begin-thread, monitor): Rename second arg to `rest'; nfc.
484 (with-mutex): Rename second arg to `body'; nfc.
486 2001-04-06 Neil Jerram <neil@ossau.uklinux.net>
488 * boot-9.scm (warn-autoload-deprecation): Close parenthesis in
489 "You just tried to autoload ..." message.
491 2001-04-05 Keisuke Nishida <kxn30@po.cwru.edu>
493 * Makefile.am (ice9_sources): Add history.scm.
494 * history.scm: Create the module (value-history) at the beginning.
496 2001-03-29 Marius Vollmer <mvo@zagadka.ping.de>
498 * boot-9.scm (init-dynamic-module): Fix typo in call to
499 warn-autoload-deprecation. I feel silly.
501 2001-03-27 Marius Vollmer <mvo@zagadka.ping.de>
503 * r4rs.scm (call-with-values): New definition, defers to
506 2001-03-26 Marius Vollmer <mvo@zagadka.ping.de>
508 * boot-9.scm (warn-autoload-deprecation): New function.
509 (init-dynamic-module): Use it here to print warning. Only give
510 warning when a module has actually been found.
512 2001-03-25 Marius Vollmer <mvo@zagadka.ping.de>
514 * boot-9.scm (init-dynamic-module): Issue warning about
515 auto-loading of compiled code modules being deprecated.
517 * Makefile.am (ice9_sources): Added "time.scm".
519 2001-03-20 Keisuke Nishida <kxn30@po.cwru.edu>
521 * time.scm (time): Reimplemented as a procedure call.
522 (Thanks to Marius Vollmer)
524 2001-03-20 Keisuke Nishida <kxn30@po.cwru.edu>
526 * safe-r5rs.scm (list): Export.
528 2001-03-17 Keisuke Nishida <kxn30@po.cwru.edu>
530 * boot-9.scm (before-eval-hook, after-eval-hook,
531 before-print-hook, after-print-hook): New hooks.
532 (scm-style-repl): Call these hooks.
534 * history.scm: New file.
536 2001-03-17 Keisuke Nishida <kxn30@po.cwru.edu>
538 * time.scm: New file.
540 2001-03-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
542 * oldprint.scm: Removed.
544 2001-03-12 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
546 * arrays.scm (make-array): Added quote in front of ().
548 2001-03-12 Keisuke Nishida <kxn30@po.cwru.edu>
550 * common-list.scm (count-if): New procedure.
552 2001-03-10 Neil Jerram <neil@ossau.uklinux.net>
554 * buffered-input.scm (make-buffered-input-port): New, more general
555 buffered input procedure. Does not assume that a newline
556 character should be interpolated between chunks of input returned
558 (make-line-buffered-input-port): Redefine in terms of
559 make-buffered-input-port.
561 2001-03-09 Keisuke Nishida <kxn30@po.cwru.edu>
563 * match.scm: Don't export defstruct. Use (unquote defstruct) instead.
565 2001-03-09 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
567 * Makefile.am (psyntax.pp): Added rule for producing psyntax.pp.
569 2001-03-09 Keisuke Nishida <kxn30@po.cwru.edu>
571 * match.scm: export defstruct.
573 2001-03-08 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
575 * psyntax.ss: Added FSF copyright notice. Added a notice of
576 changes in order to comply with paragraph 2a of the GPL. (Thanks
579 2001-03-07 Neil Jerram <neil@ossau.uklinux.net>
581 * buffered-input.scm (make-line-buffered-input-port): Don't set
582 the continuation flag for leading whitespace. Thanks to Dirk
583 Herrmann for the suggestion.
585 2001-03-05 Neil Jerram <neil@ossau.uklinux.net>
587 * optargs.scm (rest-arg->keyword-binding-list): Use "'()" instead
590 * buffered-input.scm: New file, with guts of line buffered input
591 port implementation extracted from guile-readline/readline.scm.
593 2001-03-03 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
595 * stack-catch.scm: New file.
597 * Makefile.am (ice9_sources): Added stack-catch.scm.
599 2001-03-03 Marius Vollmer <mvo@zagadka.ping.de>
601 * boot-9.scm, rdelim.scm: Use "'()" instead of "()" in all places
602 where the empty list is meant.
604 2001-02-26 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
606 * boot-9.scm (save-stack): Use `primitive-eval' for stack
607 cutting. Makes backtraces work again! Also added a reference to
608 save-stack from the place in the repl where the primitive-eval
611 2001-02-25 Keisuke Nishida <kxn30@po.cwru.edu>
613 * match.scm: New file, including Andrew K. Wright's pattern matcher.
614 * Makefile.am (ice9_sources): Added match.scm.
616 2001-02-16 Marius Vollmer <mvo@zagadka.ping.de>
618 * boot-9.scm (eval-when, eval-case): Renamed `eval-when' to
619 `eval-case', everywhere.
621 2001-02-13 Marius Vollmer <mvo@zagadka.ping.de>
623 * boot-9.scm (define-public): Removed spurious call to
624 `interaction-evironment'.
625 (define-public, defmacro-public): Use `export' instead of explicit
627 (eval-when): New macro.
628 (define-module, use-modules, use-syntax, export): Use it to
629 restrict the use of these forms to the top level.
630 (define-public, defmacro-public): Only export binding when on
632 (process-define-module): Call `set-current-module' with the
634 (define-module): Simply call `process-define-module' without any
635 fuss (but only on top-level).
636 (named-module-use!): New function.
637 (top-repl): Do not use `define-module'. Use equivalent low-level
640 2001-02-11 Marius Vollmer <mvo@zagadka.ping.de>
642 * boot-9.scm (scm-style-repl): Use `primitive-eval' instead of
644 (define-public): Do not use `eval'.
646 2001-02-08 Marius Vollmer <marius.vollmer@uni-dortmund.de>
648 * and-let-star-compat.scm: Display the warning to the
649 `current-error-port'.
651 2001-02-04 Marius Vollmer <mvo@zagadka.ping.de>
653 Avoid the use of "*" in file names for the benefit of lesser
656 * and-let-star.scm, and-let*.scm: Renamed `and-let*.scm' to
657 `and-let-star.scm'. Updated module name as well.
658 * and-let-star-compat.scm: New file, installed as `and-let*.scm'.
659 * Makefile.am (ice9_sources): Replaced "and-let*.scm" with
661 (install-data-local): Install "and-let-star-compat.scm" as
662 "and-let*.scm", ignoring errors.
663 (EXTRA_DIST): Distribute `and-let-star-compat.scm'.
665 2001-01-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
667 This patch fixes a problem reported by Martin Grabmueller about
668 the impossibility to access readline's run-time options.
670 * boot-9.scm (define-option-interface): New macro. Allows to
671 conveniently define a group of option interface functions.
673 (readline-options readline-enable readline-disable,
674 readline-set!): Moved to guile-readline/readline.scm.
676 2001-01-24 Gary Houston <ghouston@arglist.com>
678 * boot-9.scm: don't import (ice-9 rdelim) here. it's done
680 * rdelim.scm: export the C primitives too.
681 * documentation.scm: use (ice-9 rdelim).
683 2001-01-21 Gary Houston <ghouston@arglist.com>
685 * rdelim.scm: new file implementing module (ice-9 rdelim).
686 * ice-9.scm (scm-line-incrementors read-line! read-delimited!
687 read-delimited read-line): moved to rdelim.scm.
688 scm-line-incrementors is not exported.
689 * boot-9.scm: import (ice-9 rdelim) for backwards compatibility,
691 * lineio.scm: use module (ice-9 rdelim).
692 * Makefile.am (ice9_sources): add rdelim.scm.
694 2000-12-29 Dirk Herrmann <D.Herrmann@tu-bs.de>
696 * boot-9.scm (root-module-closure, scm-module-closure): Remove
697 calls '(symbol-interned? #f s)'. Formerly, these calls were
698 basically no-ops, guaranteed to return #t if 's' was a symbol.
699 After the separation of symbols and bindings, a call to
700 '(symbol-interned? #f s)' will only return #t if there really is a
701 binding for 's' in the scm_symhash table. Thanks to Dale P. Smith
702 for providing a test case that helped finding this bug.
704 2000-12-13 Dirk Herrmann <D.Herrmann@tu-bs.de>
706 * session.scm (apropos): Completed the last patch, which did only
707 half the job. Thanks to Dale P. Smith.
709 2000-12-12 Dirk Herrmann <D.Herrmann@tu-bs.de>
711 * session.scm (apropos, apropos-fold): There are no weak bindings
714 2000-12-12 Dirk Herrmann <D.Herrmann@tu-bs.de>
716 * boot-9.scm (top-repl): Lookup 'use-emacs-interface in
719 2000-12-07 Neil Jerram <neil@ossau.uklinux.net>
721 * emacs.scm (flush-whitespace): Fix spelling typo ("recieving").
723 2000-11-28 Dirk Herrmann <D.Herrmann@tu-bs.de>
725 * boot-9.scm (read-delimited), lineio.scm
726 (make-line-buffering-input-port), regex.scm (match:prefix,
727 match:suffix, match:substring, regexp-substitute/global), slib.scm
728 (slib-parent-dir), string-fun.scm (split-after-char,
729 split-before-char, split-discarding-char, split-after-char-last,
730 split-before-char-last, split-discarding-char-last,
731 split-before-predicate, split-after-predicate,
732 split-discarding-predicate, separate-fields-discarding-char,
733 separate-fields-after-char, separate-fields-before-char,
734 string-prefix-predicate, sans-surrounding-whitespace,
735 sans-trailing-whitespace, sans-leading-whitespace,
736 sans-final-newline): Use substring instead of
737 make-shared-substring.
739 2000-11-26 Gary Houston <ghouston@arglist.com>
741 * boot-9.scm: values?, get-values, values, call-with-values:
742 removed. values and call-with-values are now primitives and
743 the other two were only exported by accident. don't define
744 *values-rtd* record type or handle multiple values in
747 2000-11-07 Gary Houston <ghouston@arglist.com>
749 * popen.scm (open-output-pipe): added docstrings for open-input-pipe
750 and open-output-pipe.
752 2000-11-06 Gary Houston <ghouston@arglist.com>
754 * popen.scm (open-process): bug fix: don't use
755 close-all-ports-except to close ports in the child process, since
756 it causes port buffers to be flushed. they may be flushed again
757 in the parent, causing duplicate output. use a more elaborate
758 method for setting up the child descriptors (thanks to David
759 Pirotte for the bug report).
760 standard file descriptors 0, 1, 2 in the child process
761 are now set up from current-input-port etc., where possible.
763 2000-10-10 Dirk Herrmann <D.Herrmann@tu-bs.de>
765 * syncase.scm (eval): string=? requires a string argument.
766 Thanks to Dale P. Smith for the patch.
768 2000-10-15 Neil Jerram <neil@ossau.uklinux.net>
770 * optargs.scm: Fix typos in commentary for bound? and lambda*.
772 2000-10-10 Dirk Herrmann <D.Herrmann@tu-bs.de>
774 * session.scm (apropos, apropos-fold): regexp-exec does not
775 accept symbol arguments any more. Thanks to Dale P. Smith for the
778 2000-09-30 Gary Houston <ghouston@arglist.com>
780 * posix.scm (setgrent): pass #t, not #f. thanks to
783 2000-09-29 Neil Jerram <neil@ossau.uklinux.net>
785 * documentation.scm (find-documentation-in-file): Modified
786 according to changed format of guile-procedures.txt caused by my
787 snarfing/makeinfo changes in libguile.
789 * session.scm (help-doc): Improvements to (help) output: (i) a
790 friendlier Emacs-style introduction line; (ii) where the help arg
791 matches multiple documented entries, print an initial list of the
792 entries for which documentation is found, before printing the
793 actual documentation entries themselves.
795 2000-09-20 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
797 * boot-9.scm: Removed comment. (Thanks to Brad Knotwell.)
799 2000-09-12 Dirk Herrmann <D.Herrmann@tu-bs.de>
801 * syncase.scm (putprop): Use the high-level property interface.
803 2000-09-12 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
805 * psyntax.ss (build-lexical-var): Use gentemp instead of gensym;
806 Convert first argument to a string.
808 * calling.scm (excursion-function-syntax,
809 getter-and-setter-syntax,
810 delegating-getter-and-setter-syntax): Call gensym with string
811 argument. (Thanks to Dale P. Smith.)
813 * oldprint.scm (print-table-add!): Ditto.
815 * boot-9.scm (gentemp): Moved to symbols.c.
817 2000-08-27 Marius Vollmer <mvo@zagadka.ping.de>
819 * boot-9.scm (make-object-property): New function.
821 2000-08-26 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
823 * boot-9.scm (make-record-type): Use `string-append' instead of
825 (symbol-append): Map `symbol->string' on
827 (obarray-symbol-append, obarray-gensym): Simply removed. I don't
828 think I'll announce this in NEWS even. One of the functions never
830 (find-and-link-dynamic-module, keyword->symbol): Use
832 (try-module-autoload, process-define-module): Rewrote using R5RS
835 2000-08-24 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
837 * psyntax.ss (set!): Added generalized set! support to core syntax
840 2000-08-19 Marius Vollmer <mvo@zagadka.ping.de>
842 * optargs.scm (#\&): Changed #:allow-other-keys-value to
843 #:allow-other-keys. Thanks to Bill Schottstaedt!
845 2000-08-17 Marius Vollmer <mvo@zagadka.ping.de>
847 * optargs.scm (#\&): Emit warning about `#&' being deprecated.
849 2000-08-16 Marius Vollmer <mvo@zagadka.ping.de>
851 * optargs.scm: Replaced `#&' reader syntax with keywords.
853 2000-08-14 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
855 * format.scm (format:obj->str): Made tail-recursive. (Thanks to
858 2000-08-13 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
860 * psyntax.ss (top-level-eval-hook, local-eval-hook): Pass
861 `(interaction-environment)' as second arg to `eval'. This is
862 completely equivalent with the state before the change to eval of
863 2000-08-11, but we should extend psyntax.ss to be module aware.
864 (Thanks to Ian Bicking.)
866 * emacs.scm (emacs-symdoc): Parenthesis fix.
868 2000-08-11 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
870 * r5rs.scm (interaction-environment): Removed definition. (Is now
871 provided by libguile/modules.c.)
873 * safe-r5rs.scm (null-environment): Bugfix: Should include
876 * boot-9.scm (record-constructor, record-accessor,
877 record-modifier, scm-style-repl): Add second arg to eval.
878 (read-hash-extend #\.): Ditto. (This is actually a bugfix!)
879 (eval-in-module): Redefined to be eval and deprecated.
881 * syncase.scm (eval): Add second arg both in definition and use.
883 * slib.scm (slib:eval): Use eval instead of eval-in-module.
884 (defmacro:eval): Eval in (interaction-environment).
886 * safe-r5rs.scm (eval): Removed definition.
888 * emacs.scm (emacs-eval-request):
889 (emacs-symdoc): (This procedure needs updating!)
891 2000-08-10 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
893 * boot-9.scm: Added note about dependency in modules.h to
894 definition of module-type.
896 * Makefile.am (ice9_sources): Added receive.scm, srfi-8.scm.
898 * receive.scm, srfi-8.scm: New files.
900 * boot-9.scm (scm-style-repl): Print multiple values on successive
902 (process-define-module): Bugfix: Make sure that exports are done
903 *after* all used interfaces has been added.
905 2000-07-24 Marius Vollmer <mvo@zagadka.ping.de>
907 * common-list.scm (uniq): Made tail-recursive. Thanks to thi!
909 2000-07-13 Dirk Herrmann <D.Herrmann@tu-bs.de>
911 * boot-9.scm (expt): In case of negative integer exponents return
912 an exact result if the input paramters were exact. Thanks to
913 Mikael for the suggestion.
915 2000-07-12 Dirk Herrmann <D.Herrmann@tu-bs.de>
917 * boot-9.scm (expt): Make sure that integer-expt is only called
918 if the exponent is a non-negative integer.
920 2000-07-01 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
922 * boot-9.scm (process-define-module): Bugfix: Only check the CDR
925 2000-06-27 Dirk Herrmann <D.Herrmann@tu-bs.de>
927 * popen.scm: gc-thunk is deprecated. Use after-gc-hook instead.
929 2000-06-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
931 * common-list.scm (intersection, set-difference, remove-if,
932 remove-if-not): Made tail-recursive. Thanks to William Webber
935 (delete-if!, delete-if-not!): Renamed parameter from `list' to
936 `l' in order to avoid confusion. Note: These functions are not
939 2000-06-21 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
941 * boot-9.scm: Turned `the-module', `*top-level-lookup-closure*',
942 and `scm:eval-transformer' into fluids.
944 * boot-9.scm (purify-module!, module-export!): New procedures.
945 (export): Rewritten using `module-export!'.
946 (process-define-module): New define-module options: pure, export.
948 (scm-style-repl): Added optional module argument.
950 * null.scm, r5rs.scm, safe-r5rs.scm, safe.scm: New modules.
952 2000-06-20 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
954 * session.scm (make-fold-modules): Detect circular references in
955 module graph. (Thanks to Matthias Köppe.)
957 2000-06-20 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
959 * session.scm: Use module (ice-9 regex).
960 (help): Regexp-quote a name given as a symbol.
962 2000-06-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
964 * common-list.scm (list*): Removed, since this function is
965 implemented as a primitive in libguile/list.c.
967 2000-06-12 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
969 * session.scm (help): Warn user if 'regex isn't provided.
971 * Makefile.am (ice9_sources): Removed getopt-gnu-style.scm.
973 * getopt-gnu-style.scm: Removed deprecated module.
975 2000-06-11 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
977 * boot-9.scm (make-autoload-interface): Set init value for uses to
979 (make-modules-in): Name modules with their real (= full) names.
980 (the-root-module, the-scm-module): Named `(guile)' instead of
982 (the-scm-module): Set kind to 'interface.
984 * Makefile.am (ice9_sources): Replaced doc.scm with
987 * session.scm (ice-9): Use module (ice-9 documentation).
988 (name): Use the name property if everything else fails.
989 (apropos-fold): New procedure.
990 (apropos-internal): Re-implement in terms of `apropos-fold'.
993 * doc.scm: Removed module (ice-9 doc).
995 * documentation.scm: New module (ice-9 documentation).
997 2000-06-08 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
999 * doc.scm (documentation-files): Renamed from `doc-files'.
1000 (write-all): Removed.
1001 (find-documentation): Renamed from `documentation'. Return
1002 documentation string instead of printing it. Not exported.
1004 Tue Jun 6 09:21:28 2000 Greg J. Badros <gregb@go2net.com>
1006 * session.scm: Update references to `proc-doc' to be
1007 `proc-documentation'
1009 * doc.scm: Cleaned up a great deal. Put variables at the top of
1010 the file, eliminated `object-documentation' that was broken
1011 (referencing Scwm), drop `help' as session.scm has a better
1012 supported version of that procedure. Rename `proc-doc' to
1013 `proc-documentation' -- `procedure-documentation' is a primitive
1014 getter function, so I use the shorter name for this more useful
1015 function. (Alternatively, we could rename the primitive
1018 2000-06-05 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1020 * boot-9.scm (error-catching-loop): Inform about debugger on error.
1022 2000-06-04 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
1024 * boot-9.scm (scm-module-closure): New procedure: Was previously
1025 anonymous. Now needed in modules.c.
1026 (make-module): Use `standard-eval-closure' to create the eval
1029 2000-05-14 Gary Houston <ghouston@arglist.com>
1031 * boot-9.scm (load-user-init): rewritten. first work out the home
1032 directory and then try to open the file (previously it could try
1033 to open a file in more than one place). catch exceptions when
1034 trying to get a directory from the user database. don't check
1035 that ~/.guile is not a directory before trying to load it (a lack
1036 of ~/.guile is not a crime, but if the file is not valid for any
1037 reason then primitive-load will raise an error).
1039 2000-05-11 Dirk Herrmann <D.Herrmann@tu-bs.de>
1041 * boot-9.scm (abs): Don't set to magnitude. abs now does not
1042 accept complex numbers as parameter.
1044 2000-05-09 Marius Vollmer <mvo@zagadka.ping.de>
1046 * common-list.scm (delete-if-not!): Bug fix of bug fix: change
1047 label of named let to `delete-if-not'. Sorry.
1049 2000-05-08 Marius Vollmer <mvo@zagadka.ping.de>
1051 * common-list.scm (doc fixes): Talk about `true values' instead of
1052 `#t' when a function treats all non-#f valuers the same.
1053 (remove-if-not): Bug fix: call remove-if-not
1054 instead of remove-if when iterating.
1055 (delete-if-not!): Bug fix: call delete-if-not! instead of
1056 delete-if! when iterating.
1058 2000-04-16 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
1060 * r4rs.scm (close-input-port, close-output-port): Removed.
1062 2000-04-13 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
1064 * session.scm (help): New macro. Prints helpful information.
1066 2000-04-10 Gary Houston <ghouston@arglist.com>
1068 * popen.scm (open-process): after forking, close all ports except
1069 the end of the pipe to the parent. otherwise move->fdes and
1070 the exec'd program and the exit handlers can interfere with file
1071 descriptors still in use in parent ports.
1073 2000-04-09 Gary Houston <ghouston@arglist.com>
1075 * popen.scm (close-process-quietly): new procedure. use it from
1076 reap-pipes to avoid errors or hanging during background cleanup.
1078 2000-04-04 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1080 * format.scm (format:obj->str): Handle circular references. Also,
1081 print improper lists with (x y . z) syntax rather than as
1082 individual pairs. (This code should probably be integrated into C
1083 level facilities. It is currently terribly slow.)
1085 2000-04-03 Michael Livshin <mlivshin@bigfoot.com>
1087 * streams.scm (stream-fold, stream-for-each): don't use named let,
1088 because it prevents the gc from junking the stream argument.
1090 Thu Mar 9 08:05:08 2000 Greg J. Badros <gjb@cs.washington.edu>
1092 * slib.scm: Back-out change to software-type -- renamed
1093 slib:software-type to software-type, and leave it non-public.
1095 Thu Mar 2 12:20:52 2000 Greg J. Badros <gjb@cs.washington.edu>
1097 * boot-9.scm: Drop unused definition of sfx function -- thanks
1100 Wed Mar 1 12:21:02 2000 Greg J. Badros <gjb@cs.washington.edu>
1102 * streams.scm: Doc patch from Richard Kim, using MIT Scheme as
1103 source of the numerous very short changes.
1105 Sun Feb 13 18:03:19 2000 Greg J. Badros <gjb@cs.washington.edu>
1107 * slib.scm: Rename software-type to slib:software-type and make it
1110 * r4rs.scm: Added documentation; largely cut and pasted from R4RS
1113 Sun Feb 13 17:49:29 2000 Greg J. Badros <gjb@cs.washington.edu>
1115 * common-list.scm: Added documentation; largely cut and pasted
1118 2000-02-11 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1120 * format.scm (format): Reintroduce (define format format:format)
1121 so that the binding in the public interface of the module will be OK.
1123 2000-01-30 Gary Houston <ghouston@arglist.com>
1125 * boot-9.scm (find-and-link-dynamic-module): pass strings, not symbols,
1128 2000-01-29 Gary Houston <ghouston@arglist.com>
1130 * expect.scm (expect): don't call char-ready? before expect-select,
1131 since select now checks port buffers itself. don't bother to check
1132 the time first either, since expect-select does it.
1134 Thu Jan 20 12:57:36 2000 Greg J. Badros <gjb@cs.washington.edu>
1136 * format.scm: Use (variable-set! (builtin-variable 'format)) to
1137 re-define format to be format:format (instead of just define,
1138 which interacts poorly with the module system). Thanks to Shuji
1139 Narazaki for this change.
1141 Tue Jan 11 10:49:22 2000 Greg J. Badros <gjb@cs.washington.edu>
1143 * boot-9.scm expect.scm, syncase.scm: Switch to new style
1144 `simple-format' message strings: substitute ~A for %s, and ~S for
1147 * boot-9.scm: Added (define format simple-format) to expose that
1148 primitive via the simpler name until format.scm is loaded.
1150 2000-01-09 Marius Vollmer <mvo@zagadka.ping.de>
1152 * boot-9.scm (try-using-libtool-name): Do not bother to look
1153 inside libtool ".la" file, dynamic-link does this for us now.
1155 1999-12-15 Gary Houston <ghouston@freewire.co.uk>
1157 * slib.scm (library-vicinity, home-vicinity,
1158 scheme-implementation-type, scheme-implemenation-version):
1159 use define-public to export from the module.
1161 Wed Dec 15 08:32:09 1999 Greg J. Badros <gjb@cs.washington.edu>
1163 * doc.scm: Use `%library-dir' and the other system directories,
1164 not the quickly defuncted `library-dir' that I added before
1165 realizing the former existed. Thanks Brad Knotwell!
1167 Sun Dec 12 19:18:52 1999 Greg J. Badros <gjb@cs.washington.edu>
1169 * Makefile.am, doc.scm: Added doc.scm.
1171 1999-12-12 18:54:06 1999 Greg J. Badros <gjb@cs.washington.edu>
1173 * popen.scm, slib.scm: Added some docstrings for procedures that
1174 were primitives that I encountered in posix.texi.
1176 1999-11-19 Gary Houston <ghouston@freewire.co.uk>
1178 * Makefile.am (ice9_sources): add arrays.scm.
1180 * boot-9.scm: load arrays.scm if 'array is provided.
1182 * arrays.scm: new file with stuff from boot-9.scm.
1184 1999-11-18 Gary Houston <ghouston@freewire.co.uk>
1186 * boot-9.scm (read-hash-extend to set up arrays): add 'l' for
1187 long_long uniform vectors.
1189 1999-11-17 Gary Houston <ghouston@freewire.co.uk>
1191 * networking.scm (sethostent, setnetent, setprotoent, setservent):
1192 take an optional argument STAYOPEN. default is #f.
1194 1999-10-05 Jim Blandy <jimb@savonarola.red-bean.com>
1196 * Makefile.in: Deleted from CVS repository. Run the autogen.sh
1197 script to create generated files like this one.
1199 1999-09-23 Gary Houston <ghouston@freewire.co.uk>
1201 * boot-9.scm (load-user-init): check that the posix feature is
1202 available before using getpw and getuid.
1203 (top-repl): don't install handlers for SIGINT etc., without posix.
1204 (file-is-directory?): use 'posix instead of i/o-extensions to
1206 (load-user-init): use file-exists? and file-is-directory? to
1207 check for .guile, instead of stat.
1208 (file-is-directory?): don't display the file name if posix not
1210 (feature?): I guess this is deprecated. redefined using "provided?"
1211 and changed users in boot-9.scm to "provided?".
1212 Conditionally load posix.scm and networking.scm.
1214 posix.scm, networking.scm: new files. Move definitions from
1215 boot-9.scm if they are only useful with posix/networking available.
1217 * Makefile.am (ice9_sources): add posix.scm, networking.scm.
1219 1999-09-17 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
1221 * debugger.scm (read-and-dispatch-commands): Handle other throws
1222 than 'exit-debugger.
1224 * boot-9.scm (before-signal-stack): New fluid.
1225 (top-repl): Set before-signal-stack in the signal handler.
1227 * debugger.scm (eval-handler): Handle unhandled exceptions.
1229 1999-09-16 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
1231 * debugger.scm ("p"): New alias for "evaluate";
1232 Mark module with :no-backtrace.
1233 ("position"): New command.
1234 (source-position, display-position): New procedures.
1235 (display-source): Display position of expression, if available.
1236 (catch-user-errors): Return #f on error. (Commands are expected
1237 to return a valid state.)
1238 (read-and-dispatch-command): Bugfix: Return old state on error.
1240 1999-09-16 Jim Blandy <jimb@savonarola.red-bean.com>
1242 * regex.scm (regexp-substitute/global): Handle the end of the
1243 match list and an empty match list identically. (Thanks to Greg
1246 1999-09-15 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
1248 * debugger.scm ("evaluate"): Replaced `write-line' with calls to
1249 `write' and `newline' since write-line doesn't write but displays.
1251 1999-09-12 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
1253 * debugger.scm ("evaluate"): Newline after no env announcement.
1255 * debug.scm, emacs.scm: Updated copyright notices.
1257 * boot-9.scm (make-autoload-interface): Bugfix.
1258 (top-repl): Autoload debugger.
1260 * debugger.scm ("backtrace"): Don't pass length param to
1261 display-backtrace if it wasn't explicitly given by the user.
1262 (write-frame-long/application): Also print corresponding source
1264 ("evaluate"): Evaluate in local environment frame, if existent;
1267 1999-09-11 Jim Blandy <jimb@savonarola.red-bean.com>
1269 * format.scm (format:format-work): Use #\tab and #\page instead of
1270 slib:form-feed and slib:tab. (Thanks to Ceri Storey.)
1272 * format.scm (format:abort): Call error, not slib:error.
1274 1999-09-11 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
1276 * boot-9.scm (using-readline?): New procedure: Returns #t if
1277 readline is used by the repl run by this thread.
1278 (handle-system-error): Print "Backtrace:" before backtrace since
1279 this is no longer done by display-backtrace.
1281 * debug.scm (frame-number->index): Optionally take stack as
1284 * debugger.scm: Use the frame number abstraction which allows for
1285 both forward and backward views of the stack
1286 (write-frame-index-short, write-frame-index-long):
1287 Use selector `frame-number';
1288 (select-frame-absolute): Use frame-number->index.
1289 ("backtrace"): Use builtin backtrace printing.
1291 Use readline conditionally.
1293 1999-09-11 Jim Blandy <jimb@savonarola.red-bean.com>
1295 * regex.scm (fold-matches, list-matches): New functions.
1296 (regexp-substitute/global): Rewritten again in terms of
1297 list-matches, to get null match behavior correct.
1299 * regex.scm (regexp-substitute/global): Rewrite so that 'post at
1300 the end of the item list actually causes a tail call. (Thanks to
1303 1999-09-11 Marius Vollmer <mvo@zagadka.ping.de>
1305 * readline.scm: Moved to ../guile-readline.
1307 * boot-9.scm (top-repl): Removed code for activating readline.
1309 * Makefile.am: Removed mention of readline.scm.
1311 * Makefile.in: Regenerated.
1313 1999-09-11 Jim Blandy <jimb@savonarola.red-bean.com>
1315 Delete the test which compares the configuration date of libguile
1316 with the configuration date of ice-9. This test yields too many
1317 false positives to be helpful. For example, if you build Guile
1318 for several architectures but have them all share a "share"
1319 directory (which is supposed to work), then all but one
1320 architecture's Guile will complain that the configuration dates
1321 don't match. Which is true, but indicates nothing wrong.
1322 * boot-9.scm: Delete code which compares ice-9-config-stamp with
1323 libguile-config-stamp.
1324 * version.scm.in: Delete.
1325 * Makefile.am (ice9_generated): Delete.
1326 (subpkgdata_DATA): Remove ice9_generated.
1327 (EXTRA_DIST): Remove version.scm.in.
1328 * Makefile.in: Regenerate.
1330 1999-09-11 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
1332 * debugger.scm: New file: Initial version of the Guile debugger
1333 written by Chris Hanson. (The debugger isn't finished, but is
1334 included in Guile anyway since it is already quite useful.)
1336 * boot-9.scm (top-repl): Use (ice-9 debug) (ice-9 debugger) (ice-9
1337 session) (ice-9 threads) (ice-9 regex) from guile-user only if
1338 top-repl is called. This makes startup time for scripts 30% of
1339 what it was before... Removed redundant code for loading of
1342 * Makefile.am (ice9_sources): Added debugger.scm.
1344 1999-08-29 Keisuke Nishida <kxn30@po.cwru.edu>
1346 * boot-9.scm (try-module-autoload): Use %search-load-path.
1348 1999-08-24 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
1350 * boot-9.scm: Removed old style hooks.
1351 (inherit-print-state): Rwwritten to use port-with-print-state.
1353 1999-08-20 James Blandy <jimb@mule.m17n.org>
1355 Remove support for the #/ path list syntax entirely.
1356 * boot-9.scm (read-path-list-notation,
1357 read-path-list-notation-warning): Deleted.
1358 Don't register read-path-list-notation-warning as a reader for
1359 objects starting with '#/'.
1361 1999-08-05 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
1363 GOOPS needs the observer protocol specified for the new module
1364 system. Here's a simple version for the old module system:
1365 * boot-9.scm (module-observers, module-weak-observers,
1366 module-observer-id, set-module-observers!,
1367 set-module-observer-id!): New accessors.
1368 (module-type): Added slots `observers', `weak-observers' and
1370 (module-observe, module-observe-weak, module-unobserve,
1371 module-modified): New procedures.
1372 (module-make-local-var!, module-add!, module-remove!,
1373 module-clear!, module-define!, module-use!): Call module-modified.
1375 1999-07-29 Marius Vollmer <mvo@zagadka.ping.de>
1377 * boot-9.scm (error-catching-loop): Correct non-RnRS usage of internal
1380 1999-07-19 Jim Blandy <jimb@savonarola.red-bean.com>
1382 * streams.scm: New module, contributed by Michael Livshin.
1383 * Makefile.am (ice9_sources): List it.
1384 * Makefile.in: Regenerated.
1386 * boot-9.scm (read-delimited!): Put the terminator in the correct
1389 1999-06-29 Mikael Djurfeldt <mdj@mdj-pc.nada.kth.se>
1391 * readline.scm: Bugfix: Avoid getting the continued-lines prompt
1392 at multiple calls to read.
1393 (promtp2): Variable for continued-lines prompt.
1394 (make-readline-port): Use prompt2.
1395 (set-readline-prompt!): New optional arg which sets
1396 continued-lines prompt.
1398 * boot-9.scm (top-repl): Set/clear readline prompts before/after
1399 reading expressions.
1401 1999-06-18 Jim Blandy <jimb@savonarola.red-bean.com>
1403 * ls.scm (ls, lls): Handle no arguments as meaning to look in
1404 `(current-module)'. (Patch from Thien-Thi Nguyen.)
1406 1999-06-14 Jim Blandy <jimb@savonarola.red-bean.com>
1408 * string-fun.scm (split-before-predicate, split-after-predicate,
1409 split-discarding-predicate): Make these public. (Thanks to
1412 1999-06-13 Gary Houston <ghouston@easynet.co.uk>
1414 * more changes to expect.scm, to avoid the one-character lookhead
1415 that was introduced to fix the $ problem:
1417 * expect.scm (expect): call the match proc an extra time at end
1418 of file and set the eof? argument appropriately. call
1419 expect-eof-proc only if the last call didn't match.
1420 * expect.scm (expect-strings): change port to eof? in match proc.
1421 * expect.scm (expect-regexec): take an eof indicator as an argument
1424 1999-06-09 Jim Blandy <jimb@savonarola.red-bean.com>
1426 * Makefile.am (ice9_sources): Add popen.scm to list.
1427 * Makefile.in: Regenerated.
1429 Fixes for expect from Gary Houston <ghouston@easynet.co.uk>:
1431 * expect.scm (expect-regexec): define 'eof-next?'. I don't
1432 know why it was missing. also don't peek for end of lines
1433 unless expect-strings-exec-flags contains regexp/noteol.
1434 (expect-strings-exec-flags): initialise to regexp/noteol.
1436 Gary Houston's open-buffer port patches:
1438 1999-04-01 Gary Houston <ghouston@easynet.co.uk>
1440 * popen.scm: applied fixes from Greg Harvey. use a guardian
1441 and a gc-thunk so that cleanup is done if a pipe is garbage
1442 collected or closed with close-port. use a weak hash-table instead of
1445 1999-03-20 Gary Houston <ghouston@easynet.co.uk>
1447 * expect.scm (expect): call the match proc with the port instead.
1448 (expect-strings): use peek-char to get the next char. this has
1449 the advantage of getting the handling of $ "correct", but the
1450 disadvantage of needing to get (and maybe block for) an extra character
1451 from the port when it may not be needed. hence:
1452 (expect-strings-exec-flags): new variable/parameter, supplies
1453 flags for regexp-exec. if this includes regexp/noteol, then
1454 automatic regexp/noteol handling (requiring an extra peeked char)
1455 is enabled. default is regexp/noteol.
1456 (expect-strings-compile-flags): new variable/parameter, supplies
1457 flags for make-regexp. default is regexp/newline.
1459 1999-03-15 Gary Houston <ghouston@easynet.co.uk>
1461 * expect.scm (expect): call the match proc with an extra char,
1462 peeked from the stream.
1463 (expect-strings): build a match proc which takes the extra char.
1464 (expect-regexec): take an extra arg "eof-next?" and use it
1465 to decide whether the regexp/noteol flag should be added.
1467 1999-02-26 Gary Houston <ghouston@easynet.co.uk>
1469 * boot-9.scm (top-repl): don't flush all ports at exit.
1470 (error-catching-loop): likewise.
1472 1998-12-23 Gary Houston <ghouston@easynet.co.uk>
1474 * boot-9.scm (scm-style-repl): -read: don't call
1475 consume-trailing-whitespace if val is eof object. Allows
1476 exiting repl with single control-D.
1478 1998-12-06 Gary Houston <ghouston@easynet.co.uk>
1480 * boot-9.scm (error-catching-loop): don't force output within
1481 error catching loop after quit received.
1482 (top-repl): flush all ports when the repl terminates.
1484 * boot-9.scm (error-catching-loop): flush all ports before
1485 primitive exit if non-interactive.
1486 force-output on current-error-port if interactive.
1488 * boot-9.scm (reopen-file): deleted.
1489 * popen.scm (open-output-pipe, open-input-pipe): moved from
1491 * popen.scm: new file.
1493 1999-06-04 Dirk Herrmann <D.Herrmann@tu-bs.de>
1495 * boot-9.scm (iota): replaced by a tail recursive version.
1496 (reverse-iota): removed.
1498 1999-06-03 Mikael Djurfeldt <mdj@mdj-pc.nada.kth.se>
1500 * optargs.scm (lambda*): Bugfix: Replaced ARGLIST -->
1501 non-optional-args. (Thanks to David Lutterkort.)
1503 1999-05-09 Jim Blandy <jimb@savonarola.red-bean.com>
1505 * string-case.scm: Removed; functions moved to libguile/strop.c
1506 (which could be dynamically linked in the future anyway).
1507 * Makefile.am (ice9_sources): Don't list string-case.scm.
1508 * Makefile.in: Regenerated.
1509 * format.scm: Don't bother importing (ice-9 string-case).
1511 1999-05-02 Jim Blandy <jimb@savonarola.red-bean.com>
1513 * boot-9.scm (provided?): New function.
1515 * Makefile.am: Add string-case.scm and format.scm to ice9_sources.
1516 * Makefile.in: Regenerated.
1518 * string-case.scm: New file, brought in from SLIB, and adapted to
1519 Guile's module system.
1521 * format.scm: New file, brought in from SLIB, with the following
1523 (format:format): If the first argument is the format string, stick
1524 a #f on the front of it, so it is now a valid CL format argument
1525 list. This is easier than changing everyplace else (like the
1526 error formatter) that expects it to be in CL form. The other
1527 clause which explicitly tests for this case is now dead code.
1528 (format:format-work): Allow `@' and `:' in either order, as per
1530 (format:num->cardinal): Don't assume that an elseless if returns
1531 '() when the condition is false.
1533 1999-04-17 Jim Blandy <jimb@savonarola.red-bean.com>
1535 * Makefile.in: Regenerated.
1537 1999-04-08 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1539 * boot-9.scm: Provide 'values.
1541 1999-03-21 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1543 * boot-9.scm (process-define-module, use-syntax): Bugfix:
1544 :use-syntax should add syntax to using module, not current module.
1545 (internal-use-syntax): Removed.
1547 1999-03-21 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1549 * session.scm (apropos-internal): Modified to comply with new
1550 argument order for hash-fold.
1552 1999-03-19 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1554 * boot-9.scm (try-load-module): New procedure. Broken out from
1556 (resolve-module): Bugfix: Make it possible for a module at a
1557 deeper level (x y z) to depend on a module on a higher (x y).
1559 This also has the desired side-effect that multiple attempts to
1560 load a module (e.g. with `use-modules') work until source is
1561 actually found for the module (e.g. because the correct catalog
1562 has been added to the load path).
1564 Use try-load-module.
1566 1999-03-18 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1568 * session.scm (system-module): New procedure. Used to switch a
1569 module between system and user state.
1571 1999-03-16 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1573 * session.scm (apropos-internal): Rewritten using hash-fold.
1575 * emacs.scm, session.scm, slib.scm): Added :no-backtrace in module
1578 1999-03-14 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1580 * boot-9.scm (make-record-type): Use `set-struct-vtable-name!' to
1581 associate a name to the record type descriptor so that the object
1582 system can create a wrapper class for it.
1584 1999-03-12 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1586 Improvement of backtraces: Introduces a new stack narrowing
1587 specifier, #t, for the inner cut. If the inner cut is specified
1588 by #t, `make-stack' will throw away inner stack frames (most
1589 recent calls on call chain) up to but excluding the first user
1590 stack frame encountered.
1592 This specifier is now used in `save-stack' so that the call
1593 `(save-stack)' will get the new behaviour. [It is recommended that
1594 any error reporting functions written by the user have this call
1595 on the outermost expression level (i.e. as a member of the lambda
1598 Modules are partitioned into "user" and "system" modules. [I know
1599 that some names used here are silly, but I don't have more time to
1600 spend on a better solution, especially considering that the module
1601 system will be replaced. But if people have better ideas, then
1604 System modules are created by adding :no-backtrace among the
1605 define-module switches:
1607 (define-module (foo)
1610 Modules which doesn't have the :no-backtrace specifier are user
1613 A stack frame is classified as a user frame if it has source code
1614 associated with it and if this source code can be proven to come
1615 from a user module. If it can be proven to come from a system
1616 module it is a system frame.
1618 Frames which can't be classified, e.g. application frames, are cut
1619 away if they occur between system frames, but are left on the
1620 stack if they occur between the last system frame and the first
1621 user frame encountered. (Note that the first user frame
1622 encountered is the last user code being evaluated!)
1624 In some cases the system part of the call chain is introduced by
1625 frames which should but can't be proven to be system frames. The
1626 following workaround has been implemented: The cutting proceeds
1627 over application frames where the operator is marked by the
1628 `system-procedure' property. (This has been used to cut away
1629 generic function dispatch code in the object system.)
1631 * boot-9.scm (set-system-module!): New procedure: Set system/user
1632 status of a module.;
1633 Mark `the-root-module' and `the-scm-module' as system modules.
1634 (process-define-module): Add new keyword :no-backtrace.
1636 * boot-9.scm (environment-module): Bugfixed.
1637 (set-module-eval-closure!): Add a pointer back from the eval
1638 closure to the module.
1640 * emacs.scm (emacs-load): Reset port filename after transfer.
1642 1999-03-03 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1644 * slib.scm (make-random-state): Added for compatibility.
1646 1999-02-16 Maciej Stachowiak <mstachow@alum.mit.edu>
1648 * optargs.scm (lambda*): Handle empty argument lists properly.
1650 1999-02-15 Jim Blandy <jimb@savonarola.red-bean.com>
1652 Fix from Russ McManus:
1653 * getopt-long.scm (parse-option-spec): Store 'optional as the
1654 value-required? field for options that take optional values.
1655 (process-short-option): Grab a value for the option when it takes
1656 either an optional or required value.
1658 1999-02-12 Jim Blandy <jimb@savonarola.red-bean.com>
1660 * getopt-long.scm: Remove debugging calls to `pk'.
1662 * getopt-long.scm: Return list of ordinary arguments as the value
1663 of the '() key, not `rest'.
1665 A new argument-processing package from Russ McManus.
1666 * getopt-long.scm: New file.
1667 * Makefile.am (ice9_sources): Added getopt-long.scm.
1668 * Makefile.in: Regenerated.
1670 1999-02-09 Maciej Stachowiak <mstachow@alum.mit.edu>
1672 * optargs.scm: New file.
1673 * Makefile.am (ice9_sources): Add optargs.scm here. Makefile.in
1674 not regenerated because I don't have the right version of Automake.
1676 1999-02-06 Jim Blandy <jimb@zwingli.cygnus.com>
1678 * and-let*.scm: New file, from Michael Livshin.
1679 * Makefile.am (ice9_sources): Add and-let* here.
1680 * Makefile.in: Regenerated.
1682 1999-01-11 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1684 * slib.scm (install-require-module): Fixed the kludge which loads
1685 the slib catalog: Doesn't anylonger assume that the feature tested
1688 1998-12-14 Jim Blandy <jimb@zwingli.cygnus.com>
1690 * Makefile.in: Regenerated.
1692 1998-12-14 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1694 * boot-9.scm (process-define-module): Reverted the change of
1695 1998-11-23 which caused loading of object code if :use-module was
1696 applied to the module itself.
1698 1998-12-11 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1700 * Makefile.am: Removed setf.scm.
1702 * setf.scm: Removed. 1. It was buggy. 2. It was unschemey.
1703 (These shortcomings were my fault.)
1705 1998-12-10 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1707 * boot-9.scm (environment-module): New procedure.
1709 1998-12-07 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1711 * Makefile.am: Added setf.scm.
1713 1998-12-05 Christian Lynbech <chl@tbit.dk>
1715 * setf.scm: New file. Adds the new forms `setf!' and `setter'
1716 which implements generalized references a la Common LISP.
1718 1998-12-02 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1720 * boot-9.scm (process-define-module): Added new specifier
1721 :autoload MODULENAME BINDINGS to the define-module form.
1722 The autoload specifier tells the module system to load the module
1723 MODULENAME at the first occasion that any variable with its name
1724 among BINDINGS is referenced.
1725 (make-autoload-interface): New procedure: Constructs a stand-in
1726 for the public interface for the module to be autoloaded.
1728 1998-12-01 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1730 * boot-9.scm (*suppress-old-style-hook-warning*): Set this to #t
1731 if you don't want the old style hook warnings.
1733 1998-12-01 Christian Lynbech <chl@tbit.dk>
1735 * boot-9.scm (try-using-libtool-name): Fix check on dlname to make
1736 sure that it isn't empty, as it is when we are only buidling
1739 1998-11-27 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1741 * session.scm (arity): New procedure.
1743 1998-11-26 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1745 * boot-9.scm: Use run-hook instead of run-hooks everywhere.
1747 1998-11-26 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1749 * boot-9.scm (run-hooks, add-hook!, remove-hook!): Added temporary
1750 code for backward compatibility until people have had time to
1751 adapt to the new hooks.
1753 1998-11-23 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1755 * boot-9.scm (beautify-user-module!): Beautify also if public
1756 interface is set to the module itself. In this way we can use
1757 beautify-user-module! to beautify a module prepared for object
1759 (process-define-module): Special case: Try to load object code as
1760 well if a module does :use-module on itself.
1762 * boot-9.scm: Bugfix: Since boot-9.scm is now loaded from
1763 invoke_main_func, we can no longer be sure that all modules have
1764 been registered when boot-9.scm is loaded.
1765 (register-modules): New function: Register and tag modules
1766 registered by scm_register_module_xxx since last call to this
1767 function. Modules are tagged with the dynamic object passed as
1768 argument. (Already linked modules should be tagged with #f.)
1769 (init-dynamic-module, link-dynamic-module): Call register-modules
1770 first to register linked modules.
1772 * boot-9.scm (init-dynamic-module): Remove module from
1773 registered-modules as soon as possible in case we are recursively
1774 invoked; Set public interface before doing the dynamic-call.
1776 * boot-9.scm (map-in-order): Removed (replaced by scm_serial_map).
1777 (abort-hook, before-error-hook, after-error-hook,
1778 before-backtrace-hook, after-backtrace-hook, before-read-hook,
1779 after-read-hook, exit-hook): Make hooks with `make-hook'.
1781 * boot-9.scm: Make hooks first class citizens and make them easier
1783 (make-hook, add-hook!, remove-hook!, run-hooks): Moved to
1786 * boot-9.scm: Added warnings about bindings used in
1787 libguile/modules.c: the-module, set-current-module,
1788 make-modules-in, beautify-user-module!, module-eval-closure.
1790 1998-11-21 Mikael Djurfeldt <mdj@kenneth>
1792 * boot-9.scm (the-environment): New special form: Returns an
1793 object representing the current local evaluation environment.
1794 This object can be used in `local-eval' and `defined?'.
1796 1998-11-13 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1798 * boot-9.scm (collect): New syntax. Similar to begin but returns
1799 a list of the results of all forms in the sequence instead of the
1800 result of the last form.
1802 1998-11-10 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1804 * boot-9.scm (values, call-with-values): Moved here from
1807 * syncase.scm (values, call-with-values): Moved to boot-9.scm.
1809 * boot-9.scm (readline-options, readline-enable, readline.disable,
1810 readline-set!: New options interface.
1812 * readline.scm (readline-port): Use readline-options-interface.
1814 1998-11-05 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1816 * boot-9.scm: Set the repl start module in `top-repl' instead of
1817 at the end of boot-9.scm.
1819 1998-11-01 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1821 * emacs.scm (format): Bugfix: Handle multiple arguments
1822 correctly. (Thanks to Thien-Thi Nguyen.)
1824 1998-11-01 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1826 * boot-9.scm (exit-hook): New hook: Is run at the very end of an
1827 interactive session.
1828 (top-repl): Run exit-hook on exit.
1830 * readline.scm (readline-port): Maybe read history; Maybe write
1831 history at exit (add to exit-hook).
1833 Fri Oct 30 15:15:37 1998 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1835 * readline.scm (make-readline-port): Bugfixed last change...
1837 1998-10-28 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1839 * readline.scm (make-readline-port): Don't set prompt to "... " if
1840 read line was empty.
1842 1998-10-19 Jim Blandy <jimb@zwingli.cygnus.com>
1844 * boot-9.scm, debug.scm, expect.scm, hcons.scm, lineio.scm,
1845 r4rs.scm, slib.scm, threads.scm: Update copyright years.
1847 * getopt-gnu-style.scm, slib.scm: Add copyright notice.
1849 Talked to Stallman. Actually, the syntax-case copyright is no
1851 * Makefile.am (ice9_sources): Revert last change.
1852 * syncase.scm, psyntax.pp, psyntax.ss: Added again.
1853 * Makefile.in: Regeneretade.
1855 * boot-9.scm: Don't assume that this file is loaded just before
1856 entering a read-eval-print loop. Turn code to load (ice-9 emacs)
1858 (load-emacs-interface): New function.
1859 (top-repl): Call it, if use-emacs-interface is defined and true.
1860 At this point, we *do* know we're about to enter a REPL.
1862 We can't include Kent Dybvig's syntax-case macro expander in the
1863 core Guile distribution, because we don't have copyright
1864 assignments for this code. We can certainly distribute them as a
1865 separate package, but Guile should be FSF code.
1866 * syncase.scm, psyntax.pp, psyntax.ss: Removed.
1867 * Makefile.am (ice9_sources): Removed syncase.scm, psyntax.pp, and
1869 * Makefile.in: Regenerated.
1871 * Makefile.am (ice9_sources): Add getopt-gnu-style.scm.
1872 * Makefile.in: Regenerated.
1874 1998-10-18 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1876 * boot-9.scm: Added extended read syntax for byte vectors #y(...)
1877 and short vectors #h(...).
1879 1998-10-14 Jim Blandy <jimb@zwingli.cygnus.com>
1881 * calling.scm (excursion-function-syntax): Use a sequence of
1882 set!'s, not a single multi-variable set!; we removed support for
1883 that syntax a long time ago. (Thanks to Shuji Narazaki.)
1885 1998-10-12 Jim Blandy <jimb@zwingli.cygnus.com>
1887 * r4rs.scm (OPEN_READ, OPEN_WRITE, OPEN_BOTH): Don't bother
1888 testing software-type here. That's the least of our Windows
1889 porting issues, and it's done wrong anyway.
1891 1998-10-09 Jim Blandy <jimb@zwingli.cygnus.com>
1893 * boot-9.scm (read-path-list-notation-warning): New function:
1894 print a warning the first time we see `#/' notation.
1896 * q.scm (sync-q!, q?, q-remove!, q-push!, enq!): Lots of bugs, and
1897 (eq? #f '()) assumptions. Make functions that aren't documented
1898 to return anything else return the queue itself. (Bug report from
1899 Michael Livshin --- thanks!)
1901 1998-08-21 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1903 * debug.scm (trace-entry, trace-exit): Removed re-enabling of
1906 * boot-9.scm (make-options): Bugfix: Changed pair? --> list? in
1907 order to allow the empty list as arg.
1908 (error-catching-loop): Use `with-traps' to create a dynamic
1909 context with traps enabled.
1911 1998-08-19 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1913 * boot-9.scm: Removed (ice-9 regex) from use-list of (guile)
1915 (try-using-libtool-name): Removed dependency on (ice-9 regex).
1917 1998-08-15 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1919 * boot-9.scm: Make the root module use (ice-9 regex) if
1920 available. The dynamic linking facilities in boot-9.scm are
1921 currently dependent upon regular expressions. My change of
1922 1998-07-14 removed (ice-9 regex) from the use-list of the root
1923 module and thereby destroyed dynamic linking.
1925 1998-07-29 Jim Blandy <jimb@zwingli.cygnus.com>
1927 * Makefile.in: Regenerated using the last public version of
1928 automake, not the hacked Cygnus version.
1930 1998-07-28 Jim Blandy <jimb@zwingli.cygnus.com>
1932 * Makefile.in: Regenerated, after removing Totoro kludge.
1934 1998-07-28 Jim Blandy <jimb@totoro.red-bean.com>
1936 * getopt-gnu-style.scm: New file. (Thanks to Russ McManus.)
1938 1998-07-26 Jim Blandy <jimb@zwingli.cygnus.com>
1940 * Makefile.in Rebuilt, for config changes in parent dir.
1942 1998-07-21 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1944 * readline.scm (make-readline-port): Set prompt string to "... "
1945 after first read line. (Thanks to Richard Polton.)
1947 1998-07-19 Jim Blandy <jimb@zwingli.cygnus.com>
1949 * lineio.scm (make-line-buffering-input-port): Don't use
1950 ungetc-char-ready?, since we don't provide that function any
1951 more. The unread-string function doesn't interact properly with
1952 any of the standard I/O functions anyway. (Thanks to Andrew
1955 * hcons.scm (hashq-cons-assoc): Don't assume the empty list is
1956 false. Return false when we cannot find a matching entry in the
1957 list. (Thanks to Andrew Archibald.)
1959 1998-07-16 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1961 * boot-9.scm (export, export-syntax): New special forms: Export
1962 bindings from a module. `(export name1 name2 ...)' can be used at
1963 the top of a module (after `define-module') to specify which names
1964 should be exported. It can be used as an alternative to
1965 `define-public'. `export-syntax' works equivalently to `export'
1966 but is intended for export of syntactic keywords.
1967 (Thanks to Thien-Thi Nguyen.)
1969 1998-07-15 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1971 * boot-9.scm: Renamed module `(guile-repl)' --> `(guile-user)'.
1973 1998-07-14 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1975 * boot-9.scm: Let the user start in module `(guile-repl)' instead
1976 of module `(guile)'. Also make sure that `(guile-repl)' uses
1977 suitable modules. This change improves Guile stability
1978 substantially since bindings will only be copied from the root
1979 module: If the user redefines builtins in `(guile-repl)' it won't
1980 affect the internal operation of Guile itself.
1982 1998-06-19 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1984 * boot-9.scm (load-module): When loading files from within files
1985 themselves being loaded: Use the directory path of the file being
1986 loaded as root for relative filenames. (After suggestion by
1989 1998-06-15 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1991 * emacs.scm (emacs-load): New feature: Eval in specified module.
1993 1998-06-14 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1995 * readline.scm: Typo in regex module name.
1997 1998-06-13 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
1999 * readline.scm (apropos-completion-function): regexp-quote text to
2002 1998-06-11 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2004 * debug.scm, emacs.scm: Bugfix: Treat `the-last-stack' as a fluid.
2006 1998-06-09 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2008 * boot-9.scm: Check that (current-input-port) is a tty before
2009 enabling readline. (Thanks to Michael N. Livshin.)
2011 1998-06-07 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2013 * boot-9.scm (use-syntax): Turned into a macro inorder to be
2014 similar in use to `use-modules'.
2015 Example: (use-syntax (ice-9 syncase)) will 1. load the module
2016 (ice-9 syncase), and, 2. install the procedure `syncase' as eval
2018 (internal-use-syntax): New procedure.
2019 (process-define-module): Use `internal-use-syntax'.
2021 1998-05-19 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2023 * Makefile.am (ice9_sources): Add emacs.scm.
2025 1998-05-13 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2027 * readline.scm: Use the new readline facilities: Add the
2028 possibility to control input and output ports; Add apropos
2031 * boot-9.scm: Antirevert Jim's readline code which he reverted
2032 19971027 and adapt it to the current readline interface.
2034 * boot-9.scm (top-repl): Only enable readline if not using the
2035 Emacs interface; Only use repl prompt when using the readline port
2036 from repl-read. (We don't want to see it when calling `read'.)
2038 * boot-9.scm (remove-hook!): Parenthesis bug.
2040 1998-05-11 Mikael Djurfeldt <mdj@kenneth>
2042 * boot-9.scm: Load readline module if readline is present.
2044 * readline.scm (apropos-completion-function): New procedure:
2045 Symbolic completion. (Thanks to Andrew Archibald!)
2047 1998-04-22 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2049 * boot-9.scm (process-define-module): Added keyword use-syntax.
2051 1998-04-19 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2053 * nonblocking.scm: Removed. libguile is now inherently
2054 nonblocking through the use of scm_internal_select.
2056 * emacs.scm: Removed use of nonblocking.scm.
2058 * gwish.scm, gtcl.scm: Removed. tcltk.scm has made these
2061 1998-04-15 Mikael Djurfeldt <mdj@nada.kth.se>
2063 * runq.scm (runq-control): Corrected spelling of enqueue!.
2064 (Thanks to Karl M. Hegbloom.)
2066 1998-03-30 Mikael Djurfeldt <mdj@nada.kth.se>
2068 * boot-9.scm: Added new run-time option interface eval-options.
2070 1998-03-28 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2072 * boot-9.scm (remove-hook!): New macro. (Thanks to Maciej
2075 1998-01-30 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2077 * threads.scm: Added simple error and signal handler.
2078 (make-thread, begin-handler): Use this handler. The most
2079 important effect of this is that signals get unmasked.
2080 Previously, when a signal was thrown signals remained masked
2081 (signals get masked when a signal is taken) which influenced other
2084 1998-01-01 Tim Pierce <twp@skepsis.com>
2086 A better fix to the SLIB identity problem -- thanks to Marius Vollmer.
2087 * slib.scm (identity): Unmake public.
2088 (slib:eval): Evaluate inside `slib-module'.
2090 1997-12-24 Tim Pierce <twp@skepsis.com>
2092 * boot-9.scm: Doc fix.
2094 * slib.scm (identity): Made public.
2095 (home-vicinity): New function (from SLIB/Template.scm).
2097 1997-12-13 Tim Pierce <twp@skepsis.com>
2099 * boot-9.scm (read-line): Rewritten to call %read-line for
2100 improved speed. Minor user-visible changes: the new functions are
2101 hardwired to treat the LFD character as signifying end-of-line, so
2102 changing `scm-line-incrementors' will no longer affect the
2103 behavior of read-line. On platforms which do not represent
2104 end-of-line with a LFD character, read-line should behave more
2105 like native line-processing facilities, but there is still a ways
2108 Sat Nov 29 01:24:46 1997 Mikael Djurfeldt <mdj@kenneth>
2110 * boot-9.scm (error-catching-loop, save-stack): `the-last-stack'
2113 1997-11-28 Tim Pierce <twp@skepsis.com>
2115 * boot-9.scm (find-and-link-dynamic-module): If a module directory
2116 contains a .la file (a libtool support file), attempt to extract
2117 the shared library name from that file. If the .la file does not
2118 exist, try to link against a .so file. Libtool-generated compiled
2119 modules should load more cleanly in Guile now.
2120 (try-using-libtool-name, try-using-sharlib-name): New functions.
2122 Sun Nov 9 06:10:59 1997 Gary Houston <ghouston@actrix.gen.nz>
2124 * boot-9.scm (set-batch-mode?!, batch-mode?): initialize more
2125 usefully so they will work from a script.
2127 1997-10-31 Marius Vollmer <mvo@zagadka.ping.de>
2129 * boot-9.scm (inherit-print-state): Moved definition to the
2130 neighborhood of the record code.
2132 Mon Oct 27 02:05:49 1997 Jim Blandy <jimb@totoro.red-bean.com>
2134 * boot-9.scm: Revert changes to this file from Oct 23. It turns
2135 out to interact badly with the Emacs support and the Tcl/Tk
2136 support. It's not a high enough priority at the moment to be
2137 worth fixing. I'm leaving the other readline support in, though.
2139 Sat Oct 25 14:23:22 1997 Jim Blandy <jimb@totoro.red-bean.com>
2141 * Makefile.am: Include readline.scm in the list of files to be
2142 installed, so Guile can find it for interactive use.
2143 * Makefile.in: Regenerated.
2145 Thu Oct 23 01:00:33 1997 Jim Blandy <jimb@totoro.red-bean.com>
2147 Add support for readline function.
2148 * readline.scm: New module.
2149 * boot-9.scm (repl-reader): New function.
2150 (scm-style-repl): Call repl-reader, instead of doing the reading
2151 ourselves. Remove repl-report-reset; it was never used for
2153 (top-repl): If we've got the readline primitives, then redefine
2154 repl-reader to use them.
2155 If we've got the readline primitives, import the readline module.
2157 * ls.scm (ls, lls): Don't assume (eq? #f '()).
2159 Wed Oct 22 18:26:57 1997 Jim Blandy <jimb@totoro.red-bean.com>
2161 * calling.scm, common-list.scm, ls.scm, q.scm, runq.scm,
2162 string-fun.scm: Added copyright notices; reformatted.
2164 Thu Oct 9 05:44:00 1997 Gary Houston <ghouston@actrix.gen.nz>
2166 * expect.scm: (expect-regexec): new procedure, use it in
2167 expect-strings to fix the => syntax under the new regex system.
2168 (top): include regex module in define-module statement.
2170 Wed Oct 8 03:16:01 1997 Gary Houston <ghouston@actrix.gen.nz>
2172 * (error-catching-loop): new local variable "interactive". if
2173 #f, abort terminates the process.
2174 (set-batch-mode?!, batch-mode?): new closures, defined in
2175 error-catching-loop. the names are from scsh.
2177 1997-10-06 Marius Vollmer <mvo@zagadka.ping.de>
2179 * boot-9.scm (inherit-print-state): If NEW-PORT contains a
2180 print-state, throw it away.
2182 Fri Oct 3 12:00:00 Mikael Djurfeldt <mdj@nada.kth.se>
2184 * boot-9.scm (struct-layout): Use `vtable-index-layout' instead of
2187 Thu Oct 2 12:00:00 Mikael Djurfeldt <mdj@nada.kth.se>
2189 * boot-9.scm (struct-printer, make-struct-printer,
2190 set-struct-printer-in-vtable!, *struct-printer*): Removed.
2191 (record-type-vtable, make-record-type): Don't use make-struct-printer.
2192 (record-type-vtable): User fields "prpr" (printer is no longer a
2194 (record-type-name, record-type-fields): Decreased slot index by
2195 one; Use `vtable-offset-user'.
2197 Thu Oct 2 12:00:00 Marius Vollmer <mvo@zagadka.ping.de>
2199 * boot-9.scm (inherit-print-state): New experimental function.
2201 Tue Sep 30 13:12:48 1997 Jim Blandy <jimb@totoro.red-bean.com>
2203 Suggestion and script from Maciej Stachowiak:
2204 * boot-9.scm: Split off modules into separate, autoloadable files.
2205 This reduces startup time from 10.5s to 5.5s (user cpu).
2206 * calling.scm, common-list.scm, ls.scm, q.scm, runq.scm,
2207 string-fun.scm: New files, containing stuff that used to be in
2209 * Makefile.am (ice9_sources): List new files here, for
2210 distribution and installation.
2211 * Makefile.in: Regenerated.
2213 Mon Sep 29 23:53:55 1997 Jim Blandy <jimb@totoro.red-bean.com>
2215 * Makefile.in: Regenerated with automake 1.2c.
2217 Mon Sep 29 03:21:24 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2219 * slib.scm (slib:load): slib:load first tries to load the file
2220 named NAME, then NAME.scm. On error, report the error occuring at
2221 the first attempt (NAME) rather than the second (NAME.scm).
2223 * boot-9.scm: Bugfix: Hard-solder the print-option procedure into
2224 the make-options macro so that we needn't refer to a global
2227 Sun Sep 28 21:40:24 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2229 * debug.scm: Moved options interface procedures to boot-9.scm.
2231 * boot-9.scm: Define options interface procedures here instead.
2233 Sat Sep 27 20:19:20 1997 Jim Blandy <jimb@totoro.red-bean.com>
2235 * boot-9.scm (separate-fields-discarding-char,
2236 separate-fields-after-char, separate-fields-before-char): Call
2237 continuation function, RET, as advertised: with each separated
2238 field a separate argument.
2240 * Makefile.in: Regenerated with automake 1.2a.
2242 Sat Sep 20 14:23:53 1997 Mikael Djurfeldt <mdj@kenneth>
2244 * slib.scm (slib:load): Export.
2246 * boot-9.scm (in-vicinity): Bugfix: Don't add "/" to an empty
2250 Thu Sep 18 01:24:31 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2252 * r4rs.scm (apply): Set name property to 'apply.
2254 Tue Sep 16 22:09:50 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2256 * boot-9.scm (keyword->symbol, display-usage-report): Changed
2257 length --> string-length. (Thanks to Aleksandar Bakic.)
2258 (separate-fields-discarding-char, separate-fields-after-char,
2259 separate-fields-before-char): Bugfix from Maciej Stachowiak
2260 <mstachow@mit.edu>. Thanks!
2261 (try-module-linked): Try to find module among those already
2263 (try-module-dynamic-link): Removed the first test which
2264 corresponds to a call to `try-module-linked'.
2265 (resolve-module): Resolve modules in this order: 1. Already
2266 registered modules (for example those which have been statically
2267 linked), 2. Try to autoload an .scm-file, 3. Try to dynamically
2270 Mon Sep 15 23:39:54 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2272 * boot-9.scm (iota): Renamed list-reverse! --> reverse!
2274 Thu Sep 11 02:31:38 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2276 * session.scm (name): New procedure: Gives name of object.
2277 (source): New procedure: Gives source of object.
2279 Wed Sep 10 20:12:45 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2281 * boot-9.scm (primitive-macro?): New procedure.
2283 * slib.scm: Added hack which transfers syntactic information from
2284 the builtin variable `define' to the slib version if module (ice-9
2285 syncase) has been loaded. This is necessary to get correct
2286 expansion inside the slib module.
2288 * psyntax.ss (build-let, build-named-let): New output
2290 (build-lexical-var): Seed gensym with symbolic name.
2291 (self-evaluating?): Add keywords among self-evaluating types.
2292 (let): New core form.
2293 (if): Removed from core language.
2294 (or, and, let, cond): Removed syntactic definitions.
2295 (sc-expand3): New procedure: Expander which takes optional mode
2296 and eval-syntactic-expanders-when arguments.
2298 * syncase.scm (psyncomp): New procedure: Recompiles psyntax.pp.
2299 Should be used inside the (ice-9 syncase) module with (use-syntax
2300 syncase) and with the current directory containing the psyntax.ss
2302 Added hack to transfer syntactic information from the builtin
2303 variable `define' to the slib version if module (ice-9 slib) has
2306 Fri Sep 5 05:47:36 1997 Mikael Djurfeldt <mdj@faun.nada.kth.se>
2308 * syncase.scm (sc-interface, sc-expand): Removed hook setup.
2309 (syncase): Publish syntax transformer to be used with
2311 (sc-macro): Use this as the value when publishing macros.
2313 * boot-9.scm (module-type): Added `transformer'.
2314 (make-module): Modified initialization.
2315 (module-transformer, set-module-transformer!): Selector and
2316 mutator for module-associated transformer.
2317 (set-current-module): Use module-transformer to set
2318 `scm:eval-transformer'.
2319 (module-use!): Previous change reverted.
2320 (use-syntax): New function: Install a transformer in current
2322 (sc-interface, sc-expand): Removed! :)
2324 Fri Sep 5 03:09:09 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2326 * emacs.scm (emacs-load): Added new parameter `module'.
2328 * syncase.scm (putprop, getprop): Modified to use the object
2329 properties of the variable object corresponding to the symbol;
2330 This way we can ride on the mechanisms of the module system.
2331 Changed `builtin-variable' calls to `define-public' calls.
2332 Setup the hooks sc-expand and sc-interface.
2334 * boot-9.scm (sc-interface, sc-expand): New builtin variables.
2335 (set-current-module): Switch to and from sc-expand as
2336 scm:eval-transformer when going into and out of modules using
2338 (module-use!): Set scm:eval-transformer to sc-expand when adding
2339 the syncase interface.
2341 Thu Sep 4 14:57:04 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2343 * syncase.scm (putprop): Temporary fix which publishes new syntax
2344 globally (the old behaviour was complex and connected to the inner
2345 workings of the current module system).
2347 Wed Sep 3 21:29:13 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2349 * psyntax.ss: Updated.
2350 psyntax.pp: Bugfix: Previous version had some leading "t":s cut
2353 Tue Sep 2 00:26:42 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2355 * boot-9.scm (gensym): Removed (replaced by primitive).
2356 (obarray-gensym): Rewritten to use `gensym'.
2357 (gentemp): Rewritten to use `gensym'.
2359 Mon Sep 1 20:08:32 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2361 * gtcl.scm (make-tcl-binder): Rewritten to choose bindings
2362 according to the following priorities:
2363 1. tcl bindings which are present in override-scheme-list
2364 2. bindings from the-scm-module
2366 This way the gtcl module can occur first in the use-list without
2367 disabling the scheme interpreter.
2368 (new-interpreter): New function.
2370 * gwish.scm: Moved initialization code for the-interpreter to
2371 gtcl.scm; Moved name space cleaning code to gtcl.scm and rewrote
2372 it; Call `new-interpreter'; Don't :use-module (guile).
2374 Thu Aug 28 23:48:53 1997 Jim Blandy <jimb@totoro.red-bean.com>
2376 * Makefile.in: Regenerated.
2378 Wed Aug 27 11:35:09 1997 Jim Blandy <jimb@totoro.red-bean.com>
2380 * Makefile.in: Regenerated, so it uses "tar", not "gtar".
2382 Mon Aug 25 22:00:44 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2384 * emacs.scm (object->string, format, error-args->string): New
2386 (emacs-frame-eval): Reworked.
2388 Mon Aug 25 16:15:55 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2390 * session.scm (apropos-internal): Musn't initialize symbol
2391 accumulator with a constant pair. That led to mutation of the
2394 Sun Aug 24 01:03:10 1997 Mikael Djurfeldt <mdj@kenneth>
2396 * session.scm (vector-for-each): Removed.
2397 (apropos): vector-for-each --> array-for-each.
2398 (apropos-internal): New function. Return list of accessible
2399 symbols matching regexp.
2401 * debug.scm (frame-number->index): New function. Convert frame
2402 number (as displayed in the backtrace) to frame index (to be used
2405 * emacs.scm (emacs-load): New arguments: interactivep: when
2406 non-false, send back results to Emacs; colnum: Column number;
2407 Use modules (ice-9 debug) and (ice-9 session);
2408 (no-stack, no-source): New simple-actions;
2409 (result-to-emacs): New procedure. Sends data to Emacs via the
2411 (get-frame-source, emacs-select-frame, emacs-frame-eval,
2412 emacs-symdoc): New procedures.
2414 Wed Aug 20 13:21:11 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2416 * emacs.scm (emacs-load): Adjust stack narrowing.
2417 (whitespace-chars): Include #\np.
2419 * syncase.scm: Also turn off debugging evaluator and recording of
2420 procedure names during loading of psyntax.pp.
2422 * psyntax.pp: Removed leading blanks => 800K -> 100K.
2424 Tue Aug 19 02:39:41 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2426 * syncase.scm: Don't tamper with debug mode setting when enabling
2427 macros. Instead cut the stack with start-stack.
2428 Load psyntax.pp with recording of positions turned off.
2430 * psyntax.pp, psyntax.ss (quasiquote): Changed fx= --> =.
2432 * syncase.scm: New file: Guile-adaption for syntax-case macros.
2433 * psyntax.pp, psyntax.ss: Syntax-case macros, portable version 2 by
2434 R. Kent Dybvig, Oscar Waddell, Bob Hieb and Carl Bruggeman
2436 Mon Aug 18 21:58:25 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2438 * session.scm: New file: Session support.
2439 (apropos): New procedure: List bindings given regexp.
2441 Sat Aug 16 18:44:24 1997 Gary Houston <ghouston@actrix.gen.nz>
2443 * boot-9.scm: define tms accessors: clock, utime, stime, cutime,
2446 Thu Aug 14 19:55:37 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2448 * emacs.scm (emacs-load): Something has changed in the reader so
2449 that we now should set the port line count to the specified value
2450 (linum) instead of (- linum 1).
2452 * slib.scm (slib:load): Use load-from-path instead of
2453 primitive-load-path so that backtraces get narrowed properly at
2456 * boot-9.scm (top-repl): Save stack already in signal handler in
2457 order to narrow it correctly.
2458 (save-stack): Adjust narrowing tag for the top of load-stacks.
2460 Tue Jul 29 01:18:08 1997 Gary Houston <ghouston@actrix.gen.nz>
2462 * boot-9.scm (move->fdes, dup->port): use dup->fdes, not primitive-dup.
2463 (dup->fdes): deleted, now done in C.
2465 Sat Jul 26 08:00:42 1997 Gary Houston <ghouston@actrix.gen.nz>
2467 * boot-9.scm (setenv): new procedure, scsh compatible.
2469 Sat Jul 26 21:30:10 1997 Marius Vollmer <mvo@zagadka.ping.de>
2471 * boot-9.scm (with-fluids): New macro to go with the
2472 builtin `with-fluids*'.
2474 Thu Jul 24 04:28:11 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2476 * slib.scm (install-require-module): In newer versions of slib
2477 *catalog* is #f until the first access. Therefore we call
2478 require:provided? for a random feature if *catalog* is #f.
2480 Wed Jul 23 20:13:04 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2482 * boot-9.scm: If using emacs interface, enable backtraces
2485 Mon Jul 21 06:45:45 1997 Gary Houston <ghouston@actrix.gen.nz>
2487 * boot-9.scm (dup->port, dup->inport, dup->outport, dup->fdes,
2488 dup, fdes->inport, fdes->outport, port->fdes): new procedures.
2489 (duplicate-port): was a C primitive, now it's here.
2490 (move->fdes): allow the first argument to be a file descriptor.
2491 Return the modified port or file descriptor (was unspecified.)
2493 Fri Jul 11 00:13:43 1997 Jim Blandy <jimb@floss.red-bean.com>
2495 Changes to compile under gnu-win32, from Marcus Daniels:
2496 * boot-9.scm (load-user-init): If HOME is unset, provide
2499 * boot-9.scm (define-public): Changed to accomodate Hobbit.
2501 Tue Jun 24 00:31:47 1997 Jim Blandy <jimb@floss.red-bean.com>
2503 * boot-9.scm, debug.scm, hcons.scm, lineio.scm, mapping.scm,
2504 poe.scm, slib.scm, tags.scm, threads.scm: Use normal list
2505 notation, instead of #/ notation.
2507 * expect.scm (expect-strings): Pass regexp/newline flag to
2510 Mon Jun 23 16:13:38 1997 Jim Blandy <jimb@floss.red-bean.com>
2512 Fix inconsistencies in parsing of #/ style lists.
2513 * boot-9.scm (read-path-list-notation): New function.
2514 (parse-path-symbol): Deleted. Replaced by above.
2515 Plug in read-path-list-notation as the parser for #/ lists,
2516 instead of the anonymous lambda form calling parse-path-symbol.
2517 (Thanks to Maurizio Vitale.)
2519 * boot-9.scm (make-list): Remove the definition of this function
2520 from the (ice-9 common-list) module; make the `init' argument
2521 optional in the scm module's definition, to match the deleted
2522 definition. Harmony reigneth? (Thanks to Bernard URBAN.)
2524 Sun Jun 22 18:33:17 1997 Jim Blandy <jimb@floss.red-bean.com>
2526 Try to detect when people are using one version of libguile and a
2527 different version of ice-9. People have been skewing things and
2528 sending in bug reports.
2529 * version.scm.in: New file, which the configure script munges to
2530 produce version.scm, which contains the ice-9 config stamp.
2531 * boot-9.scm: Compare the libguile and ice-9 config stamps;
2532 display a warning if the two are different.
2533 * Makefile.am: Install version.scm, but don't distribute it.
2534 Distribute version.scm.in, but don't install it.
2535 * Makefile.in: Regenerated.
2537 Thu Jun 19 21:01:16 1997 Jim Blandy <jimb@floss.red-bean.com>
2539 * slib.scm (slib:warn): Alias for WARN function.
2541 Fri Jun 13 00:32:04 1997 Jim Blandy <jimb@floss.red-bean.com>
2543 * boot-9.scm (struct-printer): Fix off-by-one error in range
2544 check. Correctly check for struct printer tag.
2546 * expect.scm: Turn this into a module, (ice-9 expect).
2547 (expect-port, expect-timeout, expect-timeout-proc,
2548 expect-eof-proc, expect-char-proc, expect, expect-strings,
2549 expect-select): Make these public definitions.
2550 (expect-strings): Use make-regexp and regexp-exec, instead of
2551 regcomp and regexec. We've omitted the REG_NEWLINE flag; hope
2554 * boot-9.scm (with-regexp-parts): Comment this out. It has no
2555 users in the core, and relies on mildly hairy details of the old
2558 * test.scm: Re-enable tests asserting that '() is true, and not a
2559 boolean. This stuff has been true for a while.
2561 * boot-9.scm (ipow-by-squaring, butlast): Fix uses of outdated
2564 * boot-9.scm (with-excursion-getter-and-setter, q-rear): Doc
2567 Wed Jun 11 00:31:40 1997 Jim Blandy <jimb@floss.red-bean.com>
2569 * Makefile.in: Regenerated after xtra_PLUGIN_guile_libs change in
2572 Fri Jun 6 14:37:18 1997 Marius Vollmer <mvo@zagadka.ping.de>
2574 * boot-9.scm (struct-printer): Bugfix: Check the layout of the
2575 vtable and not the one of the struct.
2577 Wed Jun 4 23:27:16 1997 Marius Vollmer <mvo@zagadka.ping.de>
2579 * boot-9.scm (struct-layout, %struct-printer-tag, struct-printer,
2580 make-struct-printer, set-struct-printer-in-vtable!): New bindings
2581 to support printing of structures.
2582 (record-type-vtable, make-record-type): Add slot to hold printing
2583 function and initialize it with something appropriate. Removed
2584 commented out printing code.
2585 (record-type-name, record-type-fields): Adjusted slot offsets.
2586 (%print-module): Reduce argument list to "mod" and "port".
2588 Tue Jun 3 17:04:18 1997 Jim Blandy <jimb@totoro.cyclic.com>
2590 * slib.scm (identity): New function, used by SLIB.
2592 Sat May 31 18:57:12 1997 Gary Houston <ghouston@actrix.gen.nz>
2594 * boot-9.scm: signal-handler, alarm-thunk: removed.
2595 don't define ticks-interrupt etc.
2596 top-repl: install signal handlers for SIGINT, SIGFPE, SIGSEGV, SIGBUS
2597 during call to scm-style-repl.
2599 Fri May 30 18:08:10 1997 Jim Blandy <jimb@floss.cyclic.com>
2601 * slib.scm (slib:load): Use primitive-load-path instead of
2602 basic-load. This is probably wrong, but hopefully the entire
2603 source access system will be revised soon anyway, and this will
2604 make require behave more like Emacs Lisp's require. If this
2605 breaks something, please let me know. Maybe this is real dumb.
2607 Thu May 29 02:36:48 1997 Jim Blandy <jimb@floss.cyclic.com>
2609 * regex.scm: Add a module declaration. Use DEFINE-PUBLIC everywhere.
2610 * boot-9.scm: If the `regex' feature is present, use the module
2613 Tue May 27 22:48:14 1997 Tim Pierce <twp@twp.tezcat.com>
2615 * regex.scm: New file.
2616 * Makefile.am (subpkgdata_DATA): Add regex.scm.
2617 * Makefile.in: Regenerated.
2619 Mon May 26 17:24:48 1997 Jim Blandy <jimb@totoro.cyclic.com>
2621 * COPYING, boot-9.scm, debug.scm, emacs.scm, expect.scm, gtcl.scm,
2622 gwish.scm, hcons.scm, lineio.scm, mapping.scm, nonblocking.scm,
2623 oldprint.scm, poe.scm, r4rs.scm, source.scm, tags.scm, test.scm,
2624 threads.scm: New address for FSF.
2626 Fri May 16 04:09:45 1997 Jim Blandy <jimb@floss.cyclic.com>
2628 * debug.scm: Update copyright years; this file has been worked on
2631 Thu May 15 07:56:08 1997 Gary Houston <ghouston@actrix.gen.nz>
2633 * expect.scm: use gettimeofday instead of get-internal-real-time
2634 and use a floating point timeout when calling select. Untested,
2635 since the regex library is currently AWOL.
2637 Wed May 14 21:00:30 1997 Jim Blandy <jimb@floss.cyclic.com>
2639 * boot-9.scm (eval-string): Function deleted; it was already
2640 implemented in C, so there's no point in making a divergable copy
2643 Tue May 13 16:40:06 1997 Jim Blandy <jimb@floss.cyclic.com>
2645 * Makefile.in: Regenerated, using automake-1.1p.
2647 Tue May 13 16:40:06 1997 Jim Blandy <jimb@floss.cyclic.com>
2649 * Makefile.in: Regenerated, using automake-1.1p.
2651 Tue May 13 02:48:49 1997 Gary Houston <ghouston@actrix.gen.nz>
2653 * boot-9.scm (error-catching-loop): don't read a line from
2654 current input when quit is encountered, the previous change
2657 Mon May 12 19:00:21 1997 Jim Blandy <jimb@floss.cyclic.com>
2659 * boot-9.scm (scm-style-repl): After reading an expression,
2660 consume any trailing newline (perhaps preceded by whitespace), to
2661 avoid screwing up GDB. More detail in comments.
2663 Mon May 5 13:18:38 1997 Jim Blandy <jimb@floss.cyclic.com>
2665 * Makefile.am (ETAGS_ARGS): New variable, since we're not treating
2666 the Scheme code like code yet.
2667 * Makefile.in: Resrac,husrched.
2669 Wed Apr 30 15:25:15 1997 Marius Vollmer <mvo@zagadka.ping.de>
2671 * boot-9.scm (link-dynamic-module): Do not catch errors from
2672 dynamic-link and dynamic-call. When the shared library exists it
2673 is now assumed to be suitable for a dynamic C module.
2675 Fri Apr 25 21:21:35 1997 Marius Vollmer <mvo@zagadka.ping.de>
2677 * boot-9.scm (process-use-modules): New function to support the
2679 (use-modules): throw an error iff one of the requested modules
2682 Tue Apr 29 06:54:46 1997 Gary Houston <ghouston@actrix.gen.nz>
2684 * boot-9.scm: don't define timer-thunk or gc-thunk.
2686 Sun Apr 27 17:56:09 1997 Jim Blandy <jimb@floss.cyclic.com>
2688 * aclocal.m4: Removed; unnecessary, given changes of Apr 24.
2690 * Makefile.am (subpkgdatadir): Use "ice-9" instead of "@module@";
2691 we're not using AM_INIT_GUILE_MODULE any more.
2692 * Makefile.in: Regeneratitetedrerd.
2694 Thu Apr 24 01:33:33 1997 Jim Blandy <jimb@floss.cyclic.com>
2696 Get 'make dist' to work again.
2697 * Makefile.am (EXTRA_DIST): Remove PLUGIN files.
2698 * Makefile.in: Regenerated, like two tons of fleas.
2700 Changes for reduced Guile distribution: one configure script,
2702 * configure.in, configure: Removed.
2703 * Makefile.in: Regenerated.
2705 Sat Apr 19 08:03:50 1997 Jim Blandy <jimb@floss.cyclic.com>
2707 * boot-9.scm (eval-string, command-line, load-user-init): New
2710 Sat Apr 12 08:27:05 1997 Gary Houston <ghouston@actrix.gen.nz>
2712 * boot-9.scm (log10): defined.
2714 Tue Apr 1 17:46:49 1997 Gary Houston <ghouston@actrix.gen.nz>
2716 * expect.scm (expect-select): correct the millisecond timeout
2717 arithmetic (from Marko.Kohtala@ntc.nokia.com).
2719 Mon Mar 31 03:23:19 1997 Gary Houston <ghouston@actrix.gen.nz>
2721 * boot-9.scm (open-input-pipe, open-output-pipe): defined here
2722 instead of in libguile.
2723 (tm:sec etc.) new accessors for broken-down time.
2724 (set-tm:sec etc.) new setters for broken-down time.
2726 Thu Mar 27 05:06:00 1997 Gary Houston <ghouston@actrix.gen.nz>
2728 * boot-9.scm (netent:addrtype, servent:port): added missing
2730 (netent:net, servent:proto): repaired.
2731 (utsname:sysname etc.): new accessors for uname.
2733 Tue Mar 25 03:04:03 1997 Gary Houston <ghouston@actrix.gen.nz>
2735 * boot-9.scm (sockaddr:fam, sockaddr:path, sockaddr:addr,
2736 sockaddr:port): new functions.
2738 Wed Mar 19 04:50:34 1997 Gary Houston <ghouston@actrix.gen.nz>
2740 * boot-9.scm: define accessor procedures for the objects returned
2741 by getpw, getgr, gethost, getnet, getproto, getserv (e.g.,
2742 passwd:name, where the first component is the name of the C structure
2743 and the second is the unprefixed C member name.)
2745 Tue Mar 18 18:39:31 1997 Gary Houston <ghouston@actrix.gen.nz>
2747 * boot-9.scm (setpwent, setgrent, sethostent, setnetent, setprotoent,
2748 setservent): no longer take an argument, it was bogus.
2750 Thu Mar 13 00:13:41 1997 Gary Houston <ghouston@actrix.gen.nz>
2752 * boot-9.scm (scm-error): deleted, reimplemented in C.
2754 Mon Mar 10 15:48:31 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2756 * boot-9.scm (process-define-module): Modified to handle both
2757 keywords and symbols.
2759 Sat Mar 8 04:32:44 1997 Gary Houston <ghouston@actrix.gen.nz>
2761 * slib.scm: update read usage.
2763 * r4rs.scm: update primitive-load usage.
2764 Don't define read-sharp.
2766 * boot-9.scm: use read-hash-extend to install extra read syntax.
2767 (read-sharp): removed.
2768 Adjust usage of primitive-load-path, read, which no longer take
2769 case_i or read-sharp arguments.
2771 Sat Mar 8 00:07:54 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2773 * boot-9.scm: Added loading of session support module.
2775 * debug.scm: Removed `display-application'. (Replaced by
2776 primitive procedure.)
2778 * boot-9.scm (beautify-user-module!): Don't add the root module
2779 interface to the end of the use-list of the root module.
2781 Thu Mar 6 07:26:34 1997 Gary Houston <ghouston@actrix.gen.nz>
2783 * boot-9.scm: repl-quit, repl-abort: obsolete variables deleted.
2785 Wed Mar 5 20:30:24 1997 Gary Houston <ghouston@actrix.gen.nz>
2787 * boot-9.scm: check use-emacs-interface for emacs support.
2789 Sun Mar 2 19:47:14 1997 Gary Houston <ghouston@actrix.gen.nz>
2791 * boot-9.scm (scm-style-repl): call repl-report-start-timing if
2793 * (exit): alias for quit.
2795 Sun Mar 2 05:25:11 1997 Gary Houston <ghouston@actrix.gen.nz>
2797 * boot-9.scm (error-catching-loop thunk): use a status variable to
2798 return the quit args.
2799 (scm-style-repl): call -quit, passing return value from
2800 error-catching-repl. Make -quit return its args.
2801 stand-alone-repl: comment out, since it seems unused.
2803 (error-catching-loop thunk): discard trailing junk after a (quit).
2805 Sat Mar 1 15:24:39 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2807 * boot-9.scm: Removed the old printer code.
2809 * r4rs.scm (apply, call-with-current-continuation): Added comment
2810 explaining why apply and call/cc need to be closures.
2812 * boot-9.scm (apply, call-with-current-continuation): Bugfix:
2813 Removed. These definitions are already present in r4rs.scm.
2815 * debug.scm (trace-entry, trace-exit): Check that we're on a repl
2816 stack before printing traced frames; Re-enable trace flag at end
2819 Sat Mar 1 00:10:38 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2821 * debug.scm: Add hook for reset of trace level at abort.
2823 * boot-9.scm (run-hooks): New procedure.
2824 (add-hooks!): New macro.
2825 Change hooks to use these functions.
2827 * debug.scm: *Warning* This feature is a bit premature. I add
2828 it anyway because 1. it is very useful, and, 2. you can start
2829 making it less premature by complaining to me and by modifying
2831 (trace): Given one or more procedure objects, trace each one.
2832 Given no arguments, show all traced procedures.
2833 (untrace): Given one or more procedure objects, untrace each one.
2834 Given no arguments, untrace all traced procedures. The tracing in
2835 Guile have an advantage to most other systems: We don't create new
2836 procedure objects, but mark the procedure objects themselves.
2837 This means that also anonymous and internal procedures can be
2840 * boot-9.scm (error-catching-loop): Added handling of apply-frame
2841 and exit-frame exceptions.
2843 * boot-9.scm (assert-repl-prompt, the-prompt-string): Removed.
2844 (set-repl-prompt!): Setter for repl prompt.
2845 (scm-style-repl): If prompt is #f, don't prompt; if prompt is a
2846 string, display it; if prompt is a thunk, call it and display its
2847 result; otherwise display "> ".
2848 (Change suggested by Roland Orre <orre@nada.kth.se>.)
2850 * r4rs.scm (%load-verbosely): Reverted change to
2851 `module-defined?', since the module system isn't bootstrapped when
2852 we load r4rs.scm. This is just a temporary fix to make the
2853 repository version runnable.
2855 Thu Feb 27 23:25:47 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2857 * boot-9.scm: Removed the enabling of debug evaluator and
2858 recording of source code positions. This was placed there for our
2859 convenience, but it has already sneaked into the distribution
2860 once... so we'd better add this in our local copies instead when
2861 we need it. (These options are normally enabled at the end of
2862 boot-9.scm when loading the debug module.)
2864 Thu Feb 27 16:04:45 1997 Marius Vollmer <mvo@zagadka.ping.de>
2866 * boot-9.scm (module-defined?): New function.
2867 (macroexpand-1, macroexpand): Use local-ref instead of defined?
2869 * r4rs.scm (%load-verbosely): Use "module-defined?" instead of
2871 * slib.scm (defined?): New function to take the place of the
2872 builtin "defined?". It allways examines the slib module.
2874 Mon Feb 24 21:46:15 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2876 * configure.in: Added AM_MAINTAINER_MODE
2878 Sat Feb 15 04:51:20 1997 Gary Houston <ghouston@actrix.gen.nz>
2880 * boot-9.scm (read-sharp): define directly, don't go through a
2883 Tue Feb 11 08:45:48 1997 Gary Houston <ghouston@actrix.gen.nz>
2885 * boot-9.scm (uniform-vector-set!): use uniform-array-set1!, not
2886 uniform-vector-set1! which doesn't exist.
2888 Mon Feb 10 03:01:48 1997 Mikael Djurfeldt <mdj@kenneth>
2890 * boot-9.scm (backtrace): Removed. (A C version now exists in
2893 Fri Jan 24 06:05:36 1997 Gary Houston <ghouston@actrix.gen.nz>
2895 * boot-9.scm (read-line!, read-delimited!, read-delimited,
2896 read-line): new procedures, see libguile/ChangeLog.
2898 Thu Jan 16 17:07:03 1997 Marius Vollmer <mvo@zagadka.ping.de>
2900 Added dynamic linking of modules. See libguile/DYNAMIC-LINKING.
2902 * boot-9.scm (split-c-module-name, convert-c-registered-modules,
2903 init-dynamic-module, dynamic-maybe-call,
2904 find-and-link-dynamic-module, link-dynamic-module,
2905 try-module-dynamic-link, registered-modules): New definitions for
2906 dynamic linking of modules.
2907 (resolve-module): Try to dynamically link the requested module
2908 after failing to load it as Scheme code.
2910 Wed Jan 8 05:50:14 1997 Gary Houston <ghouston@actrix.gen.nz>
2912 * boot-9.scm (getservbyport, getservbyname): remove stray %.
2914 Tue Jan 7 20:02:24 1997 Jim Blandy <jimb@floss.cyclic.com>
2916 * boot-9.scm (and=>): Rename THUNK argument to PROCEDURE, 'cos
2919 * lineio.scm (make-line-buffering-input-port): Properly test for
2920 the case of an empty buffer list. The old code assumed that '()
2923 Mon Jan 6 01:13:53 1997 Mikael Djurfeldt <mdj@kenneth>
2925 * boot-9.scm (use-modules): New macro (from Marius Vollmer).
2926 (use-modules <module name> ...) Put the the modules named by
2927 <module name> ... on the use list of the current module.
2929 Sun Jan 5 15:52:59 1997 Jim Blandy <jimb@floss.cyclic.com>
2931 * boot-9.scm (error-catching-loop): Remove message saying that
2932 typing "$" will put you in the debugger. This isn't implemented
2935 Sun Dec 22 23:27:25 1996 Jim Blandy <jimb@floss.cyclic.com>
2937 * boot-9.scm (delq-all!): Function deleted; delq!'s semantics have
2938 been fixed, so this function is superfluous.
2939 (transform-usage-lambda): Use delq!, not delq-all!.
2941 Tue Dec 17 20:36:45 1996 Marius Vollmer <mvo@zagadka.ping.de>
2943 * boot-9.scm (resolve-module): New optional parameter that
2944 controls whether autoloading is attempted or not. Default is #t.
2945 (process-define-module): Don't autoload the defined module.
2946 (try-module-autoload): Don't autoload the directory modules.
2948 * boot-9.scm (process-define-module): Ensure that the-scm-module
2949 is last in the `uses' list to allow shadowing builtin
2950 bindings. All :use-module options are added in the order they
2951 appear in the arguments but before anything already on the list
2952 (such as the-scm-module).
2954 Wed Dec 11 21:06:05 1996 Gary Houston <ghouston@actrix.gen.nz>
2956 * slib.scm (slib-parent-dir): throw error if #f returned from
2959 Sat Nov 30 23:57:28 1996 Tom Tromey <tromey@cygnus.com>
2961 * PLUGIN/greet, PLUGIN/split.sed, PLUGIN/this.configure: Removed.
2962 * Makefile.am, aclocal.m4: New files.
2963 * configure.in: Updated for Automake.
2965 Wed Nov 27 14:16:14 1996 Marius Vollmer <mvo@zagadka.ping.de>
2967 * boot-9.scm (macroexpand-1, macroexpand), slib.scm
2968 (slib:features), r4rs.scm (%load-verbosely): "defined?" is now a
2969 function, use it accordingly.
2971 Thu Nov 21 11:12:10 1996 Jim Blandy <jimb@floss.cyclic.com>
2973 It's an "eval closure", not an "eval thunk." A thunk is a
2974 function of no arguments.
2975 * boot-9.scm (module-type): Rename module field.
2976 (make-module, eval-in-module, make-root-module,
2977 set-current-module): Uses changed.
2978 (module-eval-closure, set-module-eval-closure!,
2979 root-module-closure): Renamed from module-eval-thunk,
2980 set-module-eval-thunk!, root-module-thunk.
2981 (set-current-module): Change uses of *top-level-lookup-thunk* to
2982 *top-level-eval-closure*.
2984 Wed Nov 20 14:45:27 1996 Jim Blandy <jimb@totoro.cyclic.com>
2986 * slib.scm (slib-parent-dir): Use string-length, not length.
2987 (Thanks to Bernard Urban.)
2989 Sat Nov 2 20:00:42 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2991 * boot-9.scm: The debugging evaluator and recording of positions
2992 aren't enabled by default any longer (they are switched on in
2993 debug.scm). But during development we want to have them also
2994 *inside* boot-9.scm. Therefore, two lines are added at the
2995 beginning of boot-9.scm to enable these.
2997 Call `provide' so that `records' are included among the
3000 The scheme for saving the stack has been adjusted: save-stack is
3001 now commonly available for saving the stack. Calling `save-stack'
3002 sets a flag `stack-saved?' which prevents overwriting the stack.
3003 `stack-saved?' is reset at `abort'.
3005 Spelling correction: seperate --> separate.
3007 Removed `:'s that had creeped into some comments.
3009 The repl now doesn't print #<unspecified> results any longer
3010 If the user wants to see this, he can do
3011 (assert-repl-print-unspecified #t) in his startup file.
3013 The user now gets a friendly message instead of a backtrace at
3016 Added `before-read-hook'.
3018 Load module (ice-9 emacs) if option `-e' was specified.
3020 (provide): New function.
3022 (error): Save stack at entry, so that Guile entrails won't show up
3025 (backtrace): New function.
3027 (save-stack): Can now take arbitrary number of stack narrowing
3028 specifier pairs. The first specifier in a pair controls inner
3029 border, the second the outer border. A number means cut that
3030 number of frames, a procedure object means cut until that object
3031 is found in operator position in a frame.
3033 * debug.scm: Enable debugging evaluator and recording of positions
3036 * slib.scm (slib:load): Adapt to the new behavior of
3037 primitive-load: It doesn't any longer try both with and without
3038 ".scm" extension. (We don't want to use %search-load-path here.)
3040 (implementation-vicinity): New function. slib requires it
3042 (library-vicinity): Updated.
3044 Load "require.scm" in the library-vicinity.
3046 (install-require-vicinity, install-require-module): New functions.
3048 Mon Oct 28 17:56:29 1996 Jim Blandy <jimb@floss.cyclic.com>
3050 * boot-9.scm (load-from-path): New function.
3052 * boot-9.scm (try-load, basic-try-load, try-load-module,
3053 try-load): Deleted. I don't think they're being used.
3055 * Makefile.in (scm_files): Add r4rs.scm and test.scm to this list,
3056 so they'll get distributed.
3058 Get Guile to be a little less chatty by default. The new user
3059 should see as little clutter as possible.
3060 * r4rs.scm (%load-verbosely): Make this #f by default.
3061 * boot-9.scm (scm-repl-verbose): Make this #f by default.
3062 (scm-style-repl): Don't run 'pk' on the value passed to quit.
3064 * r4rs.scm: New file.
3065 * boot-9.scm: Load r4rs.scm, first thing.
3066 (OPEN_READ, OPEN_WRITE, OPEN_BOTH, *null-device*, open-input-file,
3067 open-output-file, open-io-file, close-input-port,
3068 close-output-port, close-io-port, call-with-input-file,
3069 call-with-output-file, with-input-from-port, with-output-to-port,
3070 with-error-to-port, with-input-from-file, with-output-to-file,
3071 with-error-to-file, with-input-from-string, with-output-to-string,
3072 with-error-to-string, the-eof-object): Definitions moved to
3073 r4rs.scm. Not all of them are R4RS, but those that are use those
3075 (load, %load-verbosely, %load-announce): Moved, along with code to
3076 set %load-hook, to r4rs.scm.
3078 * test.scm: New file.
3080 * boot-9.scm (integer?): Definition deleted, in favor of the one
3081 present in libguile (which used to be called int?). I have no
3082 idea why integer? didn't just call int? to begin with.
3084 * boot-9.scm (<, <=, =, >, >=): Definitions in terms of <?, <=?,
3085 =?, >?, and >=? deleted; they're defined that way by libguile now.
3087 * boot-9.scm (load): Simplified; primitive-load does most of this
3089 (%load-announce-win): Removed; no longer used. Set %load-hook to
3090 call %load-announce.
3092 Sun Oct 27 07:47:03 1996 Gary Houston <ghouston@actrix.gen.nz>
3094 * boot-9.scm (stat:dev, stat:ino, stat:mode, stat:nlink, stat:uid,
3095 stat:gid, stat:rdev, stat:size, stat:atime, stat:mtime,
3096 stat:ctime, stat:blksize, stat:blocks) accessor functions for stat
3098 (file-is-directory?): use stat:type.
3100 Fri Oct 25 03:34:47 1996 Jim Blandy <jimb@floss.cyclic.com>
3102 * boot-9.scm (%read-sharp): Don't recognize the `#!' syntax here;
3103 that's now taken care of in libguile, and in a way compatible with
3104 SCSH (which this isn't).
3106 Mon Oct 21 18:52:36 1996 Jim Blandy <jimb@totoro.cyclic.com>
3108 * boot-9.scm: Formatting tweaks.
3110 Fri Oct 18 01:03:08 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
3112 * boot-9.scm (handle-system-error): Added hooks before-error-hook,
3113 after-error-hook, before-backtrace-hook and after-backtrace-hook
3114 to the error handler. E.g.: fancy emacs support could plug into
3116 (save-stack): New function. The stack is now made differently
3117 depending on the stack id. (The motivation is to make a better
3118 choice regarding what stack frames to present to the user.)
3119 (error-catching-loop): Stack handling code moved outside into
3122 Thu Oct 17 20:33:08 1996 Gary Houston <ghouston@actrix.gen.nz>
3124 * Makefile.in (scm_files): add expect.scm.
3126 * expect.scm: new file ported from guile-iii.
3128 * boot-9.scm: remove handle-system-error, after moving the code into
3129 error-catching-loop.
3130 Don't set 'throw-handler-default property on error keys.
3131 Just interpret (almost) any throw with 4 args as an error throw.
3132 Delete some try-load stuff that was already commented out.
3134 Second thoughts, keep handle-system-error but call it from
3135 error-catching-loop.
3137 Tue Oct 15 17:07:20 1996 Jim Blandy <jimb@floss.cyclic.com>
3139 * boot-9.scm: Doc fixes.
3140 (make-module): Rework for readability.
3141 (make-root-module, make-scm-module): USES argument to make-module
3142 should be '(), not #f.
3144 * boot-9.scm (try-load): %sys-load-path has been renamed to
3145 primitive-load-path; adjust call here.
3147 Tue Oct 15 14:25:01 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
3149 * boot-9.scm (signal-handler): Bugfix: Moved the recording of
3150 the stack to the correct place: when it is decided to generate an
3153 Mon Oct 14 22:20:30 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
3155 * boot-9.scm (error-catching-loop, signal-handler,
3156 handle-system-error): Backtracing now works for signals aswell;
3157 Backtracing mechanism can now identify the stack root created by
3158 start-stack so that the user isn't exposed to system stack frames.
3160 Mon Oct 14 06:05:42 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
3162 * Makefile.in: Added threads.scm.
3164 Mon Oct 14 04:21:51 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
3166 * debug.scm (make-enable, make-disable): Simplified.
3168 * boot-9.scm: Renamed %%throw-handler-default -->
3169 throw-handler-default.
3170 ((handle-system-error key . arg-list)): Changed the way errors are
3172 ((scm-style-repl)): Wrap up the call to eval in a start-stack
3174 ((error-catching-loop thunk)): Introduce a lazy-catch into
3175 error-catching-loop so that the stack can be captured.
3177 Thu Oct 10 22:27:32 1996 Jim Blandy <jimb@totoro.cyclic.com>
3179 * mapping.scm (hash-table-mapping): Explicitly request that
3180 make-vector fill new vectors with '(); this will make it easier to
3181 port Guile Scheme code to other Schemes.
3182 * boot-9.scm (make-print-style, make-print-table): Same.
3184 Sun Oct 6 03:54:59 1996 Gary Houston <ghouston@actrix.gen.nz>
3186 * boot-9.scm (load): rewritten again.
3187 Append "." to the default %load-path.
3188 (feature?): new function: checks for a symbol in the features list.
3189 (module-local-variable): remove apparently useless (caddr (list m v
3191 (%load-announce): minor formatting change.
3192 (file-exists?): use access? if posix is featured.
3193 (file-is-directory?): use stat if i/o-extensions is featured.
3194 (try-module-autoload module-name): use file-exists? before
3197 Sat Oct 5 18:54:03 1996 Mikael Djurfeldt <mdj@kenneth>
3199 * boot-9.scm: Added conditional loading of threads.scm.
3201 * threads.scm: New file. Modified from the Cygnus-r0.3
3204 * boot-9.scm (error-catching-loop): Added handling of key
3207 * boot-9.scm: Name change %%bad-throw --> bad-throw.
3209 Wed Oct 2 23:38:44 1996 Jim Blandy <jimb@totoro.cyclic.com>
3211 * boot-9.scm (make-record-type, record-constructor): Don't assume
3212 the empty list is false when parsing the argument list.
3214 Mon Sep 30 22:15:50 1996 Jim Blandy <jimb@totoro.cyclic.com>
3216 * boot-9.scm (signal-handler): Clean up logic.
3218 * boot-9.scm (load): Assume %load-path is always bound.
3220 Sat Sep 28 00:15:37 1996 Gary Houston <ghouston@actrix.gen.nz>
3222 * boot-9.scm (error): replace another throw with scm-error. Throw
3223 to 'misc-error instead of 'error (no need to distinguish these.)
3224 Don't set up 'error as a key.
3225 Set up regex-error as a key, if regex is available.
3226 (signal-handler): use scm-error, not throw.
3228 (%try-load, try-load-with-path, %load, load-with-path,
3229 basic-try-load-with-path, basic-load-with-path,
3230 try-load-module-with-path,load-module-with-path): deleted, since
3231 they seem redundant.
3232 (try-load): define using %try-load, not try-load-with-path.
3233 (load): rewritten. load tries to open the file directly and
3234 with a .scm extension before searching the library directories
3235 (should "." be added to %load-path? then load could still open
3236 directly files starting with "/").
3237 (try-module-autoload): use load, not load-with-path.
3238 (%load-indent): deleted, -2 was causing errors.
3240 (%read-sharp): use port-line, not line-number.
3242 Fri Sep 27 16:23:51 1996 Jim Blandy <jimb@totoro.cyclic.com>
3244 * boot-9.scm (%%bad-throw): Delete definition. 1) It's very
3245 straightforward to provide the equivalent functionality using
3246 (catch #t ...), so there's no need for the extra complexity. 2)
3247 Outside the context of a read-eval-print loop (which Guile should
3248 not require) it's not clear we should do anything more complicated
3249 than print an error and exit; the user or REPL can establish
3250 something better if it wants. 3) In that case, it's much more
3251 robust to just do it in the C code.
3253 Tue Sep 24 06:53:04 1996 Gary Houston <ghouston@actrix.gen.nz>
3255 * boot-9.scm (%try-load): define using primitive-load. Previously
3256 %try-load itself was the primitive.
3257 (load-with-path): use scm-error instead of %load-announce-lossage.
3258 Errors are thrown to 'misc-error instead of 'could-not-load.
3259 (%load-announce-lossage): deleted.
3261 Mon Sep 23 00:16:31 1996 Mikael Djurfeldt <mdj@kenneth>
3263 * boot-9.scm (warn, scm-style-repl): Use C printer instead of `print'.
3264 (make-record-type type-name fields): Temporarily remove support
3265 for printing of records (not possible yet with C printer).
3267 Fri Sep 20 00:24:27 1996 Gary Houston <ghouston@actrix.gen.nz>
3269 * boot-9.scm (file-exists?, file-is-directory): catch only
3270 system-error, not every kind of error.
3271 (scm-error): new procedure.
3273 Thu Sep 19 16:02:46 1996 Jim Blandy <jimb@totoro.cyclic.com>
3275 * boot-9.scm: Formatting tweaks.
3277 Wed Sep 18 09:07:37 1996 Gary Houston <ghouston@actrix.gen.nz>
3279 * boot-9.scm (%%handle-system-error key): remove the code for
3280 SCM-style errors. handle the case that an unexpected number
3281 of args are supplied.
3282 (%%system-errors): removed.
3283 (error): redefine using a throw with key and 4 args.
3284 ('error): associate 'error, 'error-signal keys with
3285 %%handle-system-error.
3286 (%%default-error-handler): removed.
3287 (signal-handler): throw with 4 args and use the error-signal key.
3288 Create an error message instead of using numerical codes.
3289 (%%bad-throw): call error instead of throw if key not found.
3291 Tue Sep 17 04:11:28 1996 Gary Houston <ghouston@actrix.gen.nz>
3293 * boot-9.scm: initialize new error keys (see libguile/ChangeLog).
3294 (%%handle-system-error key): check subr is not #f before printing.
3295 Recognize %s (embed an argument using "display") and
3296 %S (embed an argument using "write").
3298 Sun Sep 15 03:55:35 1996 Gary Houston <ghouston@actrix.gen.nz>
3300 * boot-9.scm (%%handle-system-error key): set args and rest to
3301 the empty list if they are #f.
3302 Initialize out-of-range as an error key.
3304 Sat Sep 14 03:41:15 1996 Gary Houston <ghouston@actrix.gen.nz>
3306 * PLUGIN/REQ: remove the "ice-9 lgh" line which causes a cycle.
3308 * boot-9.scm: remove leading %% from references to '%%system-error.
3309 (%%handle-system-error): don't pass all the thrown arguments when
3310 aborting, just the key and subr.
3311 Remove the code to "Install default handlers for built-in errors."
3312 Remove the definition of the syserror procedure.
3313 Associate 'numerical-overflow with default handler.
3315 Fri Sep 13 04:58:11 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
3317 * boot-9.scm: Name change: value-ref --> local-ref
3318 resolved-ref --> nested-ref Motivation: conformance to the other
3319 dictionary operators: list-ref operates on list, vector-ref
3320 operates on vector, nested-ref operates on nested namespace,
3321 local-ref operates on the local nested namespace.
3323 Sat Sep 7 06:44:47 1996 Gary Houston <ghouston@actrix.gen.nz>
3325 * boot-9.scm (%%handle-system-error): recognise errors thrown
3326 by lgh-error (fill-message etc.)
3327 (fill-message): check first whether args is null.
3328 (fill-message): bug fix and check that args is a list.
3330 Thu Sep 5 11:33:41 1996 Jim Blandy <jimb@floss.cyclic.com>
3332 * boot-9.scm: %load-path is initialized in C code now.
3333 (implementation-vicinity, parse-path): Deleted, along with code to
3334 initialize %load-path.
3336 * boot-9.scm (in-vicinity): If the vicinity doesn't end with a
3337 "/", use one to separate it from the file.
3339 Thu Aug 29 23:05:11 1996 Thomas Morgan <tmorgan@gnu.ai.mit.edu>
3341 * boot-9.scm (%load-path): Add the site directory.
3342 Add the directory named after the version number.
3343 Prepend the version number to the other directories in the path.
3344 Simplify by mapping the common prefix onto each item.
3345 * Makefile.in (datadir, pkgdatadir, pkgverdatadir, subpkgdatadir,
3346 sitedatadir): New definitions.
3347 (libparent, libdir, install_path): Replaced by above.
3348 (install): Create the above directories.
3349 Put the source files into subpkgdatadir.
3350 (uninstall): Remove the above directories.
3352 Thu Aug 29 21:48:47 1996 Jim Blandy <jimb@floss.cyclic.com>
3354 Don't use the PLUGIN system to gather information for the
3355 Makefile's distribution and installation targets; just put it all
3356 in the Makefile directly.
3357 * PLUGIN/this.configure (scm_files, aux_files): Remove sections
3359 * configure.in: Remove code that gets and substitutes scm_files and
3361 * Makefile.in (scm_files, aux_files): Write out the list of files
3362 here, where people expect to find them.
3364 Fri Aug 23 06:44:36 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
3366 * boot-9.scm: Preliminary solution: optionally load the debug
3367 module. Changed "gls" to "guile1.0b3".
3369 * debug.scm: New file: debug extensions.
3371 Wed Aug 21 13:06:56 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
3373 * boot-9.scm (print-vector): Renamed weak-hash-table? -->
3374 weak-key-hash-table?. (Again!)
3376 Tue Aug 20 07:31:39 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
3378 * boot-9.scm (print-vector, macro-table, xformer-table):
3379 Renamed weak-hash-table --> weak-key-hash-table.
3381 * poe.scm (funcq-memo): Renamed weak-hash-table -->
3382 weak-key-hash-table.
3384 Sat Aug 3 06:16:35 1996 Gary Houston <ghouston@actrix.gen.nz>
3386 * boot-9.scm (*null-device*): global constant from goonix.
3387 (move->fdes): adjusted for boolean primitive-move->fdes. return
3388 the modified port, always set revealed count to 1 (SCSH compatible).
3389 (release-port-handle port): from goonix (SCSH compatible).
3390 (%open-file): removed.
3391 (open-input-file, open-output-file, file-exists?, file-is-directory?):
3392 modified for open-file change (does not return #f).
3394 Thu Aug 1 02:52:42 1996 Jim Blandy <jimb@totoro.cyclic.com>
3396 * Makefile.in (dist-dir): New target for new dist system.
3397 (manifest): Deleted.
3398 * PLUGIN/this.configure (aux_files): Removed PLUGIN; it's a
3399 directory, and needs special treatment in the dist-dir target.
3401 Thu Aug 1 09:00:21 1996 Gary Houston <ghouston@actrix.gen.nz>
3403 * boot-9.scm: remove the wrappers for '%' system primitives,
3404 now that they throw errors directly.
3405 remove make-simple-wrapper and similar functions.
3406 protect a call to getenv which may now throw an exception.
3408 Wed Jul 31 23:44:42 1996 Gary Houston <ghouston@actrix.gen.nz>
3410 * boot-9.scm (false-if-exception): new macro.
3412 Fri Apr 19 13:53:08 1996 Tom Lord <lord@beehive>
3414 * The more things change...