405 lines
21 KiB
HTML
405 lines
21 KiB
HTML
|
<HTML><HEAD><TITLE>Tcl Built-In Commands - tclvars manual page</TITLE></HEAD><BODY>
|
||
|
<DL>
|
||
|
<DD><A HREF="tclvars.htm#M2" NAME="L1260">NAME</A>
|
||
|
<DL><DD>tclvars - Variables used by Tcl</DL>
|
||
|
<DD><A HREF="tclvars.htm#M3" NAME="L1261">DESCRIPTION</A>
|
||
|
<DL>
|
||
|
<DD><A HREF="tclvars.htm#M4" NAME="L1262"><B>env</B></A>
|
||
|
<DL>
|
||
|
<DD><A HREF="tclvars.htm#M5" NAME="L1263"><B>LOGIN</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M6" NAME="L1264"><B>USER</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M7" NAME="L1265"><B>SYS_FOLDER</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M8" NAME="L1266"><B>APPLE_M_FOLDER</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M9" NAME="L1267"><B>CP_FOLDER</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M10" NAME="L1268"><B>DESK_FOLDER</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M11" NAME="L1269"><B>EXT_FOLDER</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M12" NAME="L1270"><B>PREF_FOLDER</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M13" NAME="L1271"><B>PRINT_MON_FOLDER</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M14" NAME="L1272"><B>SHARED_TRASH_FOLDER</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M15" NAME="L1273"><B>TRASH_FOLDER</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M16" NAME="L1274"><B>START_UP_FOLDER</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M17" NAME="L1275"><B>HOME</B></A>
|
||
|
</DL>
|
||
|
<DD><A HREF="tclvars.htm#M18" NAME="L1276"><B>errorCode</B></A>
|
||
|
<DL>
|
||
|
<DD><A HREF="tclvars.htm#M19" NAME="L1277"><B>ARITH</B><I> code msg</I></A>
|
||
|
<DD><A HREF="tclvars.htm#M20" NAME="L1278"><B>CHILDKILLED</B><I> pid sigName msg</I></A>
|
||
|
<DD><A HREF="tclvars.htm#M21" NAME="L1279"><B>CHILDSTATUS</B><I> pid code</I></A>
|
||
|
<DD><A HREF="tclvars.htm#M22" NAME="L1280"><B>CHILDSUSP</B><I> pid sigName msg</I></A>
|
||
|
<DD><A HREF="tclvars.htm#M23" NAME="L1281"><B>NONE</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M24" NAME="L1282"><B>POSIX </B><I>errName msg</I></A>
|
||
|
</DL>
|
||
|
<DD><A HREF="tclvars.htm#M25" NAME="L1283"><B>errorInfo</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M26" NAME="L1284"><B>tcl_library</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M27" NAME="L1285"><B>tcl_patchLevel</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M28" NAME="L1286"><B>tcl_pkgPath</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M29" NAME="L1287"><B>tcl_platform</B></A>
|
||
|
<DL>
|
||
|
<DD><A HREF="tclvars.htm#M30" NAME="L1288"><B>byteOrder</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M31" NAME="L1289"><B>debug</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M32" NAME="L1290"><B>machine</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M33" NAME="L1291"><B>os</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M34" NAME="L1292"><B>osVersion</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M35" NAME="L1293"><B>platform</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M36" NAME="L1294"><B>threaded</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M37" NAME="L1295"><B>user</B></A>
|
||
|
</DL>
|
||
|
<DD><A HREF="tclvars.htm#M38" NAME="L1296"><B>tcl_precision</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M39" NAME="L1297"><B>tcl_rcFileName</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M40" NAME="L1298"><B>tcl_rcRsrcName</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M41" NAME="L1299"><B>tcl_traceCompile</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M42" NAME="L1300"><B>tcl_traceExec</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M43" NAME="L1301"><B>tcl_wordchars</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M44" NAME="L1302"><B>tcl_nonwordchars</B></A>
|
||
|
<DD><A HREF="tclvars.htm#M45" NAME="L1303"><B>tcl_version</B></A>
|
||
|
</DL>
|
||
|
<DD><A HREF="tclvars.htm#M46" NAME="L1304">SEE ALSO</A>
|
||
|
<DD><A HREF="tclvars.htm#M47" NAME="L1305">KEYWORDS</A>
|
||
|
</DL><HR>
|
||
|
<H3><A NAME="M2">NAME</A></H3>
|
||
|
tclvars - Variables used by Tcl
|
||
|
<H3><A NAME="M3">DESCRIPTION</A></H3>
|
||
|
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.
|
||
|
<P>
|
||
|
<DL>
|
||
|
<P><DT><A NAME="M4"><B>env</B></A><DD>
|
||
|
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 <B>env</B> will remove the corresponding
|
||
|
environment variable.
|
||
|
Changes to the <B>env</B> array will affect the environment
|
||
|
passed to children by commands like <B><A HREF="../TkCmd/exec.htm">exec</A></B>.
|
||
|
If the entire <B>env</B> array is unset then Tcl will stop
|
||
|
monitoring <B>env</B> accesses and will not update environment
|
||
|
variables.
|
||
|
<DL><P><DD>
|
||
|
Under Windows, the environment variables PATH and COMSPEC 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 unmodified.
|
||
|
</DL>
|
||
|
<DL><P><DD>
|
||
|
On the Macintosh, the environment variable is constructed by Tcl as no
|
||
|
global environment variable exists. The environment variables that
|
||
|
are created for Tcl include:
|
||
|
<P>
|
||
|
<DL>
|
||
|
<P><DT><A NAME="M5"><B>LOGIN</B></A><DD>
|
||
|
This holds the Chooser name of the Macintosh.
|
||
|
<P><DT><A NAME="M6"><B>USER</B></A><DD>
|
||
|
This also holds the Chooser name of the Macintosh.
|
||
|
<P><DT><A NAME="M7"><B>SYS_FOLDER</B></A><DD>
|
||
|
The path to the system directory.
|
||
|
<P><DT><A NAME="M8"><B>APPLE_M_FOLDER</B></A><DD>
|
||
|
The path to the Apple Menu directory.
|
||
|
<P><DT><A NAME="M9"><B>CP_FOLDER</B></A><DD>
|
||
|
The path to the control panels directory.
|
||
|
<P><DT><A NAME="M10"><B>DESK_FOLDER</B></A><DD>
|
||
|
The path to the desk top directory.
|
||
|
<P><DT><A NAME="M11"><B>EXT_FOLDER</B></A><DD>
|
||
|
The path to the system extensions directory.
|
||
|
<P><DT><A NAME="M12"><B>PREF_FOLDER</B></A><DD>
|
||
|
The path to the preferences directory.
|
||
|
<P><DT><A NAME="M13"><B>PRINT_MON_FOLDER</B></A><DD>
|
||
|
The path to the print monitor directory.
|
||
|
<P><DT><A NAME="M14"><B>SHARED_TRASH_FOLDER</B></A><DD>
|
||
|
The path to the network trash directory.
|
||
|
<P><DT><A NAME="M15"><B>TRASH_FOLDER</B></A><DD>
|
||
|
The path to the trash directory.
|
||
|
<P><DT><A NAME="M16"><B>START_UP_FOLDER</B></A><DD>
|
||
|
The path to the start up directory.
|
||
|
<P><DT><A NAME="M17"><B>HOME</B></A><DD>
|
||
|
The path to the application's default directory.
|
||
|
<P></DL>
|
||
|
<P>
|
||
|
You can also create your own environment variables for the Macintosh.
|
||
|
A file named <I>Tcl Environment Variables</I> may be placed in the
|
||
|
preferences folder in the Mac system folder. Each line of this file
|
||
|
should be of the form <I>VAR_NAME=var_data</I>.
|
||
|
<P>
|
||
|
The last alternative is to place environment variables in a 'STR#'
|
||
|
resource named <I>Tcl Environment Variables</I> 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 <I>tclMacEnv.c</I> contains the
|
||
|
implementation of the env mechanisms. This file contains many
|
||
|
#define's that allow customization of the env mechanisms to fit your
|
||
|
applications needs.
|
||
|
</DL>
|
||
|
<P><DT><A NAME="M18"><B>errorCode</B></A><DD>
|
||
|
After an error has occurred, this variable will be set to hold
|
||
|
additional information about the error in a form that is easy
|
||
|
to process with programs.
|
||
|
<B>errorCode</B> consists of a Tcl list with one or more elements.
|
||
|
The first element of the list identifies a general class of
|
||
|
errors, and determines the format of the rest of the list.
|
||
|
The following formats for <B>errorCode</B> are used by the
|
||
|
Tcl core; individual applications may define additional formats.
|
||
|
<P>
|
||
|
<DL>
|
||
|
<P><DT><A NAME="M19"><B>ARITH</B><I> code msg</I></A><DD>
|
||
|
This format is used when an arithmetic error occurs (e.g. an attempt
|
||
|
to divide by zero in the <B><A HREF="../TkCmd/expr.htm">expr</A></B> command).
|
||
|
<I>Code</I> identifies the precise error and <I>msg</I> provides a
|
||
|
human-readable description of the error. <I>Code</I> 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),
|
||
|
OVERFLOW (for a floating-point overflow),
|
||
|
or UNKNOWN (if the cause of the error cannot be determined).
|
||
|
<P><DT><A NAME="M20"><B>CHILDKILLED</B><I> pid sigName msg</I></A><DD>
|
||
|
This format is used when a child process has been killed because of
|
||
|
a signal. The second element of <B>errorCode</B> will be the
|
||
|
process's identifier (in decimal).
|
||
|
The third element will be the symbolic name of the signal that caused
|
||
|
the process to terminate; it will be one of the names from the
|
||
|
include file signal.h, such as <B>SIGPIPE</B>.
|
||
|
The fourth element will be a short human-readable message
|
||
|
describing the signal, such as ``write on pipe with no readers''
|
||
|
for <B>SIGPIPE</B>.
|
||
|
<P><DT><A NAME="M21"><B>CHILDSTATUS</B><I> pid code</I></A><DD>
|
||
|
This format is used when a child process has exited with a non-zero
|
||
|
exit status. The second element of <B>errorCode</B> will be the
|
||
|
process's identifier (in decimal) and the third element will be the exit
|
||
|
code returned by the process (also in decimal).
|
||
|
<P><DT><A NAME="M22"><B>CHILDSUSP</B><I> pid sigName msg</I></A><DD>
|
||
|
This format is used when a child process has been suspended because
|
||
|
of a signal.
|
||
|
The second element of <B>errorCode</B> 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 <B>SIGTTIN</B>.
|
||
|
The fourth element will be a short human-readable message
|
||
|
describing the signal, such as ``background tty read''
|
||
|
for <B>SIGTTIN</B>.
|
||
|
<P><DT><A NAME="M23"><B>NONE</B></A><DD>
|
||
|
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 <B>errorCode</B> will consist of a list
|
||
|
containing a single element whose contents are <B>NONE</B>.
|
||
|
<P><DT><A NAME="M24"><B>POSIX </B><I>errName msg</I></A><DD>
|
||
|
If the first element of <B>errorCode</B> is <B>POSIX</B>, 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 <B>ENOENT</B>; 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 <I>errName</I>, such as
|
||
|
``no such file or directory'' for the <B>ENOENT</B> case.
|
||
|
</DL><P>To set <B>errorCode</B>, applications should use library
|
||
|
procedures such as <B><A HREF="../TkLib/AddErrInfo.htm">Tcl_SetErrorCode</A></B> and <B><A HREF="../TkLib/AddErrInfo.htm">Tcl_PosixError</A></B>,
|
||
|
or they may invoke the <B><A HREF="../TkCmd/error.htm">error</A></B> command.
|
||
|
If one of these methods hasn't been used, then the Tcl
|
||
|
interpreter will reset the variable to <B>NONE</B> after
|
||
|
the next error.<DL>
|
||
|
<P></DL>
|
||
|
<P><DT><A NAME="M25"><B>errorInfo</B></A><DD>
|
||
|
After an error has occurred, this string will contain one or more lines
|
||
|
identifying the Tcl commands and procedures 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.
|
||
|
<P><DT><A NAME="M26"><B>tcl_library</B></A><DD>
|
||
|
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 <B><A HREF="../TkCmd/info.htm">info library</A></B> command.
|
||
|
See the <B>library</B> 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
|
||
|
<B>$</B><I>app</I><B>_library</B> (where <I>app</I> is the application's name)
|
||
|
to hold the network file name for that application's library directory.
|
||
|
The initial value of <B>tcl_library</B> 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 <B>TCL_LIBRARY</B> environment variable exists, then
|
||
|
the directory it names is checked first.
|
||
|
If <B>TCL_LIBRARY</B> 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.
|
||
|
<P><DT><A NAME="M27"><B>tcl_patchLevel</B></A><DD>
|
||
|
When an interpreter is created Tcl initializes this variable to
|
||
|
hold a string giving the current patch level for Tcl, such as
|
||
|
<B>7.3p2</B> for Tcl 7.3 with the first two official patches, or
|
||
|
<B>7.4b4</B> for the fourth beta release of Tcl 7.4.
|
||
|
The value of this variable is returned by the <B><A HREF="../TkCmd/info.htm">info patchlevel</A></B>
|
||
|
command.
|
||
|
<P><DT><A NAME="M28"><B>tcl_pkgPath</B></A><DD>
|
||
|
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
|
||
|
normally a directory for platform-dependent packages (e.g., shared library
|
||
|
binaries) and the second is normally a directory for platform-independent
|
||
|
packages (e.g., script files). Typically a package is installed as a
|
||
|
subdirectory of one of the entries in <B>$tcl_pkgPath</B>. The directories
|
||
|
in <B>$tcl_pkgPath</B> are included by default in the <B>auto_path</B>
|
||
|
variable, so they and their immediate subdirectories are automatically
|
||
|
searched for packages during <B>package require</B> commands. Note:
|
||
|
<B>tcl_pkgPath</B> it not intended to be modified by the application. Its
|
||
|
value is added to <B>auto_path</B> at startup; changes to <B>tcl_pkgPath</B>
|
||
|
are not reflected in <B>auto_path</B>. If you want Tcl to search additional
|
||
|
directories for packages you should add the names of those directories to
|
||
|
<B>auto_path</B>, not <B>tcl_pkgPath</B>.
|
||
|
<P><DT><A NAME="M29"><B>tcl_platform</B></A><DD>
|
||
|
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
|
||
|
instruction 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 additional values to the array. The
|
||
|
predefined elements are:
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<P>
|
||
|
<DL>
|
||
|
<P><DT><A NAME="M30"><B>byteOrder</B></A><DD>
|
||
|
The native byte order of this machine: either <B>littleEndian</B> or
|
||
|
<B>bigEndian</B>.
|
||
|
<P><DT><A NAME="M31"><B>debug</B></A><DD>
|
||
|
If this variable exists, then the interpreter
|
||
|
was compiled with debugging symbols enabled. This varible will only
|
||
|
exist on Windows so extension writers can specify which package to load
|
||
|
depending on the C run-time library that is loaded.
|
||
|
<P><DT><A NAME="M32"><B>machine</B></A><DD>
|
||
|
The instruction set executed by this machine, such as
|
||
|
<B>intel</B>, <B>PPC</B>, <B>68k</B>, or <B>sun4m</B>. On UNIX machines, this
|
||
|
is the value returned by <B>uname -m</B>.
|
||
|
<P><DT><A NAME="M33"><B>os</B></A><DD>
|
||
|
The name of the operating system running on this machine,
|
||
|
such as <B>Windows 95</B>, <B>Windows NT</B>, <B>MacOS</B>, or <B>SunOS</B>.
|
||
|
On UNIX machines, this is the value returned by <B>uname -s</B>.
|
||
|
On Windows 95 and Windows 98, the value returned will be <B>Windows
|
||
|
95</B> to provide better backwards compatibility to Windows 95; to
|
||
|
distinguish between the two, check the <B>osVersion</B>.
|
||
|
<P><DT><A NAME="M34"><B>osVersion</B></A><DD>
|
||
|
The version number for the operating system running on this machine.
|
||
|
On UNIX machines, this is the value returned by <B>uname -r</B>. On
|
||
|
Windows 95, the version will be 4.0; on Windows 98, the version will
|
||
|
be 4.10.
|
||
|
<P><DT><A NAME="M35"><B>platform</B></A><DD>
|
||
|
Either <B>windows</B>, <B>macintosh</B>, or <B>unix</B>. This identifies the
|
||
|
general operating environment of the machine.
|
||
|
<P><DT><A NAME="M36"><B>threaded</B></A><DD>
|
||
|
If this variable exists, then the interpreter
|
||
|
was compiled with threads enabled.
|
||
|
<P><DT><A NAME="M37"><B>user</B></A><DD>
|
||
|
This identifies the
|
||
|
current user based on the login information available on the platform.
|
||
|
This comes from the USER or LOGNAME environment variable on Unix,
|
||
|
and the value from GetUserName on Windows and Macintosh.
|
||
|
<P></DL>
|
||
|
<P><DT><A NAME="M38"><B>tcl_precision</B></A><DD>
|
||
|
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 IEEE 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,
|
||
|
<B>expr 1.4</B> returns 1.3999999999999999 with <B>tcl_precision</B>
|
||
|
set to 17, vs. 1.4 if <B>tcl_precision</B> is 12.
|
||
|
<DL><P><DD>
|
||
|
All interpreters in a process share a single <B>tcl_precision</B> value:
|
||
|
changing it in one interpreter will affect all other interpreters as
|
||
|
well. However, safe interpreters are not allowed to modify the
|
||
|
variable.
|
||
|
</DL>
|
||
|
<P><DT><A NAME="M39"><B>tcl_rcFileName</B></A><DD>
|
||
|
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 <B><A HREF="../TkCmd/source.htm">source</A></B> it if it exists. For example, for <B><A HREF="../UserCmd/wish.htm">wish</A></B>
|
||
|
the variable is set to <B>~/.wishrc</B> for Unix and <B>~/wishrc.tcl</B>
|
||
|
for Windows.
|
||
|
<P><DT><A NAME="M40"><B>tcl_rcRsrcName</B></A><DD>
|
||
|
This variable is only used on Macintosh systems. The variable is used
|
||
|
during initialization to indicate the name of a user-specific
|
||
|
<B><A HREF="../TclCmd/text.htm">TEXT</A></B> 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
|
||
|
<B><A HREF="../TkCmd/source.htm">source</A></B> it if it exists. For example, the Macintosh <B><A HREF="../UserCmd/wish.htm">wish</A></B>
|
||
|
application has the variable is set to <B>tclshrc</B>.
|
||
|
<P><DT><A NAME="M41"><B>tcl_traceCompile</B></A><DD>
|
||
|
The value of this variable can be set to control
|
||
|
how much tracing information
|
||
|
is displayed during bytecode compilation.
|
||
|
By default, tcl_traceCompile is zero and no information is displayed.
|
||
|
Setting tcl_traceCompile 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 occasionally useful when converting
|
||
|
existing code to use Tcl8.0.
|
||
|
<P><DT><A NAME="M42"><B>tcl_traceExec</B></A><DD>
|
||
|
The value of this variable can be set to control
|
||
|
how much tracing information
|
||
|
is displayed during bytecode execution.
|
||
|
By default, tcl_traceExec is zero and no information is displayed.
|
||
|
Setting tcl_traceExec 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 contains the name of the command and its arguments.
|
||
|
Setting it to 3 produces a detailed trace showing the result of
|
||
|
executing each bytecode instruction.
|
||
|
Note that when tcl_traceExec 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.
|
||
|
<P><DT><A NAME="M43"><B>tcl_wordchars</B></A><DD>
|
||
|
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
|
||
|
dependent. On Windows, it defaults to <B>\S</B>, meaning anything
|
||
|
but a Unicode space character. Otherwise it defaults to <B>\w</B>,
|
||
|
which is any Unicode word character (number, letter, or underscore).
|
||
|
<P><DT><A NAME="M44"><B>tcl_nonwordchars</B></A><DD>
|
||
|
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
|
||
|
dependent. On Windows, it defaults to <B>\s</B>, meaning any Unicode space
|
||
|
character. Otherwise it defaults to <B>\W</B>, which is anything but a
|
||
|
Unicode word character (number, letter, or underscore).
|
||
|
<P><DT><A NAME="M45"><B>tcl_version</B></A><DD>
|
||
|
When an interpreter is created Tcl initializes this variable to
|
||
|
hold the version number for this version of Tcl in the form <I>x.y</I>.
|
||
|
Changes to <I>x</I> represent major changes with probable
|
||
|
incompatibilities and changes to <I>y</I> represent small enhancements and
|
||
|
bug fixes that retain backward compatibility.
|
||
|
The value of this variable is returned by the <B><A HREF="../TkCmd/info.htm">info tclversion</A></B>
|
||
|
command.
|
||
|
|
||
|
<P></DL>
|
||
|
<H3><A NAME="M46">SEE ALSO</A></H3>
|
||
|
<B><A HREF="../TkCmd/eval.htm">eval</A></B>
|
||
|
<H3><A NAME="M47">KEYWORDS</A></H3>
|
||
|
<A href="../Keywords/A.htm#arithmetic">arithmetic</A>, <A href="../Keywords/B.htm#bytecode">bytecode</A>, <A href="../Keywords/C.htm#compiler">compiler</A>, <A href="../Keywords/E.htm#error">error</A>, <A href="../Keywords/E.htm#environment">environment</A>, <A href="../Keywords/P.htm#POSIX">POSIX</A>, <A href="../Keywords/P.htm#precision">precision</A>, <A href="../Keywords/S.htm#subprocess">subprocess</A>, <A href="../Keywords/V.htm#variables">variables</A>
|
||
|
<HR><PRE>
|
||
|
<A HREF="../copyright.htm">Copyright</A> © 1993 The Regents of the University of California.
|
||
|
<A HREF="../copyright.htm">Copyright</A> © 1994-1997 Sun Microsystems, Inc.
|
||
|
<A HREF="../copyright.htm">Copyright</A> © 1995-1997 Roger E. Critchlow Jr.</PRE>
|
||
|
</BODY></HTML>
|