MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Tcl Built-In Commands                                 tclvars(1T)





NAME
     tclvars - Variables used by Tcl



DESCRIPTION
     The following  global  variables  are  created  and  managed
     automatically by the Tcl library.  Except where noted below,
     these variables should normally be treated as  read-only  by
     application-specific code and by users.

     env  This variable is maintained by Tcl as  an  array  whose
          elements are the environment variables for the process.
          Reading  an  element  will  return  the  value  of  the
          corresponding environment variable.  Setting an element
          of the array will modify the corresponding  environment
          variable  or  create  a  new  one if it doesn't already
          exist.  Unsetting an element of  env  will  remove  the
          corresponding environment variable.  Changes to the env
          array will affect the environment passed to children by
          commands  like  exec.  If the entire env array is unset
          then Tcl will stop monitoring env accesses and will not
          update environment variables.
          Under Windows, the environment variables PATH and  COM-  
          SPEC  in any capitalization are converted automatically  
          to upper case.  For instance, the PATH  variable  could  
          be  exported  by  the  operating  system  as  ``path'',  
          ``Path'', ``PaTh'', etc., causing otherwise simple  Tcl  
          code  to have to support many special cases.  All other  
          environment variables inherited by Tcl are left unmodi-  
          fied.   Setting  an  env array variable to blank is the  
          same as unsetting it as this is  the  behavior  of  the  
          underlying Windows OS.  It should be noted that relying  
          on an existing and  empty  environment  variable  won't  
          work  on  windows and is discouraged for cross-platform  
          usage.
          On the Macintosh,  the  environment  variable  is  con-
          structed  by  Tcl  as  no  global  environment variable
          exists.  The environment variables that are created for
          Tcl include:

          LOGIN
               This holds the Chooser name of the Macintosh.

          USER This also holds the Chooser name of the Macintosh.

          SYSFOLDER
               The path to the system directory.

          APLEMFOLDER



Tcl                     Last change: 8.0                        1






Tcl Built-In Commands                                 tclvars(1T)



               The path to the Apple Menu directory.

          CPFOLDER
               The path to the control panels directory.

          DESKFOLDER
               The path to the desk top directory.

          EXTFOLDER
               The path to the system extensions directory.

          PREFOLDER
               The path to the preferences directory.

          PRINTMONFOLDER
               The path to the print monitor directory.

          SHAREDTRASHFOLDER
               The path to the network trash directory.

          TRASHFOLDER
               The path to the trash directory.

          STARTUPFOLDER
               The path to the start up directory.

          HOME The path to the application's default directory.

          You can also create your own environment variables  for
          the Macintosh.  A file named  Tcl Environment Variables
          may be placed in the preferences folder in the Mac sys-
          tem  folder.   Each  line of this file should be of the
          form VARNAME=vardata.

          The last alternative is to place environment  variables
          in a 'STR#' resource named Tcl Environment Variables of
          the application.  This  is  considered  a  little  more
          ``Mac  like''  than  a  Unix style Environment Variable
          file.  Each entry in the 'STR#' resource has  the  same
          format as above.  The source code file tclMacEnv.c con-
          tains the implementation of the env  mechanisms.   This
          file  contains  many #define's that allow customization
          of the env mechanisms to fit your applications needs.

     errorCode
          After an error has occurred, this variable will be  set
          to  hold  a list value representing additional informa-
          tion about the error in a form that is easy to  process
          with  programs.   The first element of the list identi-
          fies a general class of errors, and determines the for-
          mat of the rest of the list.  The following formats for
          errorCode  are  used  by  the  Tcl   core;   individual



Tcl                     Last change: 8.0                        2






