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 different name.
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 folder.
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 ``private'' sequences.
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) `-nozero' 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).