anno - annotate messages
anno [+folder] [msgs] [-component field] [-text body] [-append] [-date | -nodate] [-preserve | -nopreserve] [-Version] [-help]
anno -delete [+folder] [msgs] [-component field] [-text body] [-number num | all ] [-preserve | -nopreserve] [-Version] [-help]
anno -list [+folder] [msgs] [-component field] [-number] [-Version] [-help]
Anno manipulates header fields or annotations in messages. Header fields consist of a field name and an optional field body as defined by RFC-2822. The field name may consist of alphanumerics and dashes only. The field body may consist of arbitrary text.
Usually, annotation is performed by the commands dist, forw, and repl, if they are given the -anno switch. This allows you to keep track of your redistribution of, forwarding of, and replies to a message. The whatnow shell uses annoations to manage attachments, too.
By using anno manually, you can perform arbitrary annotations of your own.
Anno has three operation modes: Adding, deleting and listing of header lines.
This is the default mode. Historically, it had been the only mode available.
Each message selected will be annotated with the lines
field: date field: body
The -component switch specifies the field name. If no -component field is specified, anno will prompt the user for a field name.
The -text switch specifies the field body. If it is missing, only the date annotation will be added. The -nodate switch inhibits the date annotation, leaving only the body annotation.
By default, anno prepends the annotations to the message. Annotations are instead appended if the -append switch is specified.
Anno always does the annotation in place in order to preserve any links to the message.
By default, anno changes the last-accessed and last-modified times on annotated messages to the time of the annotation. Anno preserves the original times if the -preserve switch is used.
The -delete mode removes header fields from messages. By default, the first header field whose name matches the component is deleted.
The -component switch specifies the field name of headers to delete. If no -component field is specified, anno will prompt the user for the name.
If the -text switch is used, the first header field whose name matches the component and whose body matches the text is deleted. The text is treated as if it was a path name; if it begins with a slash, the entire field body must match the text, otherwise just the last path name component of the field body must match.
If the -number switch is used, the nth header field whose name matches the component is deleted. The numbers are the same as those produced in -list mode. The special value `all' can be used for the number, and causes all components that match the name to be deleted.
Either -text or -number may be specified, but not both at the same time.
The -list mode produces a listing of the field bodies for header fields with matching component names, one per line. Trailing whitespace in the field body does not get printed. If the -number switch is also used, the listing is numbered, starting at 1.
The -component switch specifies the field name of headers to list. If no -component field is specified, anno will prompt the user for the name.
^$HOME/.mmh/profile~^The user profile
^Path:~^To determine the user's mail storage ^Current-Folder:~^To find the default current folder
`+folder' defaults to the current folder `msgs' defaults to the current message `-date' `-nopreserve'
If a folder is given, it will become the current folder. The first message annotated will become the current message.
The -number switch must appear after either the -list or the -delete mode switch, on the command line. Otherwise it is not possible to determine if it takes an argument.