fixed definitions of last clauses in cond and case macros.
This commit is contained in:
parent
af46220d64
commit
0c96321f20
|
@ -1 +1 @@
|
||||||
1751
|
1752
|
||||||
|
|
|
@ -1031,7 +1031,7 @@
|
||||||
(lambda (e)
|
(lambda (e)
|
||||||
(define (build-last cls)
|
(define (build-last cls)
|
||||||
(syntax-match cls (else)
|
(syntax-match cls (else)
|
||||||
((else e e* ...) `(begin ,e . ,e*))
|
((else e e* ...) `(let () #f ,e . ,e*))
|
||||||
(_ (build-one cls '(if #f #f)))))
|
(_ (build-one cls '(if #f #f)))))
|
||||||
(define (build-one cls k)
|
(define (build-one cls k)
|
||||||
(syntax-match cls ()
|
(syntax-match cls ()
|
||||||
|
@ -1520,7 +1520,7 @@
|
||||||
(cond
|
(cond
|
||||||
((null? cls*)
|
((null? cls*)
|
||||||
(syntax-match cls (else =>)
|
(syntax-match cls (else =>)
|
||||||
((else e e* ...) `(begin ,e . ,e*))
|
((else e e* ...) `(let () #f ,e . ,e*))
|
||||||
((e => p) `(let ((t ,e)) (if t (,p t))))
|
((e => p) `(let ((t ,e)) (if t (,p t))))
|
||||||
((e) `(or ,e (if #f #f)))
|
((e) `(or ,e (if #f #f)))
|
||||||
((e e* ...) `(if ,e (begin . ,e*)))
|
((e e* ...) `(if ,e (begin . ,e*)))
|
||||||
|
|
Loading…
Reference in New Issue