{"size": 1038, "ext": "scrbl", "max_stars_repo_path": "pkgs/racket-doc/scribblings/inside/contmarks.scrbl", "max_stars_repo_name": "lkh01/racket", "max_stars_repo_stars_event_min_datetime": "2018-07-05T21:18:24.000Z", "max_stars_repo_stars_event_max_datetime": "2021-06-04T14:48:37.000Z", "max_issues_repo_path": "pkgs/racket-doc/scribblings/inside/contmarks.scrbl", "max_issues_repo_name": "lkh01/racket", "max_issues_repo_issues_event_min_datetime": "2017-05-10T07:33:20.000Z", "max_issues_repo_issues_event_max_datetime": "2018-07-19T15:49:46.000Z", "max_forks_repo_path": "pkgs/racket-doc/scribblings/inside/contmarks.scrbl", "max_forks_repo_name": "lkh01/racket", "max_forks_repo_forks_event_min_datetime": "2016-04-25T11:47:57.000Z", "max_forks_repo_forks_event_max_datetime": "2017-05-09T14:52:48.000Z"}
{"max_stars_count": 4, "max_issues_count": 9, "max_forks_count": 3, "avg_line_length": 35.7931034483, "max_line_length": 79, "alphanum_fraction": 0.7630057803}
#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}.}
