FreeBSD Manual Pages
Tcl_SaveInterpState(3) Tcl Library Procedures Tcl_SaveInterpState(3) ______________________________________________________________________________ NAME Tcl_SaveInterpState, Tcl_RestoreInterpState, Tcl_DiscardInterpState - save and restore an interpreter's state SYNOPSIS #include <tcl.h> Tcl_InterpState Tcl_SaveInterpState(interp, status) int Tcl_RestoreInterpState(interp, state) Tcl_DiscardInterpState(state) ARGUMENTS Tcl_Interp *interp (in) Interpreter for which state should be saved. int status (in) Return code value to save as part of interpreter state. Tcl_InterpState state (in) Saved state token to be restored or discarded. ______________________________________________________________________________ DESCRIPTION These routines allows a C procedure to take a snapshot of the current state of an interpreter so that it can be restored after a call to Tcl_Eval or some other routine that modifies the interpreter state. Tcl_SaveInterpState stores a snapshot of the interpreter state in an opaque token returned by Tcl_SaveInterpState. That token value may then be passed back to one of Tcl_RestoreInterpState or Tcl_Dis- cardInterpState, depending on whether the interp state is to be re- stored. So long as one of the latter two routines is called, Tcl will take care of memory management. Tcl_SaveInterpState takes a snapshot of those portions of interpreter state that make up the full result of script evaluation. This include the interpreter result, the return code (passed in as the status argu- ment, and any return options, including -errorinfo and -errorcode when an error is in progress. This snapshot is returned as an opaque token of type Tcl_InterpState. The call to Tcl_SaveInterpState does not it- self change the state of the interpreter. Tcl_RestoreInterpState accepts a Tcl_InterpState token previously re- turned by Tcl_SaveInterpState and restores the state of the interp to the state held in that snapshot. The return value of Tcl_RestoreIn- terpState is the status value originally passed to Tcl_SaveInterpState when the snapshot token was created. Tcl_DiscardInterpState is called to release a Tcl_InterpState token previously returned by Tcl_SaveInterpState when that snapshot is not to be restored to an interp. The Tcl_InterpState token returned by Tcl_SaveInterpState must eventu- ally be passed to either Tcl_RestoreInterpState or Tcl_DiscardInterp- State to avoid a memory leak. Once the Tcl_InterpState token is passed to one of them, the token is no longer valid and should not be used anymore. KEYWORDS result, state, interp Tcl 8.1 Tcl_SaveInterpState(3)
NAME | SYNOPSIS | ARGUMENTS | DESCRIPTION | KEYWORDS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=Tcl_SaveInterpState.tcl90&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>