Tcl Built-In Commands                                 tclvars(1T)



          applications may define additional formats.

          ARITH code msg
               This format  is  used  when  an  arithmetic  error
               occurs  (e.g.  an attempt to divide by zero in the
               expr command).  Code identifies the precise  error
               and  msg  provides a human-readable description of
               the error.  Code will be either  DIVZERO  (for  an
               attempt to divide by zero), DOMAIN (if an argument
               is outside the  domain  of  a  function,  such  as
               acos(-3)), IOVERFLOW (for integer overflow), OVER-
               FLOW (for a floating-point overflow),  or  UNKNOWN
               (if the cause of the error cannot be determined).

          CHILDKILED pid sigName msg
               This format is used when a child process has  been
               killed because of a signal.  The second element of
               errorCode will be  the  process's  identifier  (in
               decimal).   The third element will be the symbolic
               name of the signal that caused the process to ter-
               minate;  it  will  be  one  of  the names from the
               include  file  signal.h,  such  as  SIGPIPE.   The
               fourth element will be a short human-readable mes-
               sage describing the signal,  such  as  ``write  on
               pipe with no readers'' for SIGPIPE.

          CHILDSTATUS pid code
               This format is  used  when  a  child  process  has
               exited  with  a  non-zero exit status.  The second
               element of errorCode will be the  process's  iden-
               tifier  (in decimal) and the third element will be
               the exit code returned by  the  process  (also  in
               decimal).

          CHILDSUSP pid sigName msg
               This format is used when a child process has  been
               suspended because of a signal.  The second element
               of errorCode will be the process's identifier,  in
               decimal.   The  third element will be the symbolic
               name of the signal  that  caused  the  process  to
               suspend;  this  will  be one of the names from the
               include  file  signal.h,  such  as  SIGTIN.   The
               fourth element will be a short human-readable mes-
               sage describing the signal, such  as  ``background
               tty read'' for SIGTIN.

          NONE This format is used for errors where no additional
               information  is available for an error besides the
               message returned with the error.  In  these  cases
               errorCode will consist of a list containing a sin-
               gle element whose contents are NONE.




Tcl                     Last change: 8.0                        3






