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