SetVar man page on OSF1

Man page or keyword search:  
man Server   12896 pages
apropos Keyword Search (all sections)
Output format
OSF1 logo
[printable version]

Tcl_SetVar(3)		    Tcl Library Procedures		 Tcl_SetVar(3)

______________________________________________________________________________

NAME
       Tcl_SetVar,   Tcl_SetVar2,   Tcl_GetVar,	  Tcl_GetVar2,	 Tcl_UnsetVar,
       Tcl_UnsetVar2 - manipulate Tcl variables

SYNOPSIS
       #include <tcl.h>

       char *
       Tcl_SetVar(interp, varName, newValue, flags)

       char *
       Tcl_SetVar2(interp, name1, name2, newValue, flags)

       char *
       Tcl_GetVar(interp, varName, flags)

       char *
       Tcl_GetVar2(interp, name1, name2, flags)

       int
       Tcl_UnsetVar(interp, varName, flags)

       int
       Tcl_UnsetVar2(interp, name1, name2, flags)

ARGUMENTS
       Tcl_Interp   *interp	(in)	  Interpreter containing variable.

       char	    *varName	(in)	  Name of  variable.   May  include  a
					  series of :: namespace qualifiers to
					  specify a variable in	 a  particular
					  namespace.   May  refer  to a scalar
					  variable or an element of  an	 array
					  variable.  If the name references an
					  element of an array, then it must be
					  in  writable	memory:	 Tcl will make
					  temporary modifications to it	 while
					  looking up the name.

       char	    *newValue	(in)	  New value for variable.

       int	    flags	(in)	  OR-ed	 combination of bits providing
					  additional  information  for	opera‐
					  tion. See below for valid values.

       char	    *name1	(in)	  Name	of scalar variable, or name of
					  array variable if name2 is non-NULL.
					  May include a series of :: namespace
					  qualifiers to specify a variable  in
					  a particular namespace.

       char	    *name2	(in)	  If  non-NULL,	 gives name of element
					  within array and name1 must refer to
					  an array variable.
_________________________________________________________________