Tcl Built-In Commands                                 tclvars(1T)



          POSIX errName msg
               If the first element of errorCode is  POSIX,  then
               the  error  occurred  during  a POSIX kernel call.
               The second element of the list  will  contain  the
               symbolic  name of the error that occurred, such as
               ENOENT; this will be one of the values defined  in
               the  include  file  errno.h.  The third element of
               the  list  will  be   a   human-readable   message
               corresponding  to  errName, such as ``no such file
               or directory'' for the ENOENT case.

          To set errorCode, applications should use library  pro-
          cedures such as TclSetErrorCode and TclPosixError, or
          they may invoke the error command.   If  one  of  these
          methods hasn't been used, then the Tcl interpreter will
          reset the variable to NONE after the next error.

     errorInfo
          After an error has occurred, this string  will  contain
          one or more lines identifying the Tcl commands and pro-
          cedures that were being executed when the  most  recent
          error  occurred.  Its contents take the form of a stack
          trace showing the various nested Tcl commands that  had
          been invoked at the time of the error.

     tcllibrary
          This variable holds the name of a directory  containing
          the  system  library of Tcl scripts, such as those used
          for  auto-loading.   The  value  of  this  variable  is
          returned  by the info library command.  See the library
          manual entry for details of the facilities provided  by
          the  Tcl  script library.  Normally each application or
          package will have its own  application-specific  script
          library  in  addition  to  the Tcl script library; each
          application should set a global variable  with  a  name
          like $applibrary (where app is the application's name)
          to hold the network file name  for  that  application's
          library directory.  The initial value of tcllibrary is
          set when an interpreter is created by searching several
          different  directories until one is found that contains
          an appropriate Tcl startup script.  If the  TCLIBRARY
          environment  variable  exists,  then  the  directory it
          names is checked first.  If TCLIBRARY  isn't  set  or
          doesn't  refer  to  an  appropriate directory, then Tcl
          checks several other directories based on a compiled-in
          default location, the location of the binary containing
          the application, and the current working directory.

     tclpatchLevel
          When an interpreter is  created  Tcl  initializes  this
          variable  to  hold  a  string  giving the current patch
          level for Tcl, such as 7.3p2 for Tcl 7.3 with the first



Tcl                     Last change: 8.0                        4






Tcl Built-In Commands                                 tclvars(1T)



          two  official  patches,  or  7.4b4  for the fourth beta
          release of Tcl 7.4.  The  value  of  this  variable  is
          returned by the info patchlevel command.

     tclpkgPath                                                        
          This  variable  holds  a list of directories indicating  
          where packages are normally installed.  It is not  used  
          on  Windows.   It  typically contains either one or two  
          entries; if it contains two entries, the first is  nor-  
          mally   a  directory  for  platform-dependent  packages  
          (e.g., shared library binaries) and the second is  nor-  
          mally  a  directory  for  platform-independent packages  
          (e.g., script files). Typically a package is  installed  
          as   a   subdirectory   of   one   of  the  entries  in  
          $tclpkgPath.  The  directories  in  $tclpkgPath   are  
          included  by default in the autopath variable, so they  
          and their immediate  subdirectories  are  automatically  
          searched  for packages during package require commands.  
          Note:  tclpkgPath it not intended to  be  modified  by  
          the  application.   Its  value is added to autopath at  
          startup; changes to tclpkgPath are  not  reflected  in  
          autopath.  If you want Tcl to search additional direc-  
          tories for packages you should add the names  of  those  
          directories to autopath, not tclpkgPath.

     tclplatform
          This is an associative  array  whose  elements  contain
          information about the platform on which the application
          is running, such as the name of the  operating  system,
          its  current release number, and the machine's instruc-
          tion set.  The elements listed  below  will  always  be
          defined,  but  they may have empty strings as values if
          Tcl couldn't retrieve  any  relevant  information.   In
          addition,  extensions  and  applications  may add addi-
          tional values to the array.   The  predefined  elements
          are:

          byteOrder                                                     
               The  native  byte  order  of  this machine: either  
               littleEndian or bigEndian.

          debug
               If this variable exists, then the interpreter  was
               compiled  with  and  linked  to  a debug-enabled C
               run-time.  This variable will only exist  on  Win-
               dows, so extension writers can specify which pack-
               age to load depending on the  C  run-time  library
               that  is  in  use.  This is not an indication that
               this core contains symbols.

          machine
               The instruction set executed by this machine, such



Tcl                     Last change: 8.0                        5






Tcl Built-In Commands                                 tclvars(1T)



               as  intel,  PC, 68k, or sun4m.  On UNIX machines,
               this is the value returned by uname -m.

          os   The name of the operating system running  on  this
               machine, such as Windows 95, Windows NT, MacOS, or
               SunOS.   On  UNIX  machines,  this  is  the  value
               returned  by  uname -s.  On Windows 95 and Windows
               98, the value returned will be Windows 95 to  pro-
               vide better backwards compatibility to Windows 95;
               to distinguish between the two, check  the  osVer-
               sion.

          osVersion
               The version number for the operating  system  run-
               ning  on  this machine.  On UNIX machines, this is
               the value returned by uname -r.   On  Windows  95,
               the  version  will be 4.0; on Windows 98, the ver-
               sion will be 4.10.

          platform
               Either windows, macintosh, or unix.  This  identi-
               fies  the  general  operating  environment  of the
               machine.

          threaded
               If this variable exists, then the interpreter  was
               compiled with threads enabled.

          user This identifies the  current  user  based  on  the
               login information available on the platform.  This
               comes from the USER or LOGNAME  environment  vari-
               able  on  Unix,  and the value from GetUserName on
               Windows and Macintosh.

          wordSize
               This gives the size of the native-machine word  in  
               bytes  (strictly,  it  is  same  as  the result of  
               evaluating sizeof(long) in C.)

     tclprecision
          This variable controls the number of digits to generate  
          when  converting  floating-point values to strings.  It  
          defaults to 12.  17  digits  is  ``perfect''  for  IE  
          floating-point   in  that  it  allows  double-precision  
          values to be converted to strings and  back  to  binary  
          with  no loss of information.  However, using 17 digits  
          prevents any  rounding,  which  produces  longer,  less  
          intuitive  results.   For  example,  expr  1.4  returns  
          1.3999999999999999 with tclprecision set  to  17,  vs.  
          1.4 if tclprecision is 12.                              
          All  interpreters  in  a   process   share   a   single  
          tclprecision  value:   changing  it in one interpreter  



Tcl                     Last change: 8.0                        6






Tcl Built-In Commands                                 tclvars(1T)



          will affect all other interpreters as  well.   However,  
          safe  interpreters  are not allowed to modify the vari-  
          able.                                                    

     tclrcFileName
          This variable is used during initialization to indicate
          the name of a user-specific startup file.  If it is set
          by application-specific initialization,  then  the  Tcl
          startup  code will check for the existence of this file
          and source it if it exists.  For example, for wish  the
          variable  is set to ~/.wishrc for Unix and ~/wishrc.tcl
          for Windows.

     tclrcRsrcName
          This variable is only used on Macintosh  systems.   The
          variable  is used during initialization to indicate the
          name of a user-specific TEXT resource  located  in  the
          application  or extension resource forks.  If it is set
          by application-specific initialization,  then  the  Tcl
          startup  code  will  check  for  the  existence of this
          resource and source it if it exists.  For example,  the
          Macintosh  wish  application has the variable is set to
          tclshrc.

     tcltraceCompile
          The value of this variable can be set  to  control  how
          much  tracing  information is displayed during bytecode
          compilation.  By default, tcltraceCompile is zero  and
          no  information is displayed.  Setting tcltraceCompile
          to 1 generates a one-line summary in stdout whenever  a
          procedure or top-level command is compiled.  Setting it
          to 2 generates a detailed  listing  in  stdout  of  the
          bytecode instructions emitted during every compilation.
          This variable is  useful  in  tracking  down  suspected
          problems  with  the Tcl compiler.  It is also occasion-
          ally  useful  when  converting  existing  code  to  use
          Tcl8.0.

     This   variable   and   functionality    only    exist    if
     TCLCOMPILEDEBUG was defined during Tcl's compilation.

     tcltraceExec
          The value of this variable can be set  to  control  how
          much  tracing  information is displayed during bytecode
          execution.  By default, tcltraceExec is  zero  and  no
          information  is  displayed.  Setting tcltraceExec to 1
          generates a one-line trace in stdout on each call to  a
          Tcl  procedure.   Setting  it  to 2 generates a line of
          output whenever any Tcl command is  invoked  that  con-
          tains  the name of the command and its arguments.  Set-
          ting it to 3 produces  a  detailed  trace  showing  the
          result  of  executing  each bytecode instruction.  Note



Tcl                     Last change: 8.0                        7






Tcl Built-In Commands                                 tclvars(1T)



          that when tcltraceExec is 2 or 3, commands such as set
          and incr that have been entirely replaced by a sequence
          of bytecode instructions are not shown.   Setting  this
          variable  is useful in tracking down suspected problems
          with the bytecode compiler and interpreter.  It is also
          occasionally useful when converting code to use Tcl8.0.

     This   variable   and   functionality    only    exist    if
     TCLCOMPILEDEBUG was defined during Tcl's compilation.

     tclwordchars
          The value of this variable is a regular expression that
          can  be  set  to  control  what are considered ``word''
          characters, for instances  like  selecting  a  word  by
          double-clicking  in  text in Tk.  It is platform depen-
          dent.  On Windows, it defaults to \S, meaning  anything
          but  a  Unicode space character.  Otherwise it defaults
          to \w, which is any  Unicode  word  character  (number,
          letter, or underscore).

     tclnonwordchars
          The value of this variable is a regular expression that
          can  be set to control what are considered ``non-word''
          characters, for instances  like  selecting  a  word  by
          double-clicking  in  text in Tk.  It is platform depen-
          dent.  On Windows,  it  defaults  to  \s,  meaning  any
          Unicode  space character.  Otherwise it defaults to \W,
          which is anything but a Unicode word character (number,
          letter, or underscore).

     tclversion
          When an interpreter is  created  Tcl  initializes  this
          variable to hold the version number for this version of
          Tcl in the form x.y.   Changes  to  x  represent  major
          changes  with probable incompatibilities and changes to
          y represent  small  enhancements  and  bug  fixes  that
          retain backward compatibility.  The value of this vari-
          able is returned by the info tclversion command.

OTHER GLOBAL VARIABLES
     The following variables are  only  guaranteed  to  exist  in
     tclsh  and wish executables; the Tcl library does not define
     them itself but many Tcl environments do.

     argc  The number of arguments to tclsh or wish.

     argv  Tcl list of arguments to tclsh or wish.

     argv0 The script that tclsh or wish started executing (if it
           was specified) or otherwise the name by which tclsh or
           wish was invoked.




Tcl                     Last change: 8.0                        8






Tcl Built-In Commands                                 tclvars(1T)



     tclinteractive
           Contains 1 if tclsh or wish is  running  interactively
           (no  script  was  specified  and  standard  input is a
           terminal-like device), 0 otherwise.

     The wish executably  additionally  specifies  the  following
     global variable:

     geometry
           If set, contains the user-supplied geometry specifica-
           tion to use for the main Tk window.


SEE ALSO
     eval(1T), tclsh(1), wish(1)


KEYWORDS
     arithmetic, bytecode, compiler, error,  environment,  POSIX,
     precision, subprocess, variables

ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:

     
       ATRIBUTE TYPE     ATRIBUTE VALUE
    
     Availability         SUNWTcl        
    
     Interface Stability  Uncommitted    
    

NOTES
     Source for Tcl is available on http:/opensolaris.org.




















Tcl                     Last change: 8.0                        9



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™