summaryrefslogtreecommitdiffstats
path: root/doc/global.n
diff options
context:
space:
mode:
Diffstat (limited to 'doc/global.n')
-rw-r--r--doc/global.n37
1 files changed, 28 insertions, 9 deletions
diff --git a/doc/global.n b/doc/global.n
index d4fd4c0..ece44a1 100644
--- a/doc/global.n
+++ b/doc/global.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.
'\"
-'\" RCS: @(#) $Id: global.n,v 1.4 2002/06/11 13:22:35 msofer Exp $
+'\" RCS: @(#) $Id: global.n,v 1.4.2.1 2004/10/27 12:52:40 dkf Exp $
'\"
.so man.macros
.TH global n "" Tcl "Tcl Built-In Commands"
@@ -19,15 +19,34 @@ global \- Access global variables
.SH DESCRIPTION
.PP
-This command is ignored unless a Tcl procedure is being interpreted.
-If so then it declares the given \fIvarname\fR's to be global variables
-rather than local ones.
-Global variables are variables in the global namespace.
-For the duration of the current procedure
-(and only while executing in the current procedure),
-any reference to any of the \fIvarname\fRs
-will refer to the global variable by the same name.
+This command has no effect unless executed in the context of a proc body.
+If the \fBglobal\fR command is executed in the context of a proc body, it
+creates local variables linked to the corresponding global variables (and
+therefore these variables are listed by info locals).
.PP
+If \fIvarname\fR contains namespace qualifiers, the local variable's name is
+the unqualified name of the global variable, as determined by the
+\fBnamespace tail\fR command.
+.SH EXAMPLES
+This procedure sets the namespace variable \fI::a::x\fR
+.CS
+proc reset {} {
+ \fBglobal\fR a::x
+ set x 0
+}
+.CE
+.PP
+This procedure accumulates the strings passed to it in a global
+buffer, separated by newlines. It is useful for situations when you
+want to build a message piece-by-piece (as if with \fBputs\fR) but
+send that full message in a single piece (e.g. over a connection
+opened with \fBsocket\fR or as part of a counted HTTP response).
+.CS
+proc accum {string} {
+ \fBglobal\fR accumulator
+ append accumulator $string \\n
+}
+.CE
.SH "SEE ALSO"
namespace(n), upvar(n), variable(n)