Added all of the MH sources, including RCS files, in
[mmh] / docs / historical / mh-6.8.5 / conf / doc / RCS / mhl.rf,v
1 head    1.11;
2 access;
3 symbols;
4 locks; strict;
5
6
7 1.11
8 date    92.12.04.18.59.22;      author jromine; state Exp;
9 branches;
10 next    1.10;
11
12 1.10
13 date    92.11.18.00.45.57;      author jromine; state Exp;
14 branches;
15 next    1.9;
16
17 1.9
18 date    92.11.18.00.27.02;      author jromine; state Exp;
19 branches;
20 next    1.8;
21
22 1.8
23 date    92.10.26.17.05.53;      author jromine; state Exp;
24 branches;
25 next    1.7;
26
27 1.7
28 date    90.04.05.15.10.28;      author sources; state Exp;
29 branches;
30 next    1.6;
31
32 1.6
33 date    90.03.28.16.07.45;      author sources; state Exp;
34 branches;
35 next    1.5;
36
37 1.5
38 date    90.03.22.11.31.24;      author sources; state Exp;
39 branches;
40 next    1.4;
41
42 1.4
43 date    90.03.20.19.42.03;      author sources; state Exp;
44 branches;
45 next    1.3;
46
47 1.3
48 date    90.03.20.17.36.19;      author sources; state Exp;
49 branches;
50 next    1.2;
51
52 1.2
53 date    90.03.20.10.31.28;      author sources; state Exp;
54 branches;
55 next    1.1;
56
57 1.1
58 date    90.03.20.10.27.56;      author sources; state Exp;
59 branches;
60 next    ;
61
62
63 desc
64 @@
65
66
67 1.11
68 log
69 @typo
70 @
71 text
72 @.\"    @@(MHWARNING)
73 .\" @@(#)$Id: mhl.rf,v 1.10 1992/11/18 00:45:57 jromine Exp jromine $
74 .SC MHL 1
75 .NA
76 mhl \- produce formatted listings of MH messages
77 .SY
78 @@(MHETCPATH)/mhl
79 \%[\-bell] \%[\-nobell]
80 \%[\-clear] \%[\-noclear]
81 \%[\-folder\ +folder]
82 \%[\-form\ formfile]
83 \%[\-length\ lines] \%[\-width\ columns] 
84 \%[\-moreproc\ program] \%[\-nomoreproc]
85 \%[files\ ...]
86 \%[\-help] 
87 .DE
88 \fIMhl\fR is a formatted message listing program.
89 It can be used as a replacement for \fImore\fR\0(1)
90 (the default \fIshowproc\fR\0).
91 As with \fImore\fR,
92 each of the messages specified as arguments (or the standard input) will be
93 output.
94 If more than one message file is specified,
95 the user will be prompted prior to each one,
96 and a <RETURN> or <EOT> will begin the output,
97 with <RETURN> clearing the screen (if appropriate),
98 and <EOT> (usually CTRL\-D) suppressing the screen clear.
99 An <INTERRUPT> (usually CTRL\-C) will abort the current message output,
100 prompting for the next message (if there is one),
101 and a <QUIT> (usually CTRL-\\) will terminate the program (without core dump).
102
103 The `\-bell' option tells \fImhl\fR to ring the terminal's bell at the end of each page,
104 while the `\-clear' option tells \fImhl\fR to clear the scree at the end of
105 each page (or output a formfeed after each message).
106 Both of these switches (and their inverse counterparts)
107 take effect only if the profile entry \fImoreproc\fR is defined but empty,
108 and \fImhl\fR is outputting to a terminal.
109 If the \fImoreproc\fR entry is defined and non-empty,
110 and \fImhl\fR is outputting to a terminal,
111 then \fImhl\fR will cause the \fImoreproc\fR to be placed between the
112 terminal and \fImhl\fR and the switches are ignored.
113 Furthermore,
114 if the `\-clear' switch is used and \fImhl's\fR output is directed to a
115 terminal,
116 then \fImhl\fR will consult the \fB$TERM\fR and \fB$TERMCAP\fR
117 envariables to determine the user's
118 terminal type in order to find out how to clear the screen.
119 If the `\-clear' switch is used and \fImhl's\fR output is not directed to
120 a terminal (e.g., a pipe or a file),
121 then \fImhl\fR will send a formfeed after each message.
122
123 To override the default \fImoreproc\fR and the profile entry,
124 use the `\-moreproc\ program' switch.
125 Note that \fImhl\fR will never start a \fImoreproc\fR if invoked on a
126 hardcopy terminal.
127
128 The `\-length\ length' and `\-width\ width' switches set the screen length and
129 width, respectively.
130 These default to the values indicated by \fB$TERMCAP\fR,
131 if appropriate,
132 otherwise they default to 40 and 80, respectively.
133
134 The default format file used by \fImhl\fR is called \fImhl.format\fR
135 (which is first searched for in the user's \fIMH\fR directory,
136 and then sought in the \fI@@(MHETCPATH)\fR directory),
137 this can be changed by using the `\-form\ formatfile' switch.
138
139 Finally,
140 the `\-folder\ +folder' switch sets the \fIMH\fR folder name,
141 which is used for the \*(lqmessagename:\*(rq field described below.
142 The envariable \fB$mhfolder\fR is consulted for the default value,
143 which \fIshow\fR, \fInext\fR, and \fIprev\fR initialize appropriately.
144
145 \fIMhl\fR operates in two phases:
146 1) read and parse the format file,
147 and 2) process each message (file).
148 During phase 1,
149 an internal description of the format is produced as a structured list.
150 In phase 2,
151 this list is walked for each message,
152 outputting message information under the format constraints from the format
153 file.
154
155 The \*(lqmhl.format\*(rq form file contains information controlling
156 screen clearing, screen size, wrap\-around control, transparent text,
157 component ordering, and component formatting.
158 Also, a list of components to ignore may be specified,
159 and a couple of \*(lqspecial\*(rq components are defined to provide added
160 functionality.
161 Message output will be in the order specified by the order in the format file.
162
163 Each line of mhl.format has one of the formats:
164
165      ;comment
166      :cleartext
167      variable[,variable...]
168      component:[variable,...]
169
170 A line beginning with a `;' is a comment, and is ignored.
171 A line beginning with a `:' is clear text,
172 and is output exactly as is.
173 A line containing only a `:' produces a blank line in the output.
174 A line beginning with \*(lqcomponent:\*(rq defines the format for the specified
175 component,
176 and finally, remaining lines define the global environment.
177
178 For example, the line:
179
180 .ti +.5i
181 width=80,length=40,clearscreen,overflowtext="***",overflowoffset=5
182
183 defines the screen size to be 80 columns by 40 rows,
184 specifies that the screen should be cleared prior to each page,
185 that the overflow indentation is 5,
186 and that overflow text should be flagged with \*(lq***\*(rq.
187
188 Following are all of the current variables and their arguments.
189 If they follow a component,
190 they apply only to that component,
191 otherwise, their affect is global.
192 Since the whole format is parsed before any output processing,
193 the last global switch setting for a variable applies to the whole message
194 if that variable is used in a global context
195 (i.e., bell, clearscreen, width, length).
196
197 .nf
198 .in +.5i
199 .ta \w'noclearscreen  'u +\w'integer/G  'u
200 \fIvariable\fR  \fItype\fR      \fIsemantics\fR
201 width   integer screen width or component width
202 length  integer screen length or component length
203 offset  integer positions to indent \*(lqcomponent: \*(rq
204 overflowtext    string  text to use at the beginning of an
205                 overflow line
206 overflowoffset  integer positions to indent overflow lines
207 compwidth       integer positions to indent component text
208                 after the first line is output
209 uppercase       flag    output text of this component in all
210                 upper case
211 nouppercase     flag    don't uppercase
212 clearscreen     flag/G  clear the screen prior to each page
213 noclearscreen   flag/G  don't clearscreen
214 bell    flag/G  ring the bell at the end of each page
215 nobell  flag/G  don't bell
216 component       string/L        name to use instead of \*(lqcomponent\*(rq for
217                 this component
218 nocomponent     flag    don't output \*(lqcomponent: \*(rq for this
219                 component
220 center  flag    center component on line (works for
221                 one\-line components only)
222 nocenter        flag    don't center
223 leftadjust      flag    strip off leading whitespace on each
224                 line of text
225 noleftadjust    flag    don't leftadjust
226 compress        flag    change newlines in text to spaces
227 nocompress      flag    don't compress
228 split   flag    don't combine multiple fields into a single field
229 nosplit flag    combine multiple fields into a single field
230 newline flag    print newline at end of components (default)
231 nonewline       flag    don't print newline at end of components
232 formatfield     string  format string for this component (see below)
233 addrfield       flag    field contains addresses
234 datefield       flag    field contains dates
235 .re
236 .in -.5i
237 .fi
238
239 To specify the value of integer\-valued and string\-valued variables,
240 follow their name with an equals\-sign and the value.
241 Integer\-valued variables are given decimal values,
242 while string\-valued variables are given arbitrary text bracketed by
243 double\-quotes.
244 If a value is suffixed by \*(lq/G\*(rq or \*(lq/L\*(rq,
245 then its value is useful in a global\-only or local\-only context
246 (respectively).
247
248 A line of the form:
249
250     ignores=component,...
251
252 specifies a list of components which are never output.
253
254 The component \*(lqMessageName\*(rq (case\-insensitive)
255 will output the actual message name (file name) preceded by
256 the folder name if one is specified or found in the environment.
257 The format is identical to that produced by the `\-header' option to
258 \fIshow\fR.
259
260 The component \*(lqExtras\*(rq will output all of the components of the message
261 which were not matched by explicit components,
262 or included in the ignore list.
263 If this component is not specified,
264 an ignore list is not needed since all non\-specified components will be
265 ignored.
266
267 If \*(lqnocomponent\*(rq is NOT specified, then the component name will be
268 output as it appears in the format file.
269
270 The default format is:
271
272 .nf
273 .in +.5i
274 .ne 15
275 .eo
276 .so @@(MHETCPATH)/mhl.format
277 .ec
278 .in -.5i
279 .fi
280
281 The variable \*(lqformatfield\*(rq specifies a format string
282 (see \fImh\-format\fR\0(5)).
283 The flag variables \*(lqaddrfield\*(rq and \*(lqdatefield\*(rq
284 (which are mutually exclusive),
285 tell \fImhl\fR to interpret the escapes in the format string
286 as either addresses or dates, respectively.
287
288 By default,
289 \fImhl\fR does not apply any formatting string to fields containing address or
290 dates (see \fImh\-mail\fR\0(5) for a list of these fields).
291 Note that this results in faster operation
292 since \fImhl\fR must parse both addresses and dates in order to apply a
293 format string to them.
294 If desired,
295 \fImhl\fR can be given a default format string for either address or date
296 fields (but not both).
297 To do this,
298 on a global line specify: either the flag addrfield or datefield,
299 along with the apropriate formatfield variable string.
300 .Fi
301 ^@@(MHETCPATH)/mhl.format~^The message template
302 ^or <mh\-dir>/mhl.format~^Rather than the standard template
303 ^$HOME/\&.mh\(ruprofile~^The user profile
304 .Pr
305 ^moreproc:~^Program to use as interactive front\-end
306 .Sa
307 show(1), ap(8), dp(8)
308 .De
309 `\-bell'
310 .Ds
311 `\-noclear'
312 .Ds
313 `\-length 40'
314 .Ds
315 `\-width 80'
316 .Co
317 None
318 .Bu
319 There should be some way to pass `bell' and `clear' information to the 
320 front\-end.
321
322 On hosts where \fIMH\fR was configured with the BERK option,
323 address parsing is not enabled.
324
325 The \*(lqnonewline\*(rq option interacts badly 
326 with \*(lqcompress\*(rq and \*(lqsplit\*(rq.
327 .En
328 @
329
330
331 1.10
332 log
333 @restore indent
334 @
335 text
336 @d2 1
337 a2 1
338 .\" @@(#)$Id: mhl.rf,v 1.9 1992/11/18 00:27:02 jromine Exp jromine $
339 d254 1
340 a254 1
341 The \*(lqnonewline\(*rq option interacts badly 
342 @
343
344
345 1.9
346 log
347 @document "newline" and "nonewline"
348 @
349 text
350 @d2 1
351 a2 1
352 .\" @@(#)$Id: mhl.rf,v 1.8 1992/10/26 17:05:53 jromine Exp jromine $
353 d127 1
354 a127 1
355 .in +.25i
356 @
357
358
359 1.8
360 log
361 @typo fix from Jerry Peek
362 @
363 text
364 @d2 1
365 a2 1
366 .\" @@(#)$Id: mhl.rf,v 1.7 1990/04/05 15:10:28 sources Exp jromine $
367 d127 1
368 a127 1
369 .in +.5i
370 d159 2
371 d253 3
372 @
373
374
375 1.7
376 log
377 @add ID
378 @
379 text
380 @d2 1
381 a2 1
382 .\" @@(#)$Id:$
383 d169 1
384 a169 1
385 while string\-valued variables are given arbirtray text bracketed by
386 @
387
388
389 1.6
390 log
391 @use formatstrings on any field
392 @
393 text
394 @d2 1
395 @
396
397
398 1.5
399 log
400 @put things back, do .NA stuff another way
401 @
402 text
403 @d208 1
404 a208 2
405 (see \fImh\-format\fR\0(5)), which may be used only on
406 address and date header components.
407 d211 2
408 a212 1
409 control the interpretation of the escapes.
410 @
411
412
413 1.4
414 log
415 @typo
416 @
417 text
418 @d2 2
419 a3 2
420 .TH MHL 1 @@(MHCENTERFOOT) @@(MHLEFTFOOT)
421 .SH .NA
422 d5 1
423 a5 1
424 .SH .SY
425 @
426
427
428 1.3
429 log
430 @fixup for makewhatis
431 @
432 text
433 @d2 1
434 a2 1
435 .TH MHL 1 [mh.6] MH
436 @
437
438
439 1.2
440 log
441 @make formatfield interpretation clearer
442 @
443 text
444 @d2 2
445 a3 2
446 .SC MHL 1
447 .NA
448 d5 1
449 a5 1
450 .SY
451 @
452
453
454 1.1
455 log
456 @Initial revision
457 @
458 text
459 @d158 1
460 a158 1
461 formatfield     string  format string for this component
462 d208 3
463 a210 2
464 (see \fImh\-format\fR(5)).
465 The variables \*(lqaddrfield\*(rq and \*(lqdatefield\*(rq
466 d224 2
467 a225 3
468 on a global line
469 specify either the variable addrfield or the variable datefield,
470 along with the variable formatfield.
471 @