diff options
-rw-r--r-- | test-suite/vm/t-call-cc.scm | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/test-suite/vm/t-call-cc.scm b/test-suite/vm/t-call-cc.scm index 05e4de98c..097f276ff 100644 --- a/test-suite/vm/t-call-cc.scm +++ b/test-suite/vm/t-call-cc.scm @@ -14,3 +14,17 @@ (else (set-counter2 (1+ counter2)))))) (loop 0)) + +(let* ((next #f) + (counter 0) + (result (call/cc + (lambda (k) + (set! next k) + 1)))) + (set! counter (+ 1 counter)) + (cond ((not (= counter result)) + (error "bad call/cc behaviour" counter result)) + ((> counter 10) + #t) + (else + (next (+ 1 counter))))) |