Scroll to navigation

MARK(1mh) [mmh-0.4] MARK(1mh)


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 `f' or `n' (see mh-sequence(7)). 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 `c' 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 mmh 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(7) 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 `c', `f', `l', `a', `n', `p', or `b'.
  • Only a certain number of sequences may be defined for a given folder. This number is usually limited to 29 (13 on small systems). (The +internal implementation relies on bitmasks, with some bits set aside +for internal use.)
  • 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/.mmh/profile~^The user profile


^Path:~^To determine the user's mail storage
^Current-Folder:~^To find the default current folder


flist(1), pick(1), mh-sequence(7)


`+folder' defaults to the current folder
`-add' if -sequence is specified, -list otherwise
`msgs' defaults to `c' (or `a' 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).

2019-01-06 MH.6.8