Merge pull request #99 from gavwhela/syntax-error-call-fix

case and exclusive-cond syntax-error calls
original commit: 2004f91246ffe417dbdf9d744716f7b790fe40be
This commit is contained in:
R. Kent Dybvig 2016-08-22 12:55:04 -04:00 committed by GitHub
commit 3c1f43380b
2 changed files with 5 additions and 2 deletions

3
LOG
View File

@ -296,3 +296,6 @@
can be overridden, as we do in our own make files.
cafe.ss,
7.ms
- fixed a bug in case and exclusive-cond syntax-error calls causing an
exception in syntax-error instead of the intended error message.
s/syntax.ss

View File

@ -7243,7 +7243,7 @@
#;[(e0) (make-clause clause #'e0)]
[(e0 => e1) (make-clause clause #'e1)]
[(e0 e1 e2 ...) (make-clause clause #'e1)]
[_ (syntax-error "invalid exclusive-cond clause" clause)]))
[_ (syntax-error clause "invalid exclusive-cond clause")]))
(define (sort-em clause*)
(if sort?
(sort (lambda (cl1 cl2) (> (clause-weight cl1) (clause-weight cl2)))
@ -7530,7 +7530,7 @@
(syntax-case clause ()
[((k ...) e1 e2 ...) (make-clause #'(k ...) #'(e1 e2 ...))]
[(k e1 e2 ...) (make-clause #'(k) #'(e1 e2 ...))]
[_ (syntax-error "invalid case clause" clause)])))
[_ (syntax-error clause "invalid case clause")])))
(define emit
(lambda (kcond clause*)
#`(let ([t #,key-expr])