mark - manipulate message sequences
mark [+folder] [msgs] [-sequence name ...] [-add | -delete] [-list]
[-public | -nopublic] [-zero | -nozero] [-version] [-help]
The mark command manipulates message sequences by adding or deleting
message numbers from folder-specific message sequences, or by listing
those sequences and messages.
A message sequence is a keyword, just like one of the “reserved”
message names, such as “first” or “next”. Unlike the “reserved”
message names, which have a fixed semantics on a per-folder basis, the
semantics of a message sequence may be defined, modified, and removed
by the user. Message sequences are folder-specific, e.g., the sequence
name “seen” in the context of folder “+inbox” need not have any
relation whatsoever to the sequence of the same name in a folder of a
Three action switches direct the operation of mark. These switches are
mutually exclusive: the last occurrence of any of them overrides any
previous occurrence of the other two.
The -add switch tells mark to add messages to sequences or to create a
new sequence. For each sequence named via the -sequence name argument
(which must occur at least once) the messages named via msgs (which
defaults to “cur” if no msgs are given), are added to the sequence.
The messages to be added need not be absent from the sequence. If the
-zero switch is specified, the sequence will be emptied prior to adding
the messages. Hence, -add -zero means that each sequence should be
initialized to the indicated messages, while -add -nozero means that
each sequence should be appended to by the indicated messages.
The -delete switch tells mark to delete messages from sequences, and is
the dual of -add. For each of the named sequences, the named messages
are removed from the sequence. These messages need not be already
present in the sequence. If the -zero switch is specified, then all
messages in the folder are added to the sequence (first creating the
sequence, if necessary) before removing the messages. Hence, -delete
-zero means that each sequence should contain all messages except those
indicated, while -delete -nozero means that only the indicated messages
should be removed from each sequence. As expected, the command “mark
-sequence foo -delete all” deletes the sequence “foo” from the current
When creating or modifying sequences, you can specify the switches
-public or -nopublic to force the new or modified sequences to be
“public” or “private”. The switch -public indicates that the sequences
should be made “public”. These sequences will then be readable by all
nmh users with permission to read the relevant folders. In contrast,
the -nopublic switch indicates that the sequences should be made
“private”, and will only be accessible by you. If neither of these
switches is specified, then existing sequences will maintain their
current status, and new sequences will default to “public” if you have
write permission for the relevant folder. Check the mh-sequence(5) man
page for more details about the difference between “public” and
The -list switch tells mark to list both the sequences defined for the
folder and the messages associated with those sequences. Mark will
list the name of each sequence given by -sequence name and the messages
associated with that sequence. If the sequence is private, this will
also be indicated. If no sequence is specified by the -sequence
switch, then all sequences for this folder will be listed. The -zero
switch does not affect the operation of -list.
The current restrictions on sequences are:
· The name used to denote a message sequence must consist of an
alphabetic character followed by zero or more alphanumeric
characters, and cannot be one of the (reserved) message names “new”,
“first”, “last”, “all”, “next”, or “prev”.
· Only a certain number of sequences may be defined for a given folder.
This number is usually limited to 26 (10 on small systems).
· Message ranges with user-defined sequence names are restricted to the
form “name:n”, “name:+n”, or “name:-n”, and refer to the first or
last ‘n’ messages of the sequence ‘name’, respectively. Constructs
of the form “name1-name2” are forbidden for user defined sequences.
$HOME/.mh_profile The user profile
Path: To determine the user’s nmh directory
Current-Folder: To find the default current folder
flist(1), pick(1), mh-sequence(5)
‘+folder’ defaults to the current folder
‘-add’ if -sequence is specified, -list otherwise
‘msgs’ defaults to cur (or all if -list is specified)
If a folder is given, it will become the current folder.
Use flist to find folders with a given sequence, and “pick sequence
-list” to enumerate those messages in the sequence (such as for use by
a shell script).