Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / src / nas,5.n2.os.2 / lib / python / man / mann / tclvars.n
CommitLineData
86530b38
AT
1'\"
2'\" Copyright (c) 1993 The Regents of the University of California.
3'\" Copyright (c) 1994-1997 Sun Microsystems, Inc.
4'\"
5'\" See the file "license.terms" for information on usage and redistribution
6'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
7'\"
8'\" RCS: @(#) $Id: tclvars.n,v 1.13.2.2 2004/11/16 10:07:00 dkf Exp $
9'\"
10'\" The definitions below are for supplemental macros used in Tcl/Tk
11'\" manual entries.
12'\"
13'\" .AP type name in/out ?indent?
14'\" Start paragraph describing an argument to a library procedure.
15'\" type is type of argument (int, etc.), in/out is either "in", "out",
16'\" or "in/out" to describe whether procedure reads or modifies arg,
17'\" and indent is equivalent to second arg of .IP (shouldn't ever be
18'\" needed; use .AS below instead)
19'\"
20'\" .AS ?type? ?name?
21'\" Give maximum sizes of arguments for setting tab stops. Type and
22'\" name are examples of largest possible arguments that will be passed
23'\" to .AP later. If args are omitted, default tab stops are used.
24'\"
25'\" .BS
26'\" Start box enclosure. From here until next .BE, everything will be
27'\" enclosed in one large box.
28'\"
29'\" .BE
30'\" End of box enclosure.
31'\"
32'\" .CS
33'\" Begin code excerpt.
34'\"
35'\" .CE
36'\" End code excerpt.
37'\"
38'\" .VS ?version? ?br?
39'\" Begin vertical sidebar, for use in marking newly-changed parts
40'\" of man pages. The first argument is ignored and used for recording
41'\" the version when the .VS was added, so that the sidebars can be
42'\" found and removed when they reach a certain age. If another argument
43'\" is present, then a line break is forced before starting the sidebar.
44'\"
45'\" .VE
46'\" End of vertical sidebar.
47'\"
48'\" .DS
49'\" Begin an indented unfilled display.
50'\"
51'\" .DE
52'\" End of indented unfilled display.
53'\"
54'\" .SO
55'\" Start of list of standard options for a Tk widget. The
56'\" options follow on successive lines, in four columns separated
57'\" by tabs.
58'\"
59'\" .SE
60'\" End of list of standard options for a Tk widget.
61'\"
62'\" .OP cmdName dbName dbClass
63'\" Start of description of a specific option. cmdName gives the
64'\" option's name as specified in the class command, dbName gives
65'\" the option's name in the option database, and dbClass gives
66'\" the option's class in the option database.
67'\"
68'\" .UL arg1 arg2
69'\" Print arg1 underlined, then print arg2 normally.
70'\"
71'\" RCS: @(#) $Id: man.macros,v 1.4 2000/08/25 06:18:32 ericm Exp $
72'\"
73'\" # Set up traps and other miscellaneous stuff for Tcl/Tk man pages.
74.if t .wh -1.3i ^B
75.nr ^l \n(.l
76.ad b
77'\" # Start an argument description
78.de AP
79.ie !"\\$4"" .TP \\$4
80.el \{\
81. ie !"\\$2"" .TP \\n()Cu
82. el .TP 15
83.\}
84.ta \\n()Au \\n()Bu
85.ie !"\\$3"" \{\
86\&\\$1 \\fI\\$2\\fP (\\$3)
87.\".b
88.\}
89.el \{\
90.br
91.ie !"\\$2"" \{\
92\&\\$1 \\fI\\$2\\fP
93.\}
94.el \{\
95\&\\fI\\$1\\fP
96.\}
97.\}
98..
99'\" # define tabbing values for .AP
100.de AS
101.nr )A 10n
102.if !"\\$1"" .nr )A \\w'\\$1'u+3n
103.nr )B \\n()Au+15n
104.\"
105.if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
106.nr )C \\n()Bu+\\w'(in/out)'u+2n
107..
108.AS Tcl_Interp Tcl_CreateInterp in/out
109'\" # BS - start boxed text
110'\" # ^y = starting y location
111'\" # ^b = 1
112.de BS
113.br
114.mk ^y
115.nr ^b 1u
116.if n .nf
117.if n .ti 0
118.if n \l'\\n(.lu\(ul'
119.if n .fi
120..
121'\" # BE - end boxed text (draw box now)
122.de BE
123.nf
124.ti 0
125.mk ^t
126.ie n \l'\\n(^lu\(ul'
127.el \{\
128.\" Draw four-sided box normally, but don't draw top of
129.\" box if the box started on an earlier page.
130.ie !\\n(^b-1 \{\
131\h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
132.\}
133.el \}\
134\h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
135.\}
136.\}
137.fi
138.br
139.nr ^b 0
140..
141'\" # VS - start vertical sidebar
142'\" # ^Y = starting y location
143'\" # ^v = 1 (for troff; for nroff this doesn't matter)
144.de VS
145.if !"\\$2"" .br
146.mk ^Y
147.ie n 'mc \s12\(br\s0
148.el .nr ^v 1u
149..
150'\" # VE - end of vertical sidebar
151.de VE
152.ie n 'mc
153.el \{\
154.ev 2
155.nf
156.ti 0
157.mk ^t
158\h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
159.sp -1
160.fi
161.ev
162.\}
163.nr ^v 0
164..
165'\" # Special macro to handle page bottom: finish off current
166'\" # box/sidebar if in box/sidebar mode, then invoked standard
167'\" # page bottom macro.
168.de ^B
169.ev 2
170'ti 0
171'nf
172.mk ^t
173.if \\n(^b \{\
174.\" Draw three-sided box if this is the box's first page,
175.\" draw two sides but no top otherwise.
176.ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
177.el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
178.\}
179.if \\n(^v \{\
180.nr ^x \\n(^tu+1v-\\n(^Yu
181\kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
182.\}
183.bp
184'fi
185.ev
186.if \\n(^b \{\
187.mk ^y
188.nr ^b 2
189.\}
190.if \\n(^v \{\
191.mk ^Y
192.\}
193..
194'\" # DS - begin display
195.de DS
196.RS
197.nf
198.sp
199..
200'\" # DE - end display
201.de DE
202.fi
203.RE
204.sp
205..
206'\" # SO - start of list of standard options
207.de SO
208.SH "STANDARD OPTIONS"
209.LP
210.nf
211.ta 5.5c 11c
212.ft B
213..
214'\" # SE - end of list of standard options
215.de SE
216.fi
217.ft R
218.LP
219See the \\fBoptions\\fR manual entry for details on the standard options.
220..
221'\" # OP - start of full description for a single option
222.de OP
223.LP
224.nf
225.ta 4c
226Command-Line Name: \\fB\\$1\\fR
227Database Name: \\fB\\$2\\fR
228Database Class: \\fB\\$3\\fR
229.fi
230.IP
231..
232'\" # CS - begin code excerpt
233.de CS
234.RS
235.nf
236.ta .25i .5i .75i 1i
237..
238'\" # CE - end code excerpt
239.de CE
240.fi
241.RE
242..
243.de UL
244\\$1\l'|0\(ul'\\$2
245..
246.TH tclvars n 8.0 Tcl "Tcl Built-In Commands"
247.BS
248'\" Note: do not modify the .SH NAME line immediately below!
249.SH NAME
250tclvars \- Variables used by Tcl
251.BE
252
253.SH DESCRIPTION
254.PP
255The following global variables are created and managed automatically
256by the Tcl library. Except where noted below, these variables should
257normally be treated as read-only by application-specific code and by users.
258.TP
259\fBenv\fR
260This variable is maintained by Tcl as an array
261whose elements are the environment variables for the process.
262Reading an element will return the value of the corresponding
263environment variable.
264Setting an element of the array will modify the corresponding
265environment variable or create a new one if it doesn't already
266exist.
267Unsetting an element of \fBenv\fR will remove the corresponding
268environment variable.
269Changes to the \fBenv\fR array will affect the environment
270passed to children by commands like \fBexec\fR.
271If the entire \fBenv\fR array is unset then Tcl will stop
272monitoring \fBenv\fR accesses and will not update environment
273variables.
274.RS
275.VS 8.0
276Under Windows, the environment variables PATH and COMSPEC in any
277capitalization are converted automatically to upper case. For instance, the
278PATH variable could be exported by the operating system as ``path'',
279``Path'', ``PaTh'', etc., causing otherwise simple Tcl code to have to
280support many special cases. All other environment variables inherited by
281Tcl are left unmodified. Setting an env array variable to blank is the
282same as unsetting it as this is the behavior of the underlying Windows OS.
283It should be noted that relying on an existing and empty environment variable
284won't work on windows and is discouraged for cross-platform usage.
285.VE
286.RE
287.RS
288On the Macintosh, the environment variable is constructed by Tcl as no
289global environment variable exists. The environment variables that
290are created for Tcl include:
291.TP
292\fBLOGIN\fR
293This holds the Chooser name of the Macintosh.
294.TP
295\fBUSER\fR
296This also holds the Chooser name of the Macintosh.
297.TP
298\fBSYS_FOLDER\fR
299The path to the system directory.
300.TP
301\fBAPPLE_M_FOLDER\fR
302The path to the Apple Menu directory.
303.TP
304\fBCP_FOLDER\fR
305The path to the control panels directory.
306.TP
307\fBDESK_FOLDER\fR
308The path to the desk top directory.
309.TP
310\fBEXT_FOLDER\fR
311The path to the system extensions directory.
312.TP
313\fBPREF_FOLDER\fR
314The path to the preferences directory.
315.TP
316\fBPRINT_MON_FOLDER\fR
317The path to the print monitor directory.
318.TP
319\fBSHARED_TRASH_FOLDER\fR
320The path to the network trash directory.
321.TP
322\fBTRASH_FOLDER\fR
323The path to the trash directory.
324.TP
325\fBSTART_UP_FOLDER\fR
326The path to the start up directory.
327.TP
328\fBHOME\fR
329The path to the application's default directory.
330.PP
331You can also create your own environment variables for the Macintosh.
332A file named \fITcl Environment Variables\fR may be placed in the
333preferences folder in the Mac system folder. Each line of this file
334should be of the form \fIVAR_NAME=var_data\fR.
335.PP
336The last alternative is to place environment variables in a 'STR#'
337resource named \fITcl Environment Variables\fR of the application. This
338is considered a little more ``Mac like'' than a Unix style Environment
339Variable file. Each entry in the 'STR#' resource has the same format
340as above. The source code file \fItclMacEnv.c\fR contains the
341implementation of the env mechanisms. This file contains many
342#define's that allow customization of the env mechanisms to fit your
343applications needs.
344.RE
345.TP
346\fBerrorCode\fR
347After an error has occurred, this variable will be set to hold
348additional information about the error in a form that is easy
349to process with programs.
350\fBerrorCode\fR consists of a Tcl list with one or more elements.
351The first element of the list identifies a general class of
352errors, and determines the format of the rest of the list.
353The following formats for \fBerrorCode\fR are used by the
354Tcl core; individual applications may define additional formats.
355.RS
356.TP
357\fBARITH\fI code msg\fR
358This format is used when an arithmetic error occurs (e.g. an attempt
359to divide by zero in the \fBexpr\fR command).
360\fICode\fR identifies the precise error and \fImsg\fR provides a
361human-readable description of the error. \fICode\fR will be either
362DIVZERO (for an attempt to divide by zero),
363DOMAIN (if an argument is outside the domain of a function, such as acos(\-3)),
364IOVERFLOW (for integer overflow),
365OVERFLOW (for a floating-point overflow),
366or UNKNOWN (if the cause of the error cannot be determined).
367.TP
368\fBCHILDKILLED\fI pid sigName msg\fR
369This format is used when a child process has been killed because of
370a signal. The second element of \fBerrorCode\fR will be the
371process's identifier (in decimal).
372The third element will be the symbolic name of the signal that caused
373the process to terminate; it will be one of the names from the
374include file signal.h, such as \fBSIGPIPE\fR.
375The fourth element will be a short human-readable message
376describing the signal, such as ``write on pipe with no readers''
377for \fBSIGPIPE\fR.
378.TP
379\fBCHILDSTATUS\fI pid code\fR
380This format is used when a child process has exited with a non-zero
381exit status. The second element of \fBerrorCode\fR will be the
382process's identifier (in decimal) and the third element will be the exit
383code returned by the process (also in decimal).
384.TP
385\fBCHILDSUSP\fI pid sigName msg\fR
386This format is used when a child process has been suspended because
387of a signal.
388The second element of \fBerrorCode\fR will be the process's identifier,
389in decimal.
390The third element will be the symbolic name of the signal that caused
391the process to suspend; this will be one of the names from the
392include file signal.h, such as \fBSIGTTIN\fR.
393The fourth element will be a short human-readable message
394describing the signal, such as ``background tty read''
395for \fBSIGTTIN\fR.
396.TP
397\fBNONE\fR
398This format is used for errors where no additional information is
399available for an error besides the message returned with the
400error. In these cases \fBerrorCode\fR will consist of a list
401containing a single element whose contents are \fBNONE\fR.
402.TP
403\fBPOSIX \fIerrName msg\fR
404If the first element of \fBerrorCode\fR is \fBPOSIX\fR, then
405the error occurred during a POSIX kernel call.
406The second element of the list will contain the symbolic name
407of the error that occurred, such as \fBENOENT\fR; this will
408be one of the values defined in the include file errno.h.
409The third element of the list will be a human-readable
410message corresponding to \fIerrName\fR, such as
411``no such file or directory'' for the \fBENOENT\fR case.
412.PP
413To set \fBerrorCode\fR, applications should use library
414procedures such as \fBTcl_SetErrorCode\fR and \fBTcl_PosixError\fR,
415or they may invoke the \fBerror\fR command.
416If one of these methods hasn't been used, then the Tcl
417interpreter will reset the variable to \fBNONE\fR after
418the next error.
419.RE
420.TP
421\fBerrorInfo\fR
422After an error has occurred, this string will contain one or more lines
423identifying the Tcl commands and procedures that were being executed
424when the most recent error occurred.
425Its contents take the form of a stack trace showing the various
426nested Tcl commands that had been invoked at the time of the error.
427.TP
428\fBtcl_library\fR
429This variable holds the name of a directory containing the
430system library of Tcl scripts, such as those used for auto-loading.
431The value of this variable is returned by the \fBinfo library\fR command.
432See the \fBlibrary\fR manual entry for details of the facilities
433provided by the Tcl script library.
434Normally each application or package will have its own application-specific
435script library in addition to the Tcl script library;
436each application should set a global variable with a name like
437\fB$\fIapp\fB_library\fR (where \fIapp\fR is the application's name)
438to hold the network file name for that application's library directory.
439The initial value of \fBtcl_library\fR is set when an interpreter
440is created by searching several different directories until one is
441found that contains an appropriate Tcl startup script.
442If the \fBTCL_LIBRARY\fR environment variable exists, then
443the directory it names is checked first.
444If \fBTCL_LIBRARY\fR isn't set or doesn't refer to an appropriate
445directory, then Tcl checks several other directories based on a
446compiled-in default location, the location of the binary containing
447the application, and the current working directory.
448.TP
449\fBtcl_patchLevel\fR
450When an interpreter is created Tcl initializes this variable to
451hold a string giving the current patch level for Tcl, such as
452\fB7.3p2\fR for Tcl 7.3 with the first two official patches, or
453\fB7.4b4\fR for the fourth beta release of Tcl 7.4.
454The value of this variable is returned by the \fBinfo patchlevel\fR
455command.
456.VS 8.0 br
457.TP
458\fBtcl_pkgPath\fR
459This variable holds a list of directories indicating where packages are
460normally installed. It is not used on Windows. It typically contains
461either one or two entries; if it contains two entries, the first is
462normally a directory for platform-dependent packages (e.g., shared library
463binaries) and the second is normally a directory for platform-independent
464packages (e.g., script files). Typically a package is installed as a
465subdirectory of one of the entries in \fB$tcl_pkgPath\fR. The directories
466in \fB$tcl_pkgPath\fR are included by default in the \fBauto_path\fR
467variable, so they and their immediate subdirectories are automatically
468searched for packages during \fBpackage require\fR commands. Note:
469\fBtcl_pkgPath\fR it not intended to be modified by the application. Its
470value is added to \fBauto_path\fR at startup; changes to \fBtcl_pkgPath\fR
471are not reflected in \fBauto_path\fR. If you want Tcl to search additional
472directories for packages you should add the names of those directories to
473\fBauto_path\fR, not \fBtcl_pkgPath\fR.
474.VE
475.TP
476\fBtcl_platform\fR
477This is an associative array whose elements contain information about
478the platform on which the application is running, such as the name of
479the operating system, its current release number, and the machine's
480instruction set. The elements listed below will always
481be defined, but they may have empty strings as values if Tcl couldn't
482retrieve any relevant information. In addition, extensions
483and applications may add additional values to the array. The
484predefined elements are:
485.RS
486.VS
487.TP
488\fBbyteOrder\fR
489The native byte order of this machine: either \fBlittleEndian\fR or
490\fBbigEndian\fR.
491.VE
492.TP
493\fBdebug\fR
494If this variable exists, then the interpreter was compiled with and linked
495to a debug-enabled C run-time. This variable will only exist on Windows,
496so extension writers can specify which package to load depending on the
497C run-time library that is in use. This is not an indication that this core
498contains symbols.
499.TP
500\fBmachine\fR
501The instruction set executed by this machine, such as
502\fBintel\fR, \fBPPC\fR, \fB68k\fR, or \fBsun4m\fR. On UNIX machines, this
503is the value returned by \fBuname -m\fR.
504.TP
505\fBos\fR
506The name of the operating system running on this machine,
507such as \fBWindows 95\fR, \fBWindows NT\fR, \fBMacOS\fR, or \fBSunOS\fR.
508On UNIX machines, this is the value returned by \fBuname -s\fR.
509On Windows 95 and Windows 98, the value returned will be \fBWindows
51095\fR to provide better backwards compatibility to Windows 95; to
511distinguish between the two, check the \fBosVersion\fR.
512.TP
513\fBosVersion\fR
514The version number for the operating system running on this machine.
515On UNIX machines, this is the value returned by \fBuname -r\fR. On
516Windows 95, the version will be 4.0; on Windows 98, the version will
517be 4.10.
518.TP
519\fBplatform\fR
520Either \fBwindows\fR, \fBmacintosh\fR, or \fBunix\fR. This identifies the
521general operating environment of the machine.
522.TP
523\fBthreaded\fR
524If this variable exists, then the interpreter
525was compiled with threads enabled.
526.TP
527\fBuser\fR
528This identifies the
529current user based on the login information available on the platform.
530This comes from the USER or LOGNAME environment variable on Unix,
531and the value from GetUserName on Windows and Macintosh.
532.TP
533\fBwordSize\fR
534.VS 8.4
535This gives the size of the native-machine word in bytes (strictly, it
536is same as the result of evaluating \fIsizeof(long)\fR in C.)
537.VE 8.4
538.RE
539.TP
540\fBtcl_precision\fR
541.VS
542This variable controls the number of digits to generate
543when converting floating-point values to strings. It defaults
544to 12.
54517 digits is ``perfect'' for IEEE floating-point in that it allows
546double-precision values to be converted to strings and back to
547binary with no loss of information. However, using 17 digits prevents
548any rounding, which produces longer, less intuitive results. For example,
549\fBexpr 1.4\fR returns 1.3999999999999999 with \fBtcl_precision\fR
550set to 17, vs. 1.4 if \fBtcl_precision\fR is 12.
551.RS
552All interpreters in a process share a single \fBtcl_precision\fR value:
553changing it in one interpreter will affect all other interpreters as
554well. However, safe interpreters are not allowed to modify the
555variable.
556.RE
557.VE
558.TP
559\fBtcl_rcFileName\fR
560This variable is used during initialization to indicate the name of a
561user-specific startup file. If it is set by application-specific
562initialization, then the Tcl startup code will check for the existence
563of this file and \fBsource\fR it if it exists. For example, for \fBwish\fR
564the variable is set to \fB~/.wishrc\fR for Unix and \fB~/wishrc.tcl\fR
565for Windows.
566.TP
567\fBtcl_rcRsrcName\fR
568This variable is only used on Macintosh systems. The variable is used
569during initialization to indicate the name of a user-specific
570\fBTEXT\fR resource located in the application or extension resource
571forks. If it is set by application-specific initialization, then the
572Tcl startup code will check for the existence of this resource and
573\fBsource\fR it if it exists. For example, the Macintosh \fBwish\fR
574application has the variable is set to \fBtclshrc\fR.
575.TP
576\fBtcl_traceCompile\fR
577The value of this variable can be set to control
578how much tracing information
579is displayed during bytecode compilation.
580By default, tcl_traceCompile is zero and no information is displayed.
581Setting tcl_traceCompile to 1 generates a one-line summary in stdout
582whenever a procedure or top-level command is compiled.
583Setting it to 2 generates a detailed listing in stdout of the
584bytecode instructions emitted during every compilation.
585This variable is useful in
586tracking down suspected problems with the Tcl compiler.
587It is also occasionally useful when converting
588existing code to use Tcl8.0.
589.PP
590This variable and functionality only exist if
591\fBTCL_COMPILE_DEBUG\fR was defined during Tcl's compilation.
592.TP
593\fBtcl_traceExec\fR
594The value of this variable can be set to control
595how much tracing information
596is displayed during bytecode execution.
597By default, tcl_traceExec is zero and no information is displayed.
598Setting tcl_traceExec to 1 generates a one-line trace in stdout
599on each call to a Tcl procedure.
600Setting it to 2 generates a line of output
601whenever any Tcl command is invoked
602that contains the name of the command and its arguments.
603Setting it to 3 produces a detailed trace showing the result of
604executing each bytecode instruction.
605Note that when tcl_traceExec is 2 or 3,
606commands such as \fBset\fR and \fBincr\fR
607that have been entirely replaced by a sequence
608of bytecode instructions are not shown.
609Setting this variable is useful in
610tracking down suspected problems with the bytecode compiler
611and interpreter.
612It is also occasionally useful when converting
613code to use Tcl8.0.
614.PP
615This variable and functionality only exist if
616\fBTCL_COMPILE_DEBUG\fR was defined during Tcl's compilation.
617.TP
618\fBtcl_wordchars\fR
619The value of this variable is a regular expression that can be set to
620control what are considered ``word'' characters, for instances like
621selecting a word by double-clicking in text in Tk. It is platform
622dependent. On Windows, it defaults to \fB\\S\fR, meaning anything
623but a Unicode space character. Otherwise it defaults to \fB\\w\fR,
624which is any Unicode word character (number, letter, or underscore).
625.TP
626\fBtcl_nonwordchars\fR
627The value of this variable is a regular expression that can be set to
628control what are considered ``non-word'' characters, for instances like
629selecting a word by double-clicking in text in Tk. It is platform
630dependent. On Windows, it defaults to \fB\\s\fR, meaning any Unicode space
631character. Otherwise it defaults to \fB\\W\fR, which is anything but a
632Unicode word character (number, letter, or underscore).
633.TP
634\fBtcl_version\fR
635When an interpreter is created Tcl initializes this variable to
636hold the version number for this version of Tcl in the form \fIx.y\fR.
637Changes to \fIx\fR represent major changes with probable
638incompatibilities and changes to \fIy\fR represent small enhancements and
639bug fixes that retain backward compatibility.
640The value of this variable is returned by the \fBinfo tclversion\fR
641command.
642.SH "OTHER GLOBAL VARIABLES"
643The following variables are only guaranteed to exist in \fBtclsh\fR
644and \fBwish\fR executables; the Tcl library does not define them
645itself but many Tcl environments do.
646.TP 6
647\fBargc\fR
648The number of arguments to \fBtclsh\fR or \fBwish\fR.
649.TP 6
650\fBargv\fR
651Tcl list of arguments to \fBtclsh\fR or \fBwish\fR.
652.TP 6
653\fBargv0\fR
654The script that \fBtclsh\fR or \fBwish\fR started executing (if it was
655specified) or otherwise the name by which \fBtclsh\fR or \fBwish\fR
656was invoked.
657.TP 6
658\fBtcl_interactive\fR
659Contains 1 if \fBtclsh\fR or \fBwish\fR is running interactively (no
660script was specified and standard input is a terminal-like device), 0
661otherwise.
662.PP
663The \fBwish\fR executably additionally specifies the following global
664variable:
665.TP 6
666\fBgeometry\fR
667If set, contains the user-supplied geometry specification to use for
668the main Tk window.
669
670.SH "SEE ALSO"
671eval(n), tclsh(1), wish(1)
672
673.SH KEYWORDS
674arithmetic, bytecode, compiler, error, environment, POSIX, precision, subprocess, variables