Tcl_UpVar(3tcl)
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 containing 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 vari-
able, in the frame
given by frameName.
May refer to a scalar
variable or to an array
variable with a
parenthesized index.
const char *destName (in) Name of destination
variable, which is to
be linked to source
variable so that refer-
ences to destName refer
to the other variable.
Must not currently
exist except as an
upvar-ed variable.
int flags (in) One of TCL_GLOBAL_ONLY,
TCL_NAMESPACE_ONLY or
0; if non-zero, then
destName is a global or
namespace variable;
otherwise it is local
to the current pro-
cedure (or current
Tcl Last change: 7.4 1
Tcl_UpVar(3) Tcl Library Procedures Tcl_UpVar(3)
namespace if no pro-
cedure is active).
const char *name1 (in) First part of source
variable's name (scalar
name, or name of array
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 desti-
nation are passed transparently 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 destination variable may exist at the time of
the call, but if so it must exist as a linked variable.
KEYWORDS
linked variable, upvar, variable
Tcl Last change: 7.4 2
Man(1) output converted with
man2html