summaryrefslogtreecommitdiff
path: root/module/rnrs/exceptions.scm
diff options
context:
space:
mode:
authorAndreas Rottmann <a.rottmann@gmx.at>2010-08-28 10:16:30 -0700
committerAndy Wingo <wingo@pobox.com>2010-08-28 10:16:30 -0700
commit23988e8c50e62355689f5bcb34ca65c45fb35fc7 (patch)
treec60dd81bd9006b0fc947c00367036ae758d9e513 /module/rnrs/exceptions.scm
parent7d0e17389c6856883a87f914d0d7c916620832d5 (diff)
downloadguile-23988e8c50e62355689f5bcb34ca65c45fb35fc7.tar.gz
Several fixes to R6RS libraries
* module/rnrs/arithmetic/fixnums.scm (fixnum-width): Make this return an an exact integer instead of an inexact number. * module/rnrs/base.scm (assertion-violation): Implement. * module/rnrs/conditions.scm (simple-conditions): Allow also simple conditions as argument. * module/rnrs/enums.scm (define-enumeration): Properly construct empty enumeration sets. * module/rnrs/exceptions.scm (guard): Don't restrict the body to a single expression. * module/rnrs/records/syntactic.scm (define-record-type0): Expand into a series of definitions only.
Diffstat (limited to 'module/rnrs/exceptions.scm')
-rw-r--r--module/rnrs/exceptions.scm12
1 files changed, 6 insertions, 6 deletions
diff --git a/module/rnrs/exceptions.scm b/module/rnrs/exceptions.scm
index cd5bacf42..ff4049ba0 100644
--- a/module/rnrs/exceptions.scm
+++ b/module/rnrs/exceptions.scm
@@ -51,17 +51,17 @@
(define-syntax guard0
(syntax-rules ()
- ((_ (variable cond-clause ...) body)
+ ((_ (variable cond-clause ...) . body)
(call/cc (lambda (continuation)
(with-exception-handler
(lambda (variable)
(continuation (cond cond-clause ...)))
- (lambda () body)))))))
+ (lambda () . body)))))))
(define-syntax guard
(syntax-rules (else)
- ((_ (variable cond-clause ... . ((else else-clause ...))) body)
- (guard0 (variable cond-clause ... (else else-clause ...)) body))
- ((_ (variable cond-clause ...) body)
- (guard0 (variable cond-clause ... (else (raise variable))) body))))
+ ((_ (variable cond-clause ... . ((else else-clause ...))) . body)
+ (guard0 (variable cond-clause ... (else else-clause ...)) . body))
+ ((_ (variable cond-clause ...) . body)
+ (guard0 (variable cond-clause ... (else (raise variable))) . body))))
)