aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tcl/doc
diff options
context:
space:
mode:
authorPoul-Henning Kamp <phk@FreeBSD.org>1996-09-18 14:12:34 +0000
committerPoul-Henning Kamp <phk@FreeBSD.org>1996-09-18 14:12:34 +0000
commit8569730d6bc2e4cb5e784997313325b13518e066 (patch)
tree6030c8489bce8cf7333fc4d0b644065e106224b5 /contrib/tcl/doc
parent403acdc0da2969f284b74b720692585bfc676190 (diff)
downloadsrc-8569730d6bc2e4cb5e784997313325b13518e066.tar.gz
src-8569730d6bc2e4cb5e784997313325b13518e066.zip
Import tcl7.5p1
Notes
Notes: svn path=/vendor/tcl/dist/; revision=18351
Diffstat (limited to 'contrib/tcl/doc')
-rw-r--r--contrib/tcl/doc/Alloc.352
-rw-r--r--contrib/tcl/doc/Concat.310
-rw-r--r--contrib/tcl/doc/Interp.316
-rw-r--r--contrib/tcl/doc/LinkVar.36
-rw-r--r--contrib/tcl/doc/Notifier.310
-rw-r--r--contrib/tcl/doc/Preserve.39
-rw-r--r--contrib/tcl/doc/SetResult.310
-rw-r--r--contrib/tcl/doc/SplitList.314
-rw-r--r--contrib/tcl/doc/SplitPath.393
-rw-r--r--contrib/tcl/doc/clock.n67
-rw-r--r--contrib/tcl/doc/info.n7
-rw-r--r--contrib/tcl/doc/interp.n33
-rw-r--r--contrib/tcl/doc/license.terms15
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 000000000000..2f1fd5a749eb
--- /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 f25d2bc0ae84..807fcad28ec8 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 7ef7bb59ea58..56102460392e 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 88937d8a0fca..192646037e39 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 fea97e0413f8..0d3ff9384017 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 ade7f041af78..a2c7d280634b 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 af2d32372578..b70977d4cfcd 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 dfc9b41544e8..a1364502a055 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 000000000000..abfffb500abd
--- /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 fc8e482b4965..548ffc060392 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 10fb1aab6ea3..a84509cf3196 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 d07c3a95785a..05615f640652 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 3dcd816f4a3f..96ad96637376 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.