summaryrefslogtreecommitdiffstats
path: root/doc/proc.n
diff options
context:
space:
mode:
Diffstat (limited to 'doc/proc.n')
-rw-r--r--doc/proc.n194
1 files changed, 97 insertions, 97 deletions
diff --git a/doc/proc.n b/doc/proc.n
index f492224..1d5da1c 100644
--- a/doc/proc.n
+++ b/doc/proc.n
@@ -1,97 +1,97 @@
-'\"
-'\" Copyright (c) 1993 The Regents of the University of California.
-'\" Copyright (c) 1994-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.
-'\"
-'\" RCS: @(#) $Id: proc.n,v 1.6 2007/10/29 01:42:19 dkf Exp $
-'\"
-.so man.macros
-.TH proc n "" Tcl "Tcl Built-In Commands"
-.BS
-'\" Note: do not modify the .SH NAME line immediately below!
-.SH NAME
-proc \- Create a Tcl procedure
-.SH SYNOPSIS
-\fBproc \fIname args body\fR
-.BE
-
-.SH DESCRIPTION
-.PP
-The \fBproc\fR command creates a new Tcl procedure named
-\fIname\fR, replacing
-any existing command or procedure there may have been by that name.
-Whenever the new command is invoked, the contents of \fIbody\fR will
-be executed by the Tcl interpreter.
-Normally, \fIname\fR is unqualified
-(does not include the names of any containing namespaces),
-and the new procedure is created in the current namespace.
-If \fIname\fR includes any namespace qualifiers,
-the procedure is created in the specified namespace.
-\fIArgs\fR specifies the formal arguments to the
-procedure. It consists of a list, possibly empty, each of whose
-elements specifies
-one argument. Each argument specifier is also a list with either
-one or two fields. If there is only a single field in the specifier
-then it is the name of the argument; if there are two fields, then
-the first is the argument name and the second is its default value.
-.PP
-When \fIname\fR is invoked a local variable
-will be created for each of the formal arguments to the procedure; its
-value will be the value of corresponding argument in the invoking command
-or the argument's default value.
-Arguments with default values need not be
-specified in a procedure invocation. However, there must be enough
-actual arguments for all the
-formal arguments that do not have defaults, and there must not be any extra
-actual arguments. There is one special case to permit procedures with
-variable numbers of arguments. If the last formal argument has the name
-\fBargs\fR, then a call to the procedure may contain more actual arguments
-than the procedure has formals. In this case, all of the actual arguments
-starting at the one that would be assigned to \fBargs\fR are combined into
-a list (as if the \fBlist\fR command had been used); this combined value
-is assigned to the local variable \fBargs\fR.
-.PP
-When \fIbody\fR is being executed, variable names normally refer to
-local variables, which are created automatically when referenced and
-deleted when the procedure returns. One local variable is automatically
-created for each of the procedure's arguments.
-Global variables can only be accessed by invoking
-the \fBglobal\fR command or the \fBupvar\fR command.
-Namespace variables can only be accessed by invoking
-the \fBvariable\fR command or the \fBupvar\fR command.
-.PP
-The \fBproc\fR command returns an empty string. When a procedure is
-invoked, the procedure's return value is the value specified in a
-\fBreturn\fR command. If the procedure does not execute an explicit
-\fBreturn\fR, then its return value is the value of the last command
-executed in the procedure's body.
-If an error occurs while executing the procedure
-body, then the procedure-as-a-whole will return that same error.
-.SH EXAMPLES
-This is a procedure that accepts arbitrarily many arguments and prints
-them out, one by one.
-.CS
-\fBproc\fR printArguments args {
- foreach arg $args {
- puts $arg
- }
-}
-.CE
-.PP
-This procedure is a bit like the \fBincr\fR command, except it
-multiplies the contents of the named variable by the value, which
-defaults to \fB2\fR:
-.CS
-\fBproc\fR mult {varName {multiplier 2}} {
- upvar 1 $varName var
- set var [expr {$var * $multiplier}]
-}
-.CE
-
-.SH "SEE ALSO"
-info(n), unknown(n)
-
-.SH KEYWORDS
-argument, procedure
+'\"
+'\" Copyright (c) 1993 The Regents of the University of California.
+'\" Copyright (c) 1994-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.
+'\"
+'\" RCS: @(#) $Id: proc.n,v 1.7 2007/10/29 17:17:54 dgp Exp $
+'\"
+.so man.macros
+.TH proc n "" Tcl "Tcl Built-In Commands"
+.BS
+'\" Note: do not modify the .SH NAME line immediately below!
+.SH NAME
+proc \- Create a Tcl procedure
+.SH SYNOPSIS
+\fBproc \fIname args body\fR
+.BE
+
+.SH DESCRIPTION
+.PP
+The \fBproc\fR command creates a new Tcl procedure named
+\fIname\fR, replacing
+any existing command or procedure there may have been by that name.
+Whenever the new command is invoked, the contents of \fIbody\fR will
+be executed by the Tcl interpreter.
+Normally, \fIname\fR is unqualified
+(does not include the names of any containing namespaces),
+and the new procedure is created in the current namespace.
+If \fIname\fR includes any namespace qualifiers,
+the procedure is created in the specified namespace.
+\fIArgs\fR specifies the formal arguments to the
+procedure. It consists of a list, possibly empty, each of whose
+elements specifies
+one argument. Each argument specifier is also a list with either
+one or two fields. If there is only a single field in the specifier
+then it is the name of the argument; if there are two fields, then
+the first is the argument name and the second is its default value.
+.PP
+When \fIname\fR is invoked a local variable
+will be created for each of the formal arguments to the procedure; its
+value will be the value of corresponding argument in the invoking command
+or the argument's default value.
+Arguments with default values need not be
+specified in a procedure invocation. However, there must be enough
+actual arguments for all the
+formal arguments that do not have defaults, and there must not be any extra
+actual arguments. There is one special case to permit procedures with
+variable numbers of arguments. If the last formal argument has the name
+\fBargs\fR, then a call to the procedure may contain more actual arguments
+than the procedure has formals. In this case, all of the actual arguments
+starting at the one that would be assigned to \fBargs\fR are combined into
+a list (as if the \fBlist\fR command had been used); this combined value
+is assigned to the local variable \fBargs\fR.
+.PP
+When \fIbody\fR is being executed, variable names normally refer to
+local variables, which are created automatically when referenced and
+deleted when the procedure returns. One local variable is automatically
+created for each of the procedure's arguments.
+Global variables can only be accessed by invoking
+the \fBglobal\fR command or the \fBupvar\fR command.
+Namespace variables can only be accessed by invoking
+the \fBvariable\fR command or the \fBupvar\fR command.
+.PP
+The \fBproc\fR command returns an empty string. When a procedure is
+invoked, the procedure's return value is the value specified in a
+\fBreturn\fR command. If the procedure does not execute an explicit
+\fBreturn\fR, then its return value is the value of the last command
+executed in the procedure's body.
+If an error occurs while executing the procedure
+body, then the procedure-as-a-whole will return that same error.
+.SH EXAMPLES
+This is a procedure that accepts arbitrarily many arguments and prints
+them out, one by one.
+.CS
+\fBproc\fR printArguments args {
+ foreach arg $args {
+ puts $arg
+ }
+}
+.CE
+.PP
+This procedure is a bit like the \fBincr\fR command, except it
+multiplies the contents of the named variable by the value, which
+defaults to \fB2\fR:
+.CS
+\fBproc\fR mult {varName {multiplier 2}} {
+ upvar 1 $varName var
+ set var [expr {$var * $multiplier}]
+}
+.CE
+
+.SH "SEE ALSO"
+info(n), unknown(n)
+
+.SH KEYWORDS
+argument, procedure