summaryrefslogtreecommitdiffstats
path: root/doc/global.n
blob: 2294dee18adbab9ac3e20b35c14b87ea06e4fd15 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
'\"

'\" Copyright (c) 1993 The Regents of the University of California.
'\" Copyright (c) 1994-1997 Sun Microsystems, Inc.

'\"
'\" 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.10 2007/10/28 14:17:40 dkf Exp $

'\" 

.so man.macros

.TH global n "" Tcl "Tcl Built-In Commands"

.BS

'\" Note:  do not modify the .SH NAME line immediately below!
.SH NAME
global \- Access global variables
.SH SYNOPSIS
\fBglobal \fIvarname \fR?\fIvarname ...\fR?
.BE

.SH DESCRIPTION
.PP
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. 

.PP

\fIvarname\fR is always treated as the name of a variable, not an

array element.  An error is returned if the name looks like an array element,

such as \fBa(b)\fR.

.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 \en

}

.CE



.SH "SEE ALSO"

namespace(n), upvar(n), variable(n)



.SH KEYWORDS

global, namespace, procedure, variable