blob: 1eb8501770fc46945f2fb1efc388d8a0ed88a7ec (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
(load "../common")
(defex d c b a)
(defmacro cont (. forms)
^(catch (progn ,*forms) (cont (arg) arg)))
(test
(handle (list (cont (throw 'd 1))
(cont (throw 'c 2)))
(a (exc arg)
(let ((cont (find-frame 'cont)))
(if cont
(progn
(prinl arg)
(invoke-catch cont 'cont (+ 100 arg)))))))
(101 102))
|