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:
^$HOME/.mh_profile~^The user profile
^Path:~^To determine the user's nmh directory ^Current-Folder:~^To find the default current folder
`+folder' defaults to the current folder `-add' if -sequence is specified, -list otherwise `msgs' defaults to cur (or all if -list is specified) `-nozero'