rename foo.n to foo.3tcl
[manpages-zh.git] / src / mann / unknown.3tcl
blob73dcd3b2dc8f09df95530b5b0a206c6336e9e860
1 '\"
2 '\" Copyright (c) 1993 The Regents of the University of California.
3 '\" Copyright (c) 1994-1996 Sun Microsystems, Inc.
4 '\"
5 '\" See the file "license.terms" for information on usage and redistribution
6 '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
7 '\" 
8 '\" RCS: @(#) $Id: unknown.n,v 1.2 2003/11/24 05:10:00 bbbush Exp $
9 '\" 
10 '\" The definitions below are for supplemental macros used in Tcl/Tk
11 '\" manual entries.
12 '\"
13 '\" .AP type name in/out ?indent?
14 '\"     Start paragraph describing an argument to a library procedure.
15 '\"     type is type of argument (int, etc.), in/out is either "in", "out",
16 '\"     or "in/out" to describe whether procedure reads or modifies arg,
17 '\"     and indent is equivalent to second arg of .IP (shouldn't ever be
18 '\"     needed;  use .AS below instead)
19 '\"
20 '\" .AS ?type? ?name?
21 '\"     Give maximum sizes of arguments for setting tab stops.  Type and
22 '\"     name are examples of largest possible arguments that will be passed
23 '\"     to .AP later.  If args are omitted, default tab stops are used.
24 '\"
25 '\" .BS
26 '\"     Start box enclosure.  From here until next .BE, everything will be
27 '\"     enclosed in one large box.
28 '\"
29 '\" .BE
30 '\"     End of box enclosure.
31 '\"
32 '\" .CS
33 '\"     Begin code excerpt.
34 '\"
35 '\" .CE
36 '\"     End code excerpt.
37 '\"
38 '\" .VS ?version? ?br?
39 '\"     Begin vertical sidebar, for use in marking newly-changed parts
40 '\"     of man pages.  The first argument is ignored and used for recording
41 '\"     the version when the .VS was added, so that the sidebars can be
42 '\"     found and removed when they reach a certain age.  If another argument
43 '\"     is present, then a line break is forced before starting the sidebar.
44 '\"
45 '\" .VE
46 '\"     End of vertical sidebar.
47 '\"
48 '\" .DS
49 '\"     Begin an indented unfilled display.
50 '\"
51 '\" .DE
52 '\"     End of indented unfilled display.
53 '\"
54 '\" .SO
55 '\"     Start of list of standard options for a Tk widget.  The
56 '\"     options follow on successive lines, in four columns separated
57 '\"     by tabs.
58 '\"
59 '\" .SE
60 '\"     End of list of standard options for a Tk widget.
61 '\"
62 '\" .OP cmdName dbName dbClass
63 '\"     Start of description of a specific option.  cmdName gives the
64 '\"     option's name as specified in the class command, dbName gives
65 '\"     the option's name in the option database, and dbClass gives
66 '\"     the option's class in the option database.
67 '\"
68 '\" .UL arg1 arg2
69 '\"     Print arg1 underlined, then print arg2 normally.
70 '\"
71 '\" RCS: @(#) $Id: unknown.n,v 1.2 2003/11/24 05:10:00 bbbush Exp $
72 '\"
73 '\"     # Set up traps and other miscellaneous stuff for Tcl/Tk man pages.
74 .if t .wh -1.3i ^B
75 .nr ^l \n(.l
76 .ad b
77 '\"     # Start an argument description
78 .de AP
79 .ie !"\\$4"" .TP \\$4
80 .el \{\
81 .   ie !"\\$2"" .TP \\n()Cu
82 .   el          .TP 15
83 .\}
84 .ta \\n()Au \\n()Bu
85 .ie !"\\$3"" \{\
86 \&\\$1  \\fI\\$2\\fP    (\\$3)
87 .\".b
88 .\}
89 .el \{\
90 .br
91 .ie !"\\$2"" \{\
92 \&\\$1  \\fI\\$2\\fP
93 .\}
94 .el \{\
95 \&\\fI\\$1\\fP
96 .\}
97 .\}
99 '\"     # define tabbing values for .AP
100 .de AS
101 .nr )A 10n
102 .if !"\\$1"" .nr )A \\w'\\$1'u+3n
103 .nr )B \\n()Au+15n
105 .if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
106 .nr )C \\n()Bu+\\w'(in/out)'u+2n
108 .AS Tcl_Interp Tcl_CreateInterp in/out
109 '\"     # BS - start boxed text
110 '\"     # ^y = starting y location
111 '\"     # ^b = 1
112 .de BS
114 .mk ^y
115 .nr ^b 1u
116 .if n .nf
117 .if n .ti 0
118 .if n \l'\\n(.lu\(ul'
119 .if n .fi
121 '\"     # BE - end boxed text (draw box now)
122 .de BE
124 .ti 0
125 .mk ^t
126 .ie n \l'\\n(^lu\(ul'
127 .el \{\
128 .\"     Draw four-sided box normally, but don't draw top of
129 .\"     box if the box started on an earlier page.
130 .ie !\\n(^b-1 \{\
131 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
133 .el \}\
134 \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
139 .nr ^b 0
141 '\"     # VS - start vertical sidebar
142 '\"     # ^Y = starting y location
143 '\"     # ^v = 1 (for troff;  for nroff this doesn't matter)
144 .de VS
145 .if !"\\$2"" .br
146 .mk ^Y
147 .ie n 'mc \s12\(br\s0
148 .el .nr ^v 1u
150 '\"     # VE - end of vertical sidebar
151 .de VE
152 .ie n 'mc
153 .el \{\
154 .ev 2
156 .ti 0
157 .mk ^t
158 \h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
159 .sp -1
163 .nr ^v 0
165 '\"     # Special macro to handle page bottom:  finish off current
166 '\"     # box/sidebar if in box/sidebar mode, then invoked standard
167 '\"     # page bottom macro.
168 .de ^B
169 .ev 2
170 'ti 0
172 .mk ^t
173 .if \\n(^b \{\
174 .\"     Draw three-sided box if this is the box's first page,
175 .\"     draw two sides but no top otherwise.
176 .ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
177 .el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
179 .if \\n(^v \{\
180 .nr ^x \\n(^tu+1v-\\n(^Yu
181 \kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
186 .if \\n(^b \{\
187 .mk ^y
188 .nr ^b 2
190 .if \\n(^v \{\
191 .mk ^Y
194 '\"     # DS - begin display
195 .de DS
200 '\"     # DE - end display
201 .de DE
206 '\"     # SO - start of list of standard options
207 .de SO
208 .SH "STANDARD OPTIONS"
211 .ta 5.5c 11c
212 .ft B
214 '\"     # SE - end of list of standard options
215 .de SE
217 .ft R
219 See the \\fBoptions\\fR manual entry for details on the standard options.
221 '\"     # OP - start of full description for a single option
222 .de OP
225 .ta 4c
226 Command-Line Name:      \\fB\\$1\\fR
227 Database Name:  \\fB\\$2\\fR
228 Database Class: \\fB\\$3\\fR
232 '\"     # CS - begin code excerpt
233 .de CS
236 .ta .25i .5i .75i 1i
238 '\"     # CE - end code excerpt
239 .de CE
243 .de UL
244 \\$1\l'|0\(ul'\\$2
246 .TH unknown 3tcl "" Tcl "Tcl Built-In Commands"
248 '\" Note:  do not modify the .SH NAME line immediately below!
249 .SH NAME
250 unknown \- 处理对使用不存在命令的尝试
251 .SH "总览 SYNOPSIS"
252 \fBunknown \fIcmdName \fR?\fIarg arg ...\fR?
255 .SH "描述 DESCRIPTION"
257 在一个脚本尝试调用一个不存在的命令的时候,Tcl  解释器将调用这个命令。\fBunknown\fR  的实现不是 Tcl  核心的一部分;但是在 Tcl   启动的时候,它是一个被缺省定义的库过程。你可以覆盖这个缺省的 \fBunknown\fR     来改变它的功能。
259 如果 Tcl   解释器遇到一个命令名而没有为它一个定义了的命令,则 Tcl    检查是否存在一个叫 \fBunknown \fR的命令。如果没有这个命令,则解释器返回一个错误。如果\fBunknown\fR     命令存在,则调用它并加上由被完全替换过的名字组成的参数和给最初的不存在的命令的参数。典型的,\fBunknown\fR    命令做在库目录中查找名字是    \fIcmdName \fR的一个命令过程,把缩写的命令名扩展成全长的名字,或自动的作为子进程执行未知命令等事情。在这些情况下(比如扩展缩写) \fBunknown\fR    将轻微的改变最初的命令,接着(重)执行它。\fBunknown\fR    命令的结果被用做最初的不存在的命令的结果。
261 \fBunknown\fR    的缺省实现的行为如下。它首先调用 \fBauto_load\fR  库过程来装载命令,接着它用最初的参数执行最初的命令。如果自动装载失败则 \fBunknown\fR  调用 \fBauto_execok\fR     来看是否有一个叫 \fIcmd \fR的可执行文件。如果有,它调用 Tcl \fBexec\fR    命令并加上 \fIcmd\fR  和所有 \fIargs\fR  作为参数。如果 \fIcmd\fR  不可自动执行,\fBunknown\fR     检查是否在顶层调用这个命令并在任何脚本的外部。如果是这样,则 \fBunknown\fR   进行两个额外的步骤。首先它参看 \fIcmd\fR   是否是下列三种形式之一:    \fB!!\fR, \fB!\fIevent\fR, 或 \fB^\fIold\fB^\fInew\fR?\fB^\fR?。如果是这样,则 \fBunknown\fR  用与 \fBcsh\fR  相同的方式对这些构造(construct)进行历史替换。最后,\fBunknown\fR   检查 \fIcmd\fR  是否是一个现存的 Tcl  命令的缩写。如果是,它扩展命令名并用最初的参数执行这个命令。如果上述努力都不能执行这个命令,\fBunknown\fR   返回一个错误。如果定义了全局变量 \fBauto_noload\fR ,则跳过自动装载步骤。如果定义了全局变量 \fBauto_noexec\fR,则跳过自动执行步骤。在通常的条件下,\fBunknown\fR    的返回值就是最终执行的命令的返回值。
263 .SH "参见 SEE ALSO"
264 info(n), proc(n)
266 .SH "关键字 KEYWORDS"
267 error, non-existent command
269 .SH "[中文版维护人]"
270 .B 寒蝉退士
271 .SH "[中文版最新更新]"
272 .B 2001/09/01
273 .SH "《中国 Linux 论坛 man 手册页翻译计划》:"
274 .BI http://cmpp.linuxforum.net