DESCRIPTION
       These  procedures  may  be used to create, modify, read, and delete Tcl
       variables from C code.

       Note that Tcl_GetVar and Tcl_SetVar have been largely replaced  by  the
       object-based   procedures  Tcl_ObjGetVar2  and  Tcl_ObjSetVar2.	 Those
       object-based procedures read, modify, and create a variable whose  name
       is  held	 in  a	Tcl  object  instead  of a string.  They also return a
       pointer to the object which is the variable's value instead of  return‐
       ing  a  string.	Operations on objects can be faster since objects hold
       an internal representation that can be manipulated more efficiently.

       Tcl_SetVar and Tcl_SetVar2 will create a	 new  variable	or  modify  an
       existing	 one.	Both of these procedures set the given variable to the
       value given by newValue, and they return a pointer to  a	 copy  of  the
       variable's new value, which is stored in Tcl's variable structure.  Tcl
       keeps a private copy of the variable's value, so the caller may	change
       newValue	 after	these procedures return without affecting the value of
       the variable.  If an error occurs in  setting  the  variable  (e.g.  an
       array  variable	is referenced without giving an index into the array),
       they return NULL.

       The name of the variable may be specified to Tcl_SetVar and Tcl_SetVar2
       in  either  of two ways.	 If Tcl_SetVar is called, the variable name is
       given as a single string, varName.  If varName contains an open	paren‐
       thesis  and  ends  with a close parenthesis, then the value between the
       parentheses is treated as an index (which can have  any	string	value)
       and the characters before the first open parenthesis are treated as the
       name of an array variable.  If  varName	doesn't	 have  parentheses  as
       described  above,  then	the  entire string is treated as the name of a
       scalar variable.	 If Tcl_SetVar2 is called, then	 the  array  name  and
       index  have  been  separated  by	 the caller into two separate strings,
       name1 and name2 respectively;  if name2 is zero it means that a	scalar
       variable is being referenced.

       The flags argument may be used to specify any of several options to the
       procedures.  It consists of an OR-ed combination of the following bits.
       Note  that the flag bit TCL_PARSE_PART1 is only meaningful for the pro‐
       cedures Tcl_SetVar2 and Tcl_GetVar2.

       TCL_GLOBAL_ONLY
	      Under normal circumstances the procedures look up	 variables  as
	      follows:	If a procedure call is active in interp, a variable is
	      looked up at the current level of procedure call.	 Otherwise,  a
	      variable	is  looked  up first in the current namespace, then in
	      the global namespace.  However, if this bit is set in flags then
	      the  variable  is looked up only in the global namespace even if
	      there is a procedure call active.	 If both  TCL_GLOBAL_ONLY  and
	      TCL_NAMESPACE_ONLY are given, TCL_GLOBAL_ONLY is ignored.

       TCL_NAMESPACE_ONLY
	      Under  normal  circumstances the procedures look up variables as
	      follows: If a procedure call is active in interp, a variable  is
	      looked  up at the current level of procedure call.  Otherwise, a
	      variable is looked up first in the current  namespace,  then  in
	      the global namespace.  However, if this bit is set in flags then
	      the variable is looked up only in the current namespace even  if
	      there is a procedure call active.

       TCL_LEAVE_ERR_MSG
	      If  an  error  is returned and this bit is set in flags, then an
	      error message will be left in the interpreter's result, where it
	      can  be  retrieved with Tcl_GetObjResult or Tcl_GetStringResult.
	      If this flag bit isn't set then no error message is left and the
	      interpreter's result will not be modified.

       TCL_APPEND_VALUE
	      If  this	bit  is	 set  then newValue is appended to the current
	      value, instead of replacing it.  If the  variable	 is  currently
	      undefined, then this bit is ignored.

       TCL_LIST_ELEMENT
	      If  this	bit  is set, then newValue is converted to a valid Tcl
	      list element before setting (or appending to) the	 variable.   A
	      separator	 space	is appended before the new list element unless
	      the list element is going to be the first element in a  list  or
	      sublist (i.e. the variable's current value is empty, or contains
	      the single character ``{'', or ends in `` }'').

       TCL_PARSE_PART1
	      If this bit is set when  calling	Tcl_SetVar2  and  Tcl_GetVar2,
	      name1 may contain both an array and an element name: if the name
	      contains an open parenthesis and ends with a close  parenthesis,
	      then  the value between the parentheses is treated as an element
	      name (which can have any string value) and the characters before
	      the  first  open parenthesis are treated as the name of an array
	      variable.	 If the flag TCL_PARSE_PART1 is given, name2 should be
	      NULL since the array and element names are taken from name1.

       Tcl_GetVar and Tcl_GetVar2 return the current value of a variable.  The
       arguments to these procedures are treated in the same way as the	 argu‐
       ments  to  Tcl_SetVar and Tcl_SetVar2.  Under normal circumstances, the
       return value is a pointer to the variable's value (which is  stored  in
       Tcl's  variable	structure  and will not change before the next call to
       Tcl_SetVar or Tcl_SetVar2).  Tcl_GetVar and Tcl_GetVar2	use  the  flag
       bits TCL_GLOBAL_ONLY and TCL_LEAVE_ERR_MSG, both of which have the same
       meaning as for Tcl_SetVar.   In	addition,  Tcl_GetVar2	uses  the  bit
       TCL_PARSE_PART1,	 which has the same meaning as for Tcl_SetVar2.	 If an
       error occurs in reading the variable (e.g. the variable	doesn't	 exist
       or  an  array element is specified for a scalar variable), then NULL is
       returned.

       Tcl_UnsetVar and Tcl_UnsetVar2 may be used to  remove  a	 variable,  so
       that  future  calls  to Tcl_GetVar or Tcl_GetVar2 for the variable will
       return an error.	 The arguments to these procedures are treated in  the
       same  way as the arguments to Tcl_GetVar and Tcl_GetVar2.  If the vari‐
       able is successfully removed then TCL_OK is returned.  If the  variable
       cannot  be removed because it doesn't exist then TCL_ERROR is returned.
       If an array element is specified, the given element is removed but  the
       array  remains.	 If  an array name is specified without an index, then
       the entire array is removed.

SEE ALSO
       Tcl_GetObjResult, Tcl_GetStringResult, Tcl_ObjGetVar2,  Tcl_ObjSetVar2,
       Tcl_TraceVar

KEYWORDS
       array, interpreter, object, scalar, set, unset, variable

Tcl				      7.4			 Tcl_SetVar(3)
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server OSF1

List of man pages available for OSF1

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net