1#lang scribble/doc
2@(require "utils.rkt")
3
4@bc-title[#:tag "contmarks"]{Continuation Marks}
5
6A mark can be attached to the current continuation frame using
7@cppi{scheme_set_cont_mark}. To force the creation of a new frame
8(e.g., during a nested function call within your function), use
9@cppi{scheme_push_continuation_frame}, and then remove the frame with
10@cppi{scheme_pop_continuation_frame}.
11
12@function[(void scheme_set_cont_mark
13           [Scheme_Object* key]
14           [Scheme_Object* val])]{
15
16Add/sets a continuation mark in the current continuation.}
17
18@function[(void scheme_push_continuation_frame
19           [Scheme_Cont_Frame_Data* data])]{
20
21Creates a new continuation frame. The @var{data} record need not be
22 initialized, and it can be allocated on the C stack. Supply @var{data} to
23 @cpp{scheme_pop_continuation_frame} to remove the continuation frame.}
24
25@function[(void scheme_pop_continuation_frame
26           [Scheme_Cont_Frame_Data* data])]{
27
28Removes a continuation frame created by  @cpp{scheme_push_continuation_frame}.}
29