diff options
Diffstat (limited to 'contrib/tcl/doc')
-rw-r--r-- | contrib/tcl/doc/Alloc.3 | 52 | ||||
-rw-r--r-- | contrib/tcl/doc/Concat.3 | 10 | ||||
-rw-r--r-- | contrib/tcl/doc/Interp.3 | 16 | ||||
-rw-r--r-- | contrib/tcl/doc/LinkVar.3 | 6 | ||||
-rw-r--r-- | contrib/tcl/doc/Notifier.3 | 10 | ||||
-rw-r--r-- | contrib/tcl/doc/Preserve.3 | 9 | ||||
-rw-r--r-- | contrib/tcl/doc/SetResult.3 | 10 | ||||
-rw-r--r-- | contrib/tcl/doc/SplitList.3 | 14 | ||||
-rw-r--r-- | contrib/tcl/doc/SplitPath.3 | 93 | ||||
-rw-r--r-- | contrib/tcl/doc/clock.n | 67 | ||||
-rw-r--r-- | contrib/tcl/doc/info.n | 7 | ||||
-rw-r--r-- | contrib/tcl/doc/interp.n | 33 | ||||
-rw-r--r-- | contrib/tcl/doc/license.terms | 15 |
13 files changed, 265 insertions, 77 deletions
diff --git a/contrib/tcl/doc/Alloc.3 b/contrib/tcl/doc/Alloc.3 new file mode 100644 index 0000000..2f1fd5a --- /dev/null +++ b/contrib/tcl/doc/Alloc.3 @@ -0,0 +1,52 @@ +'\" +'\" Copyright (c) 1995-1996 Sun Microsystems, Inc. +'\" +'\" See the file "license.terms" for information on usage and redistribution +'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. +'\" +'\" SCCS: @(#) Alloc.3 1.2 96/06/05 18:00:19 +'\" +.so man.macros +.TH Tcl_Alloc 3 7.5 Tcl "Tcl Library Procedures" +.BS +.SH NAME +Tcl_Alloc, Tcl_Free, Tcl_Realloc \- allocate or free heap memory +.SH SYNOPSIS +.nf +\fB#include <tcl.h>\fR +.sp +char * +\fBTcl_Alloc\fR(\fIsize\fR) +.sp +\fBTcl_Free\fR(\fIptr\fR) +.sp +char * +\fBTcl_Realloc\fR(\fIptr, size\fR) +.SH ARGUMENTS +.AS char *size +.AP int size in +Size in bytes of the memory block to allocate. +.AP char *ptr in +Pointer to memory block to free or realloc. +.BE + +.SH DESCRIPTION +.PP +These procedures provide a platform and compiler independent interface +for memory allocation. Programs that need to transfer ownership of +memory blocks between Tcl and other modules should use these routines +rather than the native \fBmalloc()\fR and \fBfree()\fR routines +provided by the C run-time library. +.PP +\fBTcl_Alloc\fR returns a pointer to a block of at least \fIsize\fR +bytes suitably aligned for any use. +.PP +\fBTcl_Free\fR makes the space referred to by \fIptr\fR available for +further allocation. +.PP +\fBTcl_Realloc\fR changes the size of the block pointed to by +\fIptr\fR to \fIsize\fR bytes and returns a pointer to the new block. +The contents will be unchanged up to the lesser of the new and old +sizes. The returned location may be different from \fIptr\fR. +.SH KEYWORDS +alloc, allocation, free, malloc, memory, realloc diff --git a/contrib/tcl/doc/Concat.3 b/contrib/tcl/doc/Concat.3 index f25d2bc..807fcad 100644 --- a/contrib/tcl/doc/Concat.3 +++ b/contrib/tcl/doc/Concat.3 @@ -5,10 +5,10 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" SCCS: @(#) Concat.3 1.10 96/03/25 19:58:01 +'\" SCCS: @(#) Concat.3 1.11 96/06/05 18:00:12 '\" .so man.macros -.TH Tcl_Concat 3 "" Tcl "Tcl Library Procedures" +.TH Tcl_Concat 3 7.5 Tcl "Tcl Library Procedures" .BS .SH NAME Tcl_Concat \- concatenate a collection of strings @@ -43,9 +43,11 @@ copies strings from \fBargv\fR to the result. If an element of is ignored entirely. This white-space removal was added to make the output of the \fBconcat\fR command cleaner-looking. .PP +.VS The result string is dynamically allocated -using \fBmalloc()\fR; the caller must eventually release the space -by calling \fBfree()\fR. +using \fBTcl_Alloc\fR; the caller must eventually release the space +by calling \fBTcl_Free\fR. +.VE .SH KEYWORDS concatenate, strings diff --git a/contrib/tcl/doc/Interp.3 b/contrib/tcl/doc/Interp.3 index 7ef7bb5..5610246 100644 --- a/contrib/tcl/doc/Interp.3 +++ b/contrib/tcl/doc/Interp.3 @@ -5,10 +5,10 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" SCCS: @(#) Interp.3 1.14 96/03/25 20:04:19 +'\" SCCS: @(#) Interp.3 1.16 96/06/06 13:48:02 '\" .so man.macros -.TH Tcl_Interp 3 "" Tcl "Tcl Library Procedures" +.TH Tcl_Interp 3 7.5 Tcl "Tcl Library Procedures" .BS .SH NAME Tcl_Interp \- client-visible fields of interpreter structures @@ -57,12 +57,16 @@ should point to an empty string. Normally, results are assumed to be statically allocated, which means that the contents will not change before the next time \fBTcl_Eval\fR is called or some other command procedure is invoked. +.VS In this case, the \fIfreeProc\fR field must be zero. Alternatively, a command procedure may dynamically -allocate its return value (e.g. using \fBmalloc\fR) +allocate its return value (e.g. using \fBTcl_Alloc\fR) and store a pointer to it in \fIinterp->result\fR. In this case, the command procedure must also set \fIinterp->freeProc\fR -to the address of a procedure that can free the value (usually \fBfree\fR). +to the address of a procedure that can free the value, or \fBTCL_DYNAMIC\fR +if the storage was allocated directly by Tcl or by a call to +\fBTcl_Alloc\fR. +.VE If \fIinterp->freeProc\fR is non-zero, then Tcl will call \fIfreeProc\fR to free the space pointed to by \fIinterp->result\fR before it invokes the next command. @@ -74,8 +78,10 @@ macro should be used for this purpose). \fIFreeProc\fR should have arguments and result that match the \fBTcl_FreeProc\fR declaration above: it receives a single argument which is a pointer to the result value to free. -In most applications \fBfree\fR is the only non-zero value ever +.VS +In most applications \fBTCL_DYNAMIC\fR is the only non-zero value ever used for \fIfreeProc\fR. +.VE However, an application may store a different procedure address in \fIfreeProc\fR in order to use an alternate memory allocator or in order to do other cleanup when the result memory is freed. diff --git a/contrib/tcl/doc/LinkVar.3 b/contrib/tcl/doc/LinkVar.3 index 88937d8..1926460 100644 --- a/contrib/tcl/doc/LinkVar.3 +++ b/contrib/tcl/doc/LinkVar.3 @@ -5,7 +5,7 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" SCCS: @(#) LinkVar.3 1.12 96/03/25 20:04:31 +'\" SCCS: @(#) LinkVar.3 1.13 96/06/05 18:00:14 '\" .so man.macros .TH Tcl_LinkVar 3 7.5 Tcl "Tcl Library Procedures" @@ -83,8 +83,10 @@ Tcl errors. .TP \fBTCL_LINK_STRING\fR The C variable is of type \fBchar *\fR. +.VS If its value is not null then it must be a pointer to a string -allocated with \fBmalloc\fR. +allocated with \fBTcl_Alloc\fR. +.VE Whenever the Tcl variable is modified the current C string will be freed and new memory will be allocated to hold a copy of the variable's new value. diff --git a/contrib/tcl/doc/Notifier.3 b/contrib/tcl/doc/Notifier.3 index fea97e0..0d3ff93 100644 --- a/contrib/tcl/doc/Notifier.3 +++ b/contrib/tcl/doc/Notifier.3 @@ -4,7 +4,7 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" SCCS: @(#) Notifier.3 1.10 96/03/28 09:38:26 +'\" SCCS: @(#) Notifier.3 1.11 96/06/05 18:00:17 '\" .so man.macros .TH Tcl_CreateEventSource 3 7.5 Tcl "Tcl Library Procedures" @@ -53,7 +53,9 @@ is NULL, it means there is no maximum wait time: wait forever if necessary. .AP Tcl_Event *evPtr in An event to add to the event queue. The storage for the event must -have been allocated by the caller using \fBmalloc\fR or \fBckalloc\fR. +.VS +have been allocated by the caller using \fBTcl_Alloc\fR or \fBckalloc\fR. +.VE .AP Tcl_QueuePosition position in Where to add the new event in the queue: \fBTCL_QUEUE_TAIL\fR, \fBTCL_QUEUE_HEAD\fR, or \fBTCL_QUEUE_MARK\fR. @@ -319,7 +321,9 @@ of window events. When \fIproc\fR returns 1, \fBTcl_DoOneEvent\fR will remove the event from the event queue and free its storage. Note that the storage for an event must be allocated by -the event source (using \fBmalloc\fR or the Tcl macro \fBckalloc\fR) +.VS +the event source (using \fBTcl_Alloc\fR or the Tcl macro \fBckalloc\fR) +.VE before calling \fBTcl_QueueEvent\fR, but it will be freed by \fBTcl_DoOneEvent\fR, not by the event source. diff --git a/contrib/tcl/doc/Preserve.3 b/contrib/tcl/doc/Preserve.3 index ade7f04..a2c7d28 100644 --- a/contrib/tcl/doc/Preserve.3 +++ b/contrib/tcl/doc/Preserve.3 @@ -5,7 +5,7 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" SCCS: @(#) Preserve.3 1.12 96/03/25 20:05:27 +'\" SCCS: @(#) Preserve.3 1.13 96/05/28 09:26:12 '\" .so man.macros .TH Tcl_Preserve 3 7.5 Tcl "Tcl Library Procedures" @@ -81,10 +81,13 @@ All the work of freeing the object is carried out by \fIfreeProc\fR. \fIFreeProc\fR must have arguments and result that match the type \fBTcl_FreeProc\fR: .CS -typedef void Tcl_FreeProc(ClientData \fIclientData\fR); +typedef void Tcl_FreeProc(char *\fIblockPtr\fR); .CE -The \fIclientData\fR argument to \fIfreeProc\fR will be the +The \fIblockPtr\fR argument to \fIfreeProc\fR will be the same as the \fIclientData\fR argument to \fBTcl_EventuallyFree\fR. +The type of \fIblockPtr\fR (\fBchar *\fR) is different than the type of the +\fIclientData\fR argument to \fBTcl_EventuallyFree\fR for historical +reasons, but the value is the same. .PP This mechanism can be used to solve the problem described above by placing \fBTcl_Preserve\fR and \fBTcl_Release\fR calls around diff --git a/contrib/tcl/doc/SetResult.3 b/contrib/tcl/doc/SetResult.3 index af2d323..b70977d 100644 --- a/contrib/tcl/doc/SetResult.3 +++ b/contrib/tcl/doc/SetResult.3 @@ -5,10 +5,10 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" SCCS: @(#) SetResult.3 1.18 96/03/25 20:06:54 +'\" SCCS: @(#) SetResult.3 1.19 96/06/05 18:00:15 '\" .so man.macros -.TH Tcl_SetResult 3 7.0 Tcl "Tcl Library Procedures" +.TH Tcl_SetResult 3 7.5 Tcl "Tcl Library Procedures" .BS .SH NAME Tcl_SetResult, Tcl_AppendResult, Tcl_AppendElement, Tcl_ResetResult \- manipulate Tcl result string @@ -51,11 +51,13 @@ command in \fIinterp\fR, replacing any existing result. If \fIfreeProc\fR is \fBTCL_STATIC\fR it means that \fIstring\fR refers to an area of static storage that is guaranteed not to be modified until at least the next call to \fBTcl_Eval\fR. +.VS If \fIfreeProc\fR is \fBTCL_DYNAMIC\fR it means that \fIstring\fR was allocated with a call -to \fBmalloc()\fR and is now the property of the Tcl system. +to \fBTcl_Alloc\fR and is now the property of the Tcl system. \fBTcl_SetResult\fR will arrange for the string's storage to be -released by calling \fBfree()\fR when it is no longer needed. +released by calling \fBTcl_Free\fR when it is no longer needed. +.VE If \fIfreeProc\fR is \fBTCL_VOLATILE\fR it means that \fIstring\fR points to an area of memory that is likely to be overwritten when \fBTcl_SetResult\fR returns (e.g. it points to something in a stack frame). diff --git a/contrib/tcl/doc/SplitList.3 b/contrib/tcl/doc/SplitList.3 index dfc9b41..a136450 100644 --- a/contrib/tcl/doc/SplitList.3 +++ b/contrib/tcl/doc/SplitList.3 @@ -5,10 +5,10 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" SCCS: @(#) SplitList.3 1.19 96/03/25 20:07:46 +'\" SCCS: @(#) SplitList.3 1.20 96/06/05 18:00:16 '\" .so man.macros -.TH Tcl_SplitList 3 7.4 Tcl "Tcl Library Procedures" +.TH Tcl_SplitList 3 7.5 Tcl "Tcl Library Procedures" .BS .SH NAME Tcl_SplitList, Tcl_Merge, Tcl_ScanElement, Tcl_ConvertElement \- manipulate Tcl lists @@ -85,9 +85,11 @@ code = Tcl_SplitList(interp, string, &argc, &argv); .CE Then you should eventually free the storage with a call like the following: +.VS .CS -free((char *) argv); +Tcl_Free((char *) argv); .CE +.VE .PP \fBTcl_SplitList\fR normally returns \fBTCL_OK\fR, which means the list was successfully parsed. @@ -110,9 +112,11 @@ it will be parsed into \fIargc\fR words whose values will be the same as the \fIargv\fR strings passed to \fBTcl_Merge\fR. \fBTcl_Merge\fR will modify the list elements with braces and/or backslashes in order to produce proper Tcl list structure. +.VS The result string is dynamically allocated -using \fBmalloc()\fR; the caller must eventually release the space -using \fBfree()\fR. +using \fBTcl_Alloc\fR; the caller must eventually release the space +using \fBTcl_Free\fR. +.VE .PP If the result of \fBTcl_Merge\fR is passed to \fBTcl_SplitList\fR, the elements returned by \fBTcl_SplitList\fR will be identical to diff --git a/contrib/tcl/doc/SplitPath.3 b/contrib/tcl/doc/SplitPath.3 new file mode 100644 index 0000000..abfffb5 --- /dev/null +++ b/contrib/tcl/doc/SplitPath.3 @@ -0,0 +1,93 @@ +'\" +'\" Copyright (c) 1996 Sun Microsystems, Inc. +'\" +'\" See the file "license.terms" for information on usage and redistribution +'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. +'\" +'\" SCCS: @(#) SplitPath.3 1.3 96/07/31 17:04:33 +'\" +.so man.macros +.TH Tcl_SplitPath 3 7.5 Tcl "Tcl Library Procedures" +.BS +.SH NAME +Tcl_SplitPath, Tcl_JoinPath, Tcl_GetPathType \- manipulate platform-dependent file paths +.SH SYNOPSIS +.nf +\fB#include <tcl.h>\fR +.sp +\fBTcl_SplitPath\fR(\fIpath, argcPtr, argvPtr\fR) +.sp +char * +\fBTcl_JoinPath\fR(\fIargc, argv, resultPtr\fR) +.sp +Tcl_PathType +\fBTcl_GetPathType\fR(\fIpath\fR) +.SH ARGUMENTS +.AS Tcl_DString ***argvPtr +.AP char *path in +File path in a form appropriate for the current platform (see the +\fBfilename\fR manual entry for acceptable forms for path names). +.AP int *argcPtr out +Filled in with number of path elements in \fIpath\fR. +.AP char ***argvPtr out +\fI*argvPtr\fR will be filled in with the address of an array of +pointers to the strings that are the extracted elements of \fIpath\fR. +There will be \fI*argcPtr\fR valid entries in the array, followed by +a NULL entry. +.AP int argc in +Number of elements in \fIargv\fR. +.AP char **argv in +Array of path elements to merge together into a single path. +.AP Tcl_DString *resultPtr in/out +A pointer to an initialized \fBTcl_DString\fR to which the result of +\fBTcl_JoinPath\fR will be appended. +.BE + +.SH DESCRIPTION +.PP +These procedures may be used to disassemble and reassemble file +paths in a platform independent manner: they provide C-level access to +the same functionality as the \fBfile split\fR, \fBfile join\fR, and +\fBfile pathtype\fR commands. +.PP +\fBTcl_SplitPath\fR breaks a path into its constituent elements, +returning an array of pointers to the elements using \fIargcPtr\fR and +\fIargvPtr\fR. The area of memory pointed to by \fI*argvPtr\fR is +dynamically allocated; in addition to the array of pointers, it also +holds copies of all the path elements. It is the caller's +responsibility to free all of this storage. +For example, suppose that you have called \fBTcl_SplitPath\fR with the +following code: +.CS +int argc, code; +char *path; +char **argv; +\&... +code = Tcl_SplitPath(interp, string, &argc, &argv); +.CE +Then you should eventually free the storage with a call like the +following: +.CS +Tcl_Free((char *) argv); +.CE +.PP +\fBTcl_JoinPath\fR is the inverse of \fBTcl_SplitPath\fR: it takes a +collection of path elements given by \fIargc\fR and \fIargv\fR and +generates a result string that is a properly constructed path. The +result string is appended to \fIresultPtr\fR. \fIResultPtr\fR must +refer to an initialized \fBTcl_DString\fR. +.PP +If the result of \fBTcl_SplitPath\fR is passed to \fBTcl_JoinPath\fR, +the result will refer to the same location, but may not be in the same +form. This is because \fBTcl_SplitPath\fR and \fBTcl_JoinPath\fR +eliminate duplicate path separators and return a normalized form for +each platform. +.PP +\fBTcl_GetPathType\fR returns the type of the specified \fIpath\fR, +where \fBTcl_PathType\fR is one of \fBTCL_PATH_ABSOLUTE\fR, +\fBTCL_PATH_RELATIVE\fR, or \fBTCL_PATH_VOLUME_RELATIVE\fR. See the +\fBfilename\fR manual entry for a description of the path types for +each platform. + +.SH KEYWORDS +file, filename, join, path, split, type diff --git a/contrib/tcl/doc/clock.n b/contrib/tcl/doc/clock.n index fc8e482..548ffc0 100644 --- a/contrib/tcl/doc/clock.n +++ b/contrib/tcl/doc/clock.n @@ -8,7 +8,7 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" SCCS: @(#) clock.n 1.12 96/04/16 08:20:08 +'\" SCCS: @(#) clock.n 1.13 96/05/03 14:40:37 '\" .so man.macros .TH clock n 7.4 Tcl "Tcl Built-In Commands" @@ -48,64 +48,71 @@ Valid field descriptors are: .IP \fB%%\fR Insert a %. .IP \fB%a\fR -Abbreviated weekday name. (Mon, Tue, etc.) +Abbreviated weekday name (Mon, Tue, etc.). .IP \fB%A\fR -Full weekday name. (Monday, Tuesday, etc.) +Full weekday name (Monday, Tuesday, etc.). .IP \fB%b\fR -Abbreviated month name. (Jan, Feb, etc.) +Abbreviated month name (Jan, Feb, etc.). .IP \fB%B\fR Full month name. +.IP \fB%c\fR +Locale specific date and time. .IP \fB%d\fR Day of month (01 - 31). -.IP \fB%D\fR -Date as %m/%d/%y. -.IP \fB%e\fR -Day of month (1 - 31), no leading zeros. -.IP \fB%h\fR -Abbreviated month name. .IP \fB%H\fR -Hour (00 - 23). +Hour in 24-hour format (00 - 23). .IP \fB%I\fR -Hour (00 - 12). +Hour in 12-hour format (00 - 12). .IP \fB%j\fR -Day number of year (001 - 366). +Day of year (001 - 366). .IP \fB%m\fR Month number (01 - 12). .IP \fB%M\fR Minute (00 - 59). -.IP \fB%n\fR -Insert a newline. .IP \fB%p\fR -AM or PM. -.IP \fB%r\fR -Time as %I:%M:%S %p. -.IP \fB%R\fR -Time as %H:%M. +AM/PM indicator. .IP \fB%S\fR Seconds (00 - 59). -.IP \fB%t\fR -Insert a tab. -.IP \fB%T\fR -Time as %H:%M:%S. .IP \fB%U\fR -Week number of year (01 - 52), Sunday is the first day of the week. +Week of year (01 - 52), Sunday is the first day of the week. .IP \fB%w\fR Weekday number (Sunday = 0). .IP \fB%W\fR -Week number of year (01 - 52), Monday is the first day of the week. +Week of year (01 - 52), Monday is the first day of the week. .IP \fB%x\fR -Local specific date format. +Locale specific date format. .IP \fB%X\fR -Local specific time format. +Locale specific time format. .IP \fB%y\fR -Year within century (00 - 99). +Year without century (00 - 99). .IP \fB%Y\fR -Year as ccyy (e.g. 1990) +Year with century (e.g. 1990) .IP \fB%Z\fR Time zone name. .RE .sp .RS +In addition, the following field descriptors may be supported on some +systems (e.g. Unix but not Windows): +.IP \fB%D\fR +Date as %m/%d/%y. +.IP \fB%e\fR +Day of month (1 - 31), no leading zeros. +.IP \fB%h\fR +Abbreviated month name. +.IP \fB%n\fR +Insert a newline. +.IP \fB%r\fR +Time as %I:%M:%S %p. +.IP \fB%R\fR +Time as %H:%M. +.IP \fB%t\fR +Insert a tab. +.IP \fB%T\fR +Time as %H:%M:%S. +.RE +.sp +.RS If the \fB\-format\fR argument is not specified, the format string "\fB%a %b %d %H:%M:%S %Z %Y\fR" is used. If the \fB\-gmt\fR argument is present the next argument must be a boolean which if true specifies diff --git a/contrib/tcl/doc/info.n b/contrib/tcl/doc/info.n index 10fb1aa..a84509c 100644 --- a/contrib/tcl/doc/info.n +++ b/contrib/tcl/doc/info.n @@ -5,7 +5,7 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" SCCS: @(#) info.n 1.12 96/03/25 20:17:12 +'\" SCCS: @(#) info.n 1.13 96/07/20 16:07:40 '\" .so man.macros .TH info n 7.5 Tcl "Tcl Built-In Commands" @@ -106,7 +106,10 @@ Each list element is a sub-list with two elements consisting of the name of the file from which the package was loaded and the name of the package. For statically-loaded packages the file name will be an empty string. -\fIInterp\fR defaults to the current interpreter. +If \fIinterp\fR is omitted then information is returned for all packages +loaded in any interpreter in the process. +To get a list of just the packages in the current interpreter, specify +an empty string for the \fIinterp\fR argument. .VE .TP \fBinfo locals \fR?\fIpattern\fR? diff --git a/contrib/tcl/doc/interp.n b/contrib/tcl/doc/interp.n index d07c3a9..05615f6 100644 --- a/contrib/tcl/doc/interp.n +++ b/contrib/tcl/doc/interp.n @@ -4,7 +4,7 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" SCCS: @(#) interp.n 1.15 96/03/25 20:17:28 +'\" SCCS: @(#) interp.n 1.19 96/05/10 16:36:44 '\" .so man.macros .TH interp n 7.5 Tcl "Tcl Built-In Commands" @@ -305,18 +305,21 @@ A safe interpreter is created with exactly the following set of built-in commands: .DS .ta 1.2i 2.4i 3.6i -\fBappend array break case -catch clock close concat -continue eof error eval -expr fblocked flush for -foreach format gets global -history if incr info -interp join lappend lindex -list llength lrange lreplace -pid proc puts read -regexp regsub rename return -scan set seek split -string switch tell trace\fR +\fBafter append array break +case catch clock close +concat continue eof error +eval expr fblocked fileevent +flush for foreach format +gets global history if +incr info interp join +lappend lindex linsert list +llength lower lrange lreplace +lsearch lsort package pid +proc puts read rename +return scan seek set +split string subst switch +tell trace unset update +uplevel upvar vwait while\fR .DE All commands not on this list are removed from the interpreter by the \fBinterp create\fR command. Of course, the missing commands @@ -332,8 +335,8 @@ to untrusted code executing in a safe interpreter would incur a security risk. .PP If extensions are loaded into a safe interpreter, they may also restrict -their own functionality to eliminate unsafe commands. The management of -extensions for safety will be explained in the manual entries for the +their own functionality to eliminate unsafe commands. For a discussion of +management of extensions for safety see the manual entries for the \fBpackage\fR and \fBload\fR Tcl commands. .SH CREDITS .PP diff --git a/contrib/tcl/doc/license.terms b/contrib/tcl/doc/license.terms index 3dcd816..96ad966 100644 --- a/contrib/tcl/doc/license.terms +++ b/contrib/tcl/doc/license.terms @@ -26,7 +26,14 @@ IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -RESTRICTED RIGHTS: Use, duplication or disclosure by the government -is subject to the restrictions as set forth in subparagraph (c) (1) (ii) -of the Rights in Technical Data and Computer Software Clause as DFARS -252.227-7013 and FAR 52.227-19. +GOVERNMENT USE: If you are acquiring this software on behalf of the +U.S. government, the Government shall have only "Restricted Rights" +in the software and related documentation as defined in the Federal +Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you +are acquiring the software on behalf of the Department of Defense, the +software shall be classified as "Commercial Computer Software" and the +Government shall have only "Restricted Rights" as defined in Clause +252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the +authors grant the U.S. Government and others acting in its behalf +permission to use and distribute the software in accordance with the +terms specified in this license. |