rename foo.n to foo.3tcl
[manpages-zh.git] / src / mann / history.3tcl
blob4dd2a174365f0742d4495643bcd882075124d20d
1 '\"
2 '\" Copyright (c) 1993 The Regents of the University of California.
3 '\" Copyright (c) 1994-1997 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: history.n,v 1.2 2003/11/24 05:09:59 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: history.n,v 1.2 2003/11/24 05:09:59 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 history 3tcl "" Tcl "Tcl Built-In Commands"
248 '\" Note:  do not modify the .SH NAME line immediately below!
249 .SH NAME
250 history \- 操纵历史列表
251 .SH 总览 SYNOPSIS
252 \fBhistory \fR?\fIoption\fR? ?\fIarg arg ...\fR?
255 .SH 描述 DESCRIPTION
257 \fBhistory\fR 命令完成与记录在一个历史列表中的最近执行过的命令有关的一些操作中的一个。每个记录的命令被作为一个“事件”来参照。使用下列形式给 \fBhistory\fR 命令指定的一个事件:
258 .IP [1]
259 一个数: 如果是正数,它用这个数来参照事件(所有事件多被从 1 开始计数)。如果是负数,它选择相对当前事件的一个事件(\fB\-1\fR 参照上一个事件,\fB\-2\fR 参照大上一个,以此类推)。事件 \fB0\fP 参照当前事件。
260 .IP [2]
261 一个字符串: 选择匹配这个字符串的最新近的事件。在两种情况下一个事件被考虑为匹配这个字符串,要么这个字符串与这个命令的最前面的字符相同,要么这个字符串以与 \fBstring match\fR 命令相同的方式匹配这个事件。
263 \fBhistory\fR 命令接受所有下列形式:
265 \fBhistory\fR
266 同于下面描述的 \fBhistory info\fR。
268 \fBhistory add\fI command \fR?\fBexec\fR?
269 把 \fIcommand\fR 参数作为一个新事件添加到历史列表中。如果指定了 \fBexec\fR(或其缩写) 则还执行这个命令并返回它的结果。如果没有指定 \fBexec\fR 则返回一个空串作为结果。
271 \fBhistory change\fI newValue\fR ?\fIevent\fR?
272 把给一个事件记录的值替代(replace)为 \fInewValue\fR。 \fIEvent\fR 指定要替代的事件,缺省为当前 (\fIcurrent\fR) 事件(不是事件 \fB\-1\fR)。这个命令用在实现新形式的历史替换(substitution)的命令中,和用在想用通过替换建立的命令替代当前事件(调用这个替换的事件)的命令中。 返回值是一个空串。
274 \fBhistory clear\fR
275 删除历史列表。保持当前保留限制。重置历史事件数。
277 \fBhistory event\fR ?\fIevent\fR?
278 返回由 \fIevent\fR 给出的事件的值。 \fIEvent\fR 缺省为 \fB\-1\fR。
280 \fBhistory info \fR?\fIcount\fR?
281 返回一个格式化了字符串(用于人们阅读),它给出在历史列表中除了当前事件之外的每个事件的事件号和内容。如果指定了 \fIcount\fR,则只返回新近的 \fIcount\fR 个事件。
283 \fBhistory keep \fR?\fIcount\fR?
284 使用这个命令来变更历史列表的大小为 \fIcount\fR 个事件。最初,在历史列表中保留 20 个事件。如果未指定 \fIcount\fR ,则返回当前的保留限制。
286 \fBhistory nextid\fR
287 返回要记录在历史记录中的下一个事件的号码。这对象在命令行提示符下输出事件号这样的事有用。
289 \fBhistory redo \fR?\fIevent\fR?
290 重新执行由 \fIevent\fR 指示的命令并返回它的结果。\fIEvent\fR 缺省为 \fB\-1\fR。这个命令导致历史修订: 详情见下面的段落。
292 .SH "历史修订 HISTORY REVISION"
294 8.0 之前 的 Tcl 有一个复杂的历史修订机制。当前的机制受到了更多的限制,并且去除了老的历史操作 \fBsubstitute\fP  和 \fBwords\fP 。(作为安慰,添加了 \fBclear\fP 操作。)
296 历史选项 \fBredo\fR 导致非常简单的“历史修订”。在调用这个选项的时候,修改最新近的事件来淘汰历史命令(的记录)并用历史命令的结果替换它。如果你打算重做一个事件而不修改历史列表,则使用 \fBevent\fP 操作来检索某些事件,并使用 \fBadd\fP 操作来向历史列表添加它并执行它。
298 .SH 关键字 KEYWORDS
299 event, history, record
301 .SH "[中文版维护人]"
302 .B 寒蝉退士
303 .SH "[中文版最新更新]"
304 .B 2001/09/03
305 .SH "《中国 Linux 论坛 man 手册页翻译计划》:"
306 .BI http://cmpp.linuxforum.net