Raise an exception upon VM stack overflows (fixes bug #29574).
[bpt/guile.git] / testsuite / t-call-cc.scm
1 (let ((set-counter2 #f))
2 (define (get-counter2)
3 (call/cc
4 (lambda (k)
5 (set! set-counter2 k)
6 1)))
7 (define (loop counter1)
8 (let ((counter2 (get-counter2)))
9 (set! counter1 (1+ counter1))
10 (cond ((not (= counter1 counter2))
11 (error "bad call/cc behaviour" counter1 counter2))
12 ((> counter1 10)
13 #t)
14 (else
15 (set-counter2 (1+ counter2))))))
16 (loop 0))