8 date 92.05.12.22.23.34; author jromine; state Exp;
13 date 92.02.06.22.46.37; author jromine; state Exp;
18 date 91.01.09.11.34.34; author mh; state Exp;
23 date 91.01.07.16.45.12; author mh; state Exp;
28 date 91.01.07.16.41.26; author mh; state Exp;
33 date 91.01.07.16.34.25; author mh; state Exp;
38 date 91.01.07.16.26.52; author mh; state Exp;
43 date 91.01.07.16.14.39; author mh; state Exp;
48 date 90.12.27.14.59.21; author mh; state Exp;
53 date 90.12.27.14.55.16; author mh; state Exp;
58 date 90.12.27.12.25.16; author mh; state Exp;
70 @fixup for nroff problems
74 .\" @@(#)$Id: mh-sequence.rf,v 1.10 1992/02/06 22:46:37 jromine Exp jromine $
77 mh-sequence \- sequence specification for MH message system
79 most \fIMH\fR commands
81 Most \fIMH\fP commands accept a `msg' or `msgs' specification, where
82 `msg' indicates one message and `msgs' indicates one or more
84 To designate a message, you may use either its number (e.g., 1, 10, 234)
85 or one of these \*(lqreserved\*(rq message names:
90 \fIName\fP \fIDescription\fR
91 first the first message in the folder
92 last the last message in the folder
93 cur the most recently accessed message
94 prev the message numerically preceding \*(lqcur\*(rq
95 next the message numerically following \*(lqcur\*(rq
100 In commands that take a `msg' argument, the default is \*(lqcur\*(rq.
101 As a shorthand, \*(lq\&.\*(rq is equivalent to \*(lqcur\*(rq.
103 For example: In a folder containing five messages numbered 5, 10, 94,
104 177 and 325, \*(lqfirst\*(rq is 5 and \*(lqlast\*(rq is 325.
105 If \*(lqcur\*(rq is 94, then \*(lqprev\*(rq is 10 and \*(lqnext\*(rq
108 The word `msgs' indicates that one or more messages may be specified.
109 Such a specification consists of one message designation or of several message
110 designations separated by spaces.
111 A message designation consists either
112 of a message name as defined above, or a message range.
114 A message range is specified as \*(lqname1\-name2\*(rq
116 where `name', `name1' and `name2' are message names, and `n' is an integer.
118 The specification \*(lqname1\-name2\*(rq
119 designates all currently-existing messages from `name1' to `name2' inclusive.
120 The message name \*(lqall\*(rq is a shorthand for the message
121 range \*(lqfirst\-last\*(rq.
123 The specification \*(lqname:n\*(rq designates up to `n' messages.
124 These messages start with `name' if `name' is a message number
125 or one of the reserved names \*(lqfirst\*(rq \*(lqcur\*(rq, or \*(lqnext\*(rq,
126 The messages end with `name' if `name' is \*(lqprev\*(rq or \*(lqlast\*(rq.
127 The interpretation of `n' may be overridden by preceding `n' with
128 a plus or minus sign; `+n' always means up to `n' messages starting
129 with `name', and `\-n' always means up to `n' messages ending
132 In commands which accept a `msgs' argument, the default is either
133 \*(lqcur\*(rq or \*(lqall\*(rq, depending on which makes more sense
134 for each command (see the individual man pages for details).
135 Repeated specifications of the same message have the same effect as
136 a single specification of the message.
138 .Uh "User\-Defined Message Sequences"
139 In addition to the \*(lqreserved\*(rq (pre-defined) message names given above,
140 \fIMH\fP supports user-defined sequence names.
141 User-defined sequences allow the \fIMH\fR user a tremendous amount of power
142 in dealing with groups of messages in the same folder
143 by allowing the user to bind a group of messages to a meaningful symbolic
146 The name used to denote a message sequence must consist of
147 an alphabetic character followed by zero or more
148 alphanumeric characters, and can not be one of the \*(lqreserved\*(rq
150 After defining a sequence,
151 it can be used wherever an \fIMH\fR command expects a `msg' or `msgs'
154 Some forms of message ranges are allowed with user-defined
156 specification \*(lqname:n\*(rq may be used, and it
157 designates up to the first `n' messages (or last `n' messages for `\-n')
158 which are elements of the user-defined sequence `name'.
160 The specifications \*(lqname:next\*(rq and \*(lqname:prev\*(rq
161 may also be used, and they designate the
162 next or previous message (relative to the current message)
163 which is an element of the user-defined sequence `name'.
165 \*(lqname:first\*(rq and \*(lqname:last\*(rq are equivalent
166 to \*(lqname:1\*(rq and \*(lqname:\-1\*(rq, respectively.
167 The specification \*(lqname:cur\*(rq is not allowed
168 (use just \*(lqcur\*(rq instead).
169 The syntax of these message range
170 specifcations is subject to change
173 User-defined sequence names
174 are specific to each folder.
175 They are defined using the \fIpick\fP and \fImark\fP commands.
177 .Uh "Public and Private User-Defined Sequences"
178 There are two varieties of sequences: \fIpublic\fR sequences
179 and \fIprivate\fR sequences.
180 \fIPublic\fR sequences of a folder are accessible to any \fIMH\fR user that
181 can read that folder and are kept in the \&.mh\(rusequences file in the folder.
182 \fIPrivate\fR sequences are accessible only to the \fIMH\fR user that defined
183 those sequences and are kept in the user's \fIMH\fR context file.
185 \fIpick\fR and \fImark\fR create \fIpublic\fR sequences
186 if the folder for which the sequences are being defined is writable by the
188 Otherwise, \fIprivate\fR sequences are created.
189 This can be overridden with the `\-public' and `\-private' switches
192 .Uh "Sequence Negation"
193 \fIMH\fP provides the ability to select all messages
194 not elements of a user-defined sequence. To do this,
195 the user should define the entry
196 \*(lqSequence\-Negation\*(rq in the \fIMH\fR profile file;
197 its value may be any string.
198 This string is then used to preface an existing user-defined
199 sequence name. This specification then refers to those messages
200 not elements of the specified sequence name.
201 For example, if the profile entry is:
204 Sequence\-Negation:\^ not
206 then anytime an \fIMH\fR command is given \*(lqnotfoo\*(rq as a `msg' or
208 it would substitute all messages that are not elements of the sequence
212 the user should beware of defining sequences with names that
213 begin with the value of the
214 \*(lqSequence\-Negation\*(rq profile entry.
216 .Uh "The Previous Sequence"
217 \fIMH\fR provides the ability
218 to remember the `msgs' or
219 `msg' argument last given to an \fIMH\fR command.
220 The entry \*(lqPrevious\-Sequence\*(rq should be defined in the
221 \fIMH\fR profile; its value should be a sequence name or multiple
222 sequence names separated by spaces.
223 If this entry is defined, when
224 when an \fIMH\fP command finishes,
225 it will define the sequence(s) named in the value of this entry to be
226 those messages that were specified to the command.
227 Hence, a profile entry of
230 Previous\-Sequence:\^ pseq
232 directs any \fIMH\fR command that accepts a `msg' or `msgs' argument to
233 define the sequence \*(lqpseq\*(rq as those messages when it finishes.
235 \fBNote:\fP there can be a performance penalty in using the
236 \*(lqPrevious\-Sequence\*(rq facility.
238 \fBall\fP \fIMH\fR programs have to write the sequence information
239 to the \&.mh\(rusequences file for
240 the folder each time they run.
241 If the \*(lqPrevious\-Sequence\*(rq profile entry is not included,
242 only \fIpick\fR and \fImark\fR will write to the \&.mh\(rusequences file.
244 .Uh "The Unseen Sequence"
245 Finally, some users like to indicate messages which have not been
246 previously seen by them.
247 Both \fIinc\fR and \fIshow\fR honor the profile entry
248 \*(lqUnseen\-Sequence\*(rq to support this activity.
249 This entry in the \&.mh\(ruprofile should be defined
250 as one or more sequence names separated by spaces.
251 If there is a value for \*(lqUnseen\-Sequence\*(rq in the profile,
252 then whenever \fIinc\fR places new messages in a folder,
253 the new messages will also be added to the sequence(s) named
254 in the value of this entry.
255 Hence, a profile entry of
258 Unseen\-Sequence:\^ unseen
260 directs \fIinc\fR to add new messages to the sequence \*(lqunseen\*(rq.
261 Unlike the behavior of the \*(lqPrevious\-Sequence\*(rq entry in the profile,
262 however, the sequence(s) will \fBnot\fR be zeroed by \fIinc\fP.
265 whenever \fIshow\fR (or \fInext\fR or \fIprev\fR\^) displays a message,
266 that message will be removed
267 from any sequences named by the
268 \*(lqUnseen\-Sequence\*(rq entry in the profile.
271 ^$HOME/\&.mh\(ruprofile~^The user profile
272 ^<mh\-dir>/context~^The user context
273 ^<folder>/\&.mh\(rusequences~^Public sequences for <folder>
275 ^Sequence\-Negation:~^To designate messages not in a sequence
277 ^Previous\-Sequence:~^The last message specification given
279 ^Unseen\-Sequence:~^Those messages not yet seen by the user
281 mh(1), mark(1), pick(1), mh-profile(5)
287 User-defined sequences are stored in the \&.mh\(rusequences file
288 as a series of message specifications separated by spaces.
289 If a user-defined sequence contains too many individual
290 message specifications,
291 that line in the file may become too long for \fIMH\fP to handle.
292 This will generate the error message \*(lq\&.mh\(rusequences is
293 poorly formatted\*(rq. You'll have to edit the file by hand to
294 remove the offending line.
296 This can happen to users who define the \*(lqPrevious\-Sequence\*(rq entry in
298 and have a folder containing many messages with gaps in the numbering.
299 A workaround for large folders is to minimize numbering gaps by using
300 \*(lqfolder\ \-pack\*(rq often.
312 .\" @@(#)$Id: mh-sequence.rf,v 1.9 1991/01/09 11:34:34 mh Exp jromine $
316 mh\-sequence \- sequence specification for MH message system
322 @document name:{first,last,next,prev}
328 .\" @@(#)$Id: mh-sequence.rf,v 1.8 91/01/07 16:45:12 mh Exp Locker: mh $
331 \*(lqcur\*(rq or \*(lqall\*(rq, depending on which makes more sense.
342 .\" @@(#)$Id: mh-sequence.rf,v 1.7 91/01/07 16:41:26 mh Exp Locker: mh $
345 A restricted form of message ranges are allowed with user\-defined
349 These user-defined sequence names
361 .\" @@(#)$Id: mh-sequence.rf,v 1.6 91/01/07 16:34:25 mh Exp Locker: mh $
364 In addition to the \(*lqreserved\(*rq (pre-defined) message names given above,
376 .\" @@(#)$Id: mh-sequence.rf,v 1.5 91/01/07 16:26:52 mh Exp Locker: mh $
379 User-defined sequences are stored in the \&.mh\(rusequences file
380 as a series of message specifications separated by spaces.
381 If a user-defined sequence contains too many individual
382 message specifications,
383 that line in the file may become too long for \fIMH\fP to handle.
384 This will generate the error message \*(lq\&.mh\(rusequences is
385 poorly formatted\*(rq. You'll have to edit the file by hand to
386 remove the offending line.
388 This can happen to users who define the \*(lqPrevious\-Sequence\*(rq entry in
390 and have a folder containing many messages with gaps in the numbering.
391 A workaround for large folders is to minimize numbering gaps by using
392 \*(lqfolder\ \-pack\*(rq often.
399 @change from Jerry Peek
404 .\" This file is automatically generated. Do not edit!
405 .\" include the -mh macro file
406 .so /usr/local/lib/mh/tmac.h
407 .\" This file is automatically generated. Do not edit!
408 .\" @@(#)$Id: mh-sequence.rf,v 1.3 90/12/27 14:59:21 mh Exp $
409 .TH MH\-SEQUENCE 5 MH.6.7 [mh.6]
431 .\" @@(#)$Id: mh-sequence.rf,v 1.3 90/12/27 14:59:21 mh Exp Locker: mh $
442 `msg' indicates one message, and `msgs' indicates one or more
445 To designate a message, you may use either its number (e.g., 1, 10, 234),
448 prev the message numerically preceding \*(lqcur\*(rq
452 Such a specification consists of several message designations separated
456 or \*(lqname1:n\*(rq,
457 where `name1' and `name2' are message names, and `n' is an integer.
460 designates all the messages from `name1' to `name2' inclusive.
463 The specification \*(lqname1:n\*(rq designates up to `n' messages,
464 starting with `name1' if `name1' is a message number
467 and ending with `name1' if `name1' is \*(lqprev\*(rq, or \*(lqlast\*(rq.
470 with `name1', and `\-n' always means up to `n' messages ending
474 In addition to the pre-defined message names given above,
475 \fIMH\fP supports user-defined sequences names.
478 are specific to each folder, and are
479 defined using the \fIpick\fP and \fImark\fP commands.
482 There are two varieties of sequences: \fIpublic\fR sequences,
485 \fIpick\fR (and \fImark\fR\^) create \fIpublic\fR sequences
488 \*(lqSequence\-Negation\*(rq in the \&.mh\(ruprofile;
491 \&.mh\(ruprofile; its value should be a sequence name, or multiple
494 \fBNote:\fP there is a performance penalty in using the
497 \fBall\fP \fIMH\fR programs have to update the sequence information for
500 Although most programs read this information,
501 usually only \fIpick\fR and \fImark\fR have to write this information out.
513 .\" @@(#)$Id: mh-sequence.rf,v 1.2 90/12/27 14:55:16 mh Exp Locker: mh $
520 .UH "User\-Defined Message Sequences"
523 .UH "Public and Private User-Defined Sequences"
526 .UH "Sequence Negation"
529 .UH "The Previous Sequence"
532 .UH "The Unseen Sequence"
543 .\" @@(#)$Id: mh-sequence.rf,v 1.1 90/12/27 12:25:16 mh Exp $
546 which are part of the user-defined sequence `name'.
549 \fIpick\fR (and \fImark\fR\|) create \fIpublic\fR sequences
552 Sequence\-Negation:\| not
555 Previous\-Sequence:\| pseq
558 Unseen\-Sequence:\| unseen
561 whenever \fIshow\fR (or \fInext\fR or \fIprev\fR\|) displays a message,
564 mark(1), pick(1), mh-profile(5)
575 .\" @@(#)$Id: mh-profile.rf,v 1.8 90/12/18 12:49:13 mh Exp $
578 any \fIMH\fR commands
581 Most \fIMH\fP commands accept a `msg' or `msgs' argument.
583 `msg' refers to one message, and `msgs' refers to one or more
586 This describes how messages are specified to \fIMH\fP commands.
589 A message name may be a number (e.g., 1, 10, 234) or one of
590 the \*(lqreserved\*(rq message names:
596 prev the message numerically preceeding \*(lqcur\*(rq
598 \&. a shorthand for \*(lqcur\*(rq
602 A message range is specified as \*(lqname1\-name2\*(rq, where
603 `name1' and `name2' are message names, or
604 as \*(lqname1:n\*(rq, where `name1'
605 is a message name and `n' is an integer.
608 The specification \*(lqname1\-name2\*(rq desginates up to
609 This designates all the messages from `name1' to `name2' inclusive.
612 The specification \*(lqname1:n\*(rq desginates up to `n' messages,
615 The interpretation of `n' may be overridden by preceeding `n' with
619 \fIpick\fR (and \fImark\fR\0) create \fIpublic\fR sequences
622 The \fIMH\fP user may desire to specify all messages not
623 present in a user-defined sequence.
624 This capability is realized through the entry
625 \*(lqSequence\-Negation:\*(rq in the \&.mh\(ruprofile.
627 The \*(lqSequence\-Negation:\*(rq profile entry may consist of
628 any string. If it is defined,
629 it may be used to preface an existing user-defined
630 sequence name. This designation then refers to those messages
631 not present in the specified sequence name.
632 For example, if the entry is:
636 Sequence\-Negation:\0not
639 the user should beware of defining new sequences whose names
642 \*(lqSequence\-Negation:\*(rq profile entry.
645 If the entry \*(lqPrevious\-Sequence:\*(rq is defined in the
647 then when the command finishes,
648 it will define the sequence(s) named in the value of this entry as being
649 exactly those messages that were specified.
652 Previous\-Sequence:\0pseq
654 More than one sequence name may be placed in this entry,
655 separated with spaces.
658 There is a performance penalty in using the
659 \*(lqPrevious\-Sequence:\*(rq entry.
661 is that all \fIMH\fR progams have to update the sequence information for
662 the folder each time they run
666 Finally, some users like to distinguish between messages which have been
669 Whenever \fIinc\fR places new messages in a folder,
670 if the entry \*(lqUnseen\-Sequence:\*(rq is defined in the \&.mh\(ruprofile,
671 then when the command finishes,
672 \fIinc\fR will add the new messages to the sequence(s) named in the value of
676 Unseen\-Sequence:\0 unseen
679 Unlike the behavior of the \*(lqPrevious\-Sequence\*(rq entry in the profile
681 the sequence(s) will \fBnot\fR be zero'd.
684 whenever \fIshow\fR (or \fInext\fR or \fIprev\fR\0) displays a message,
685 they remove those messages from any sequences named by the