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

FreeBSD Manual Pages

  
 
  

home | help
Tcl_UpVar(3)		    Tcl	Library	Procedures		  Tcl_UpVar(3)

______________________________________________________________________________

NAME
       Tcl_UpVar, Tcl_UpVar2 - link one	variable to another

SYNOPSIS
       #include	<tcl.h>

       int
       Tcl_UpVar(interp, frameName, sourceName,	destName, flags)

       int
       Tcl_UpVar2(interp, frameName, name1, name2, destName, flags)

ARGUMENTS
       Tcl_Interp *interp (in)		    Interpreter	 containing variables;
					    also used for error	reporting.

       const char *frameName (in)	    Identifies the  stack  frame  con-
					    taining source variable.  May have
					    any	 of  the forms accepted	by the
					    upvar command, such	as #0 or 1.

       const char *sourceName (in)	    Name of source  variable,  in  the
					    frame given	by frameName.  May re-
					    fer	 to a scalar variable or to an
					    array variable  with  a  parenthe-
					    sized index.

       const char *destName (in)	    Name   of	destination  variable,
					    which is to	be  linked  to	source
					    variable  so  that	references  to
					    destName refer to the other	 vari-
					    able.   Must  not  currently exist
					    except as an upvar-ed variable.

       int flags (in)			    One	of TCL_GLOBAL_ONLY,  TCL_NAME-
					    SPACE_ONLY	or  0;	 if  non-zero,
					    then destName is a global or name-
					    space variable;  otherwise	it  is
					    local to the current procedure (or
					    current  namespace if no procedure
					    is active).

       const char *name1 (in)		    First part	of  source  variable's
					    name  (scalar name,	or name	of ar-
					    ray	without	array index).

       const char *name2 (in)		    If source variable is  an  element
					    of	an  array,  gives the index of
					    the	element.   For	scalar	source
					    variables, is NULL.
______________________________________________________________________________

DESCRIPTION
       Tcl_UpVar  and  Tcl_UpVar2  provide the same functionality as the upvar
       command:	 they make a link from a  source  variable  to	a  destination
       variable,  so  that  references to the destination are passed transpar-
       ently through to	the source.  The name of the source  variable  may  be
       specified  either  as  a	single string such as xyx or a(24) (by calling
       Tcl_UpVar) or in	two parts where	the array name has been	separated from
       the element name	(by calling  Tcl_UpVar2).   The	 destination  variable
       name is specified in a single string;  it may not be an array element.

       Both  procedures	 return	 either	TCL_OK or TCL_ERROR, and they leave an
       error message in	the interpreter's result if an error occurs.

       As with the upvar command, the source variable need not	exist;	if  it
       does exist, unsetting it	later does not destroy the link.  The destina-
       tion  variable may exist	at the time of the call, but if	so it must ex-
       ist as a	linked variable.

KEYWORDS
       linked variable,	upvar, variable

Tcl				      7.4			  Tcl_UpVar(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=Tcl_UpVar.tcl86&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help