~ chicken-core (master) /tests/callback-tests.scm
Trap1;;;; callback-tests.scm
2
3(import (only (chicken process-context) command-line-arguments))
4(import (only (scheme base) call/cc))
5
6(define k1)
7
8(define-external (foo) void
9 (call/cc
10 (lambda (k) (set! k1 k)))
11 (print "hi!"))
12
13#>
14extern void foo();
15static void bar() { foo(); }
16<#
17
18(print "callbacks ...")
19((foreign-safe-lambda void "bar"))
20
21(when (member "twice" (command-line-arguments))
22 (k1 #f))