racket/pkgs/racket-doc/scribblings/inside/contmarks.scrbl
Matthew Flatt 2d4f3e2ac9 remove the "racket-pkgs" directory layer
The layer is now redundant, since everything left in "pkgs" is in the
"racket-pkgs" category.
2014-12-08 05:22:59 -07:00

29 lines
1.0 KiB
Racket

#lang scribble/doc
@(require "utils.rkt")
@title[#:tag "contmarks"]{Continuation Marks}
A mark can be attached to the current continuation frame using
@cppi{scheme_set_cont_mark}. To force the creation of a new frame
(e.g., during a nested function call within your function), use
@cppi{scheme_push_continuation_frame}, and then remove the frame with
@cppi{scheme_pop_continuation_frame}.
@function[(void scheme_set_cont_mark
[Scheme_Object* key]
[Scheme_Object* val])]{
Add/sets a continuation mark in the current continuation.}
@function[(void scheme_push_continuation_frame
[Scheme_Cont_Frame_Data* data])]{
Creates a new continuation frame. The @var{data} record need not be
initialized, and it can be allocated on the C stack. Supply @var{data} to
@cpp{scheme_pop_continuation_frame} to remove the continuation frame.}
@function[(void scheme_pop_continuation_frame
[Scheme_Cont_Frame_Data* data])]{
Removes a continuation frame created by @cpp{scheme_push_continuation_frame}.}