* doc/ref/r6rs.texi: Fix erroneous usage of @pxref; add pointers from
`(rnrs conditions)' and `(rnrs arithmetic bitwise)' to SRFI-35 and
SRFI-60 sections; remove reference to `fold'.
* module/ice-9/boot-9.scm (exit-hook): Move up with the other hooks.
(top-repl): Don't install handlers for SIGFPE, SIGILL, SIGSEGV, or
SIGBUS, as they will have no effect.
* test-suite/tests/syntax.test (matches?): Unfortunately this relatively
recent macro fails due to the underscore-in-literals-list prohibition.
But, it seems I was in the minority wanting _ for a literal.
* module/ice-9/psyntax.scm (underscore?): New helper, like ellipsis?.
(syntax-case): Treat the _ pattern as a matches-all pattern,
disallowing it from the keyword list. Another well-thought part of the
R6RS.
($sc-dispatch): Dispatch _ patterns.
* module/ice-9/psyntax-pp.scm: Regenerated.
* test-suite/tests/syncase.test ("_ is a placeholder"): Add a test.
* module/ice-9/boot-9.scm (export!): New syntax, as export is to
module-export!, export! is to module-replace!. I thought that taking
up the name `replace' would be presumptuous, hence the name mismatch.
* module/ice-9/r6rs-libraries.scm (library): Calculate not only
re-exports, but replacements as well.
* module/rnrs/io/ports.scm (open-string-input-port):
(open-string-output-port): Ensure that the ports are unicode-capable
by binding %default-port-encoding to "UTF-8".
* module/ice-9/boot-9.scm (ensure-batch-mode!): Remove comment about
restoring signals, and that behavior, as it was making popen.test
hang. I should investigate further, but instead I'm just going to hope
that this fixes it.
* module/ice-9/r6rs-libraries.scm (resolve-r6rs-interface): To avoid having to
create alias libraries for all the SRFIs, we simply ignore the name
components, so (srfi :n foo bar) will resolve to (srfi :n).
* module/ice-9/psyntax.scm (build-lexical-assignment)
(build-global-assignment): Maybe name the RHS.
* module/ice-9/psyntax-pp.scm: Regenerated.
* module/ice-9/boot-9.scm (catch, with-throw-handler, throw): Rework to
use set! instead of define! so that we get names.
* libguile/backtrace.h (scm_the_last_stack_fluid_var)
* libguile/backtrace.c (scm_init_backtrace): No more
scm_the_last_stack_fluid_var. The replacement is to resolve
`the-last-stack' in (ice-9 stack-catch).
(scm_backtrace_with_highlights): Accordingly, instead of backtracing
the last stack, backtrace the current stack.
* libguile/throw.h:
* libguile/throw.c:
* libguile/deprecated.h:
* libguile/deprecated.c (scm_internal_stack_catch): Deprecate this
function.
* module/ice-9/save-stack.scm (the-last-stack): Move here from boot-9.
* module/ice-9/debug.scm:
* module/ice-9/debugger.scm: Use (ice-9 save-stack) for the-last-stack.
* module/ice-9/deprecated.scm (the-last-stack): Add deprecated shim.
* module/ice-9/boot-9.scm (false-if-exception): Use syntax-rules. Don't
muck with the-last-stack, it is going away. Remove a later comment
about the-last-stack.
* module/ice-9/psyntax.scm (set!): Handle variable transformers; though,
they cannot produce definitions.
(make-variable-transformer): New procedure.
(identifier-syntax): Allow the R6RS form that makes variable
transformers.
* module/ice-9/psyntax-pp.scm: Regenerated.
* doc/ref/r6rs.texi (R6RS Incompatibilities): Remove letrec* item, and
add set! restriction.
* module/ice-9/boot-9.scm:
* module/ice-9/scm-style-repl.scm (handle-system-error): Move here from
boot-9.
* module/ice-9/deprecated.scm (handle-system-error): Keep a deprecated
wrapper in the root environment.
* libguile/Makefile.am (libpath.h): For ‘buildstamp’,
specify date(1) output format precisely, and in UTC.
* doc/ref/api-options.texi (Build Config): Update ‘buildstamp’ doc.
accessors.
* module/rnrs/conditions.scm (define-condition-type): The generated
accessors should be condition accessors, which know how to unpack a
compound condition; these can then delegate to the appropriate record
accessors.
* test-suite/tests/r6rs-conditions.test: New test case to verify above.
* module/ice-9/boot-9.scm (before-signal-stack): Remove. We're moving
away from using the-last-stack, so this backup copy is not much use.
(top-repl): Don't bother saving a before-signal-stack.
* module/ice-9/debugger/command-loop.scm (debugger-handler): No need to
restore here either.
* module/ice-9/boot-9.scm (*repl-level*): New global fluid, moved here
from (system repl common).
(batch-mode?): Reimplement in terms of *repl-level*.
(ensure-batch-mode!): A replacement for set-batch-mode?!.
* module/ice-9/deprecated.scm (set-batch-mode?!): Deprecate.
* module/ice-9/popen.scm (open-process): Use ensure-batch-mode!.
* module/ice-9/scm-style-repl.scm (error-catching-loop): Override
ensure-batch-mode!.
* module/system/repl/common.scm: Remove *repl-level*.