[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-janitors] #1080: condition-case expands into two else clauses
From: |
Chicken Trac |
Subject: |
[Chicken-janitors] #1080: condition-case expands into two else clauses |
Date: |
Tue, 10 Dec 2013 14:50:13 -0000 |
#1080: condition-case expands into two else clauses
--------------------------------------------+-------------------------------
Reporter: ckeen | Owner:
Type: defect | Status: new
Priority: major | Milestone: 4.9.0
Component: unknown | Version: 4.8.x
Keywords: syntax condition-case compiler |
--------------------------------------------+-------------------------------
When expanding the following you can see the second else clause. The
compiler in current master warns about this:
{{{
#;2> ,x (condition-case 'something ((exn some thing) 'foo) (exn () 'bar))
((call-with-current-continuation
(##core#lambda
(k)
(with-exception-handler
(##core#lambda
(exvar)
(k (##core#lambda
()
(##core#let
((kvar (and (##sys#structure? exvar (##core#quote
condition))
(##sys#slot exvar 1))))
(cond ((and kvar
(memv (##core#quote exn) kvar)
(memv (##core#quote some) kvar)
(memv (##core#quote thing) kvar))
(##core#let () 'foo))
(else (##core#let ((exn exvar)) 'bar))
(else (##sys#signal exvar)))))))
(##core#lambda
()
(##sys#call-with-values
(##core#lambda () 'something)
(##core#lambda
args
(k (##core#lambda () (##sys#apply ##sys#values args))))))))))
}}}
--
Ticket URL: <http://bugs.call-cc.org/ticket/1080>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.
- [Chicken-janitors] #1080: condition-case expands into two else clauses,
Chicken Trac <=