Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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)

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>

home | help