Using the quotes directly is staight-forward and convenient to read and write.
Italicize file names, profile entries, and folder names:
If a file named
- .RI \*(lq components \*(rq
+ .RI ` components '
exists in the user's nmh directory,
If the user's profile contains a
- .RI \*(lq "Msg\-Protect: nnn" \*(rq
+ .RI ` "Msg\-Protect: nnn" '
entry, it
- The \*(lq+\*(rq after
+ The `+' after
.I inbox
indicates that it is the current folder.
try to track down the official hostname of the address.
.PP
The files specified by the profile entry
-.RI \*(lq Aliasfile \*(rq
+.RI ` Aliasfile '
and any additional alias files given by the
.B \-alias
.I aliasfile
is not placed in a separate message by
.BR burst .
In the case of
-digestified messages, this text is usually an \*(lqEnd of digest\*(rq
+digestified messages, this text is usually an `End of digest'
string.
.RE
.PP
If a file named
-.RI \*(lq components \*(rq
+.RI ` components '
exists in the user's mmh directory,
it will be used instead of this form. You may specify an alternate
forms file with the switch
.BR forw )
is terminated without sending the draft, the draft can
be edited again via
-.RB \*(lq comp
-.BR \-use \*(rq.
+.RB ` comp
+.BR \-use '.
If
.B \-use
is given,
^Draft\-Folder:~^To set the default draft folder
^Editor:~^To override the default editor
^Msg\-Protect:~^To set mode when creating a new message (draft)
-^whatnowproc:~^Program to ask the \*(lqWhat now?\*(rq questions
+^whatnowproc:~^Program to ask the `What now?' questions
.fi
.SH "SEE ALSO"
.RE
.PP
If a file named
-.RI \*(lq distcomps \*(rq
+.RI ` distcomps '
exists in the user's mmh directory, it
will be used instead of this default form. You may specify an alternate
forms file with the switch
The form used will be prepended to the message being resent.
.PP
Only those addresses in
-.RI \*(lq Resent\-To: \*(rq,
-.RI \*(lq Resent\-Cc: \*(rq,
+.RI ` Resent\-To: ',
+.RI ` Resent\-Cc: ',
and
-.RI \*(lq Resent\-Bcc: \*(rq
+.RI ` Resent\-Bcc: '
will be sent. Also, a
-.RI \*(lq "Resent\-Fcc: folder" \*(rq
+.RI ` "Resent\-Fcc: folder" '
will be honored (see
.BR send (1)).
Note that with
.BR dist ,
the draft should contain only
-.RI \*(lq Resent\-xxx: \*(rq
+.RI ` Resent\-xxx: '
fields and no body. The headers and the body of
the original message are copied to the draft when the message is sent.
Use care in constructing the headers for the redistribution.
.BR dist .
If the message is not sent immediately from
.BR dist ,
-.RB \*(lq comp
-.BR \-use \*(rq
+.RB ` comp
+.BR \-use '
may be used to re\-edit and send the constructed
message, but the annotations won't take place. Annotations are always
done inplace in order to preserve any links to the message.
for a description of the
.B \-editor
switch. Note that while in the editor, the message being resent
-is available through a link named \*(lq@\*(rq (assuming the default
+is available through a link named `@' (assuming the default
.IR whatnowproc ).
In addition, the actual pathname of the message is
stored in the environment variable
^Current\-Folder:~^To find the default current folder
^Draft\-Folder:~^To set the default draft\-folder
^Editor:~^To override the default editor
-^whatnowproc:~^Program to ask the \*(lqWhat now?\*(rq questions
+^whatnowproc:~^Program to ask the `What now?' questions
.fi
.SH "SEE ALSO"
.SH HISTORY
.B Dist
originally used headers of the form
-.RI \*(lq Distribute\-xxx: \*(rq
+.RI ` Distribute\-xxx: '
instead of
-.RI \*(lq Resent\-xxx: \*(rq.
+.RI ` Resent\-xxx: '.
In order to conform with the ARPA Internet standard, RFC\-822, the
-.RI \*(lq Resent\-xxx: \*(rq
+.RI ` Resent\-xxx: '
form is now used.
Since
.B mmh
.B dist
will no longer recognize and convert
-.RI \*(lq Distribute\-xxx: \*(rq
+.RI ` Distribute\-xxx: '
type headers.
.SH BUGS
is used to search a list of folders and display the number
of messages in these folders that are in a given sequence or set of
sequences (for example the
-.RI \*(lq unseen \*(rq
+.RI ` unseen '
sequence). This is especially
useful if you use some mechanism such as
.B slocal
By default, the command
.B flist
will search the current folder for the given sequence or sequences (usually
-.RI \*(lq unseen \*(rq).
+.RI ` unseen ').
If (possibly multiple) folders are specified on the command line with
.IR +folder ,
then all these folders are searched for the given sequence(s).
which to search for. This option may be used multiple times to specify
multiple sequences. If this is not given, then the default is to search
for all the sequences specified by the
-.RI \*(lq Unseen-Sequence \*(rq
+.RI ` Unseen-Sequence '
profile component. For more details about sequences, read the
.BR mh\-sequence (7)
man page.
will search all the folders in the top
level of the users mmh directory. These folders are all preceded by
the read\-only folders, which occur as
-.RI \*(lq atr\-cur\- \*(rq
+.RI ` atr\-cur\- '
entries in the user's
.B mmh
context.
.fi
.RE
.PP
-The \*(lq+\*(rq after
+The `+' after
.I inbox
indicates that it is the current folder.
.PP
-The \*(lqprivate\*(rq flag indicates that the given sequence for
+The `private' flag indicates that the given sequence for
that folder is private. See the
.BR mh\-sequence (7)
man page for details about private sequences.
.PP
If
.B flist
-is invoked by a name ending with \*(lqs\*(rq
+is invoked by a name ending with `s'
(e.g.
.BR flists ),
then the switch
The sorting order for the listing is alphabetical (with
.BR \-alpha ),
or in a priority order defined by the
-.RI \*(lq Flist-Order \*(rq
+.RI ` Flist-Order '
profile entry (with
.BR \-noalpha ).
Each item in the
-.RI \*(lq Flist-Order \*(rq
+.RI ` Flist-Order '
is a folder name or a
folder name pattern that uses * to match zero or more characters.
Longer matching patterns have precedence over shorter matching patterns.
are specified, they will become the current
folder and/or message. By comparison, when a
.I +folder
-argument is given, this corresponds to a \*(lqcd\*(rq operation
+argument is given, this corresponds to a `cd' operation
in the shell; when no
.I +folder
-argument is given, this corresponds roughly to a \*(lqpwd\*(rq
+argument is given, this corresponds roughly to a `pwd'
operation in the shell.
.PP
If the specified (or default) folder doesn't exist, the default action
is to query the user as to whether the folder should be created; when
standard input is not a tty, the answer to the query is assumed to be
-\*(lqyes\*(rq.
+`yes'.
.PP
Specifying
.B \-create
will produce a summary line for each top-level folder
in the user's mmh directory, sorted alphabetically. (If
.B folder
-is invoked by a name ending with \*(lqs\*(rq (e.g.
+is invoked by a name ending with `s' (e.g.
.BR folders ),
.B \-all
is assumed). Specifying
will also
produce a line for all sub-folders. These folders are all preceded by
the read\-only folders, which occur as
-.RI \*(lq atr\-cur\- \*(rq
+.RI ` atr\-cur\- '
entries in the user's
.B mmh
context. For example:
.fi
.RE
.PP
-The \*(lq+\*(rq after
+The `+' after
.I inbox
indicates that it is the current folder.
-The \*(lq(others)\*(rq indicates that the folder
+The `(others)' indicates that the folder
.I ucom
has files which
aren't messages. These files may either be sub\-folders, or files that
top of the
.I folder\-stack
are exchanged. This corresponds to the
-\*(lqpushd\*(rq operation in the shell.
+`pushd' operation in the shell.
.PP
The
.B \-pop
after setting the current folder to that value.
No
.I +folder
-argument is allowed. This corresponds to the \*(lqpopd\*(rq
+argument is allowed. This corresponds to the `popd'
operation in the shell. The
.B \-push
switch and the
action is taken, unless a
.B \-nolist
switch follows them on the command line. This corresponds
-to the \*(lqdirs\*(rq operation in the shell. The
+to the `dirs' operation in the shell. The
.BR \-push ,
.BR \-pop ,
and
.RE
.PP
If a file named
-.RI \*(lq forwcomps \*(rq
+.RI ` forwcomps '
exists in the user's mmh directory,
it will be used instead of this default form. You may also specify an
alternate forms file with the switch
.BR forw .
If the message is not sent immediately from
.BR forw ,
-.RB \*(lq comp
-.BR \-use \*(rq
+.RB ` comp
+.BR \-use '
may be used to re\-edit and send the constructed
message, but the annotations won't take place. Annotations
are always done inplace in order to preserve any links to the message.
^Draft\-Folder:~^To set the default draft\-folder
^Editor:~^To override the default editor
^Msg\-Protect:~^To set mode when creating a new message (draft)
-^whatnowproc:~^Program to ask the \*(lqWhat now?\*(rq questions
+^whatnowproc:~^Program to ask the `What now?' questions
.fi
.SH "SEE ALSO"
it's possible to confuse
.B forw
by re\-ordering the file (e.g. by using
-.RB \*(lq folder
-.BR \-pack \*(rq)
+.RB ` folder
+.BR \-pack ')
before the message is successfully sent.
.B Dist
and
If no folder is specified, then
.B inc
will use either the folder given by a (non\-empty)
-.RI \*(lq Inbox \*(rq
+.RI ` Inbox '
entry in the user's profile, or the folder named
-.RI \*(lq inbox \*(rq.
+.RI ` inbox '.
If the specified (or default) folder doesn't
exist, the user will (in
.B \-nosilent
listing of the new mail is produced.
.PP
If the user's profile contains a
-.RI \*(lq "Msg\-Protect: nnn" \*(rq
+.RI ` "Msg\-Protect: nnn" '
entry, it
will be used as the protection on the newly created messages, otherwise
the
and
.B dist
may also produce audits to this (or another) file, perhaps with
-.RI \*(lq Message\-Id \*(rq
+.RI ` Message\-Id '
information to keep an exact correspondence
history.
-.RI \*(lq Audit\-file \*(rq
+.RI ` Audit\-file '
will be in the current directory unless a full path is specified.
.PP
.B Inc
switch is given.
.PP
If the profile entry
-.RI \*(lq Unseen\-Sequence \*(rq
+.RI ` Unseen\-Sequence '
is present and non\-empty, then
.B inc
will add each of the newly incorporated messages to
environment variable is not set, then
.B inc
will consult the profile entry
-.RI \*(lq MailDrop \*(rq
+.RI ` MailDrop '
for this information. If the value found is
not absolute, then it is interpreted relative to the user's
.B nmh
.ta \w'ExtraBigProfileName 'u
^Path:~^To determine the user's mail storage
^Alternate\-Mailboxes:~^To determine the user's mailboxes
-^Inbox:~^To determine the inbox, default \*(lqinbox\*(rq
+^Inbox:~^To determine the inbox, default `inbox'
^Folder\-Protect:~^To set mode when creating a new folder
^Msg\-Protect:~^To set mode when creating a new message and audit\-file
^Unseen\-Sequence:~^To name sequences denoting unseen messages
.SH DEFAULTS
.nf
-.RB ` +folder "' defaulted by \*(lqInbox\*(rq above"
+.RB ` +folder "' defaulted by `Inbox' above"
.RB ` \-noaudit '
.RB ` \-changecur '
.RB ` \-form "' defaulted as described above"
message numbers from folder\-specific message sequences, or by listing
those sequences and messages.
.PP
-A message sequence is a keyword, just like one of the \*(lqreserved\*(rq
-message names, such as \*(lqfirst\*(rq or \*(lqnext\*(rq. Unlike the
-\*(lqreserved\*(rq message names, which have a fixed semantics on
+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 \*(lqseen\*(rq in the context
+folder\-specific, e.g., the sequence name `seen' in the context
of folder
-.RI \*(lq +inbox \*(rq
+.RI ` +inbox '
need not have any relation whatsoever to the
sequence of the same name in a folder of a different name.
.PP
.I name
argument (which must occur at least once) the messages named via
.I msgs
-(which defaults to \*(lqcur\*(rq if no
+(which defaults to `cur' if no
.I msgs
are given), are added to the
sequence. The messages to be added need not be absent from the sequence.
means
that only the indicated messages should be removed from each sequence.
As expected, the command
-.RB \*(lq mark
+.RB ` mark
.B \-sequence
.I foo
.B \-delete
-all\*(rq
-deletes the sequence \*(lqfoo\*(rq from the current folder.
+all'
+deletes the sequence `foo' from the current folder.
.PP
When creating or modifying sequences, you can specify the switches
.B \-public
or
.B \-nopublic
to force the new or modified sequences to be
-\*(lqpublic\*(rq or \*(lqprivate\*(rq. The switch
+`public' or `private'. The switch
.B \-public
indicates
-that the sequences should be made \*(lqpublic\*(rq. These sequences
+that the sequences should be made `public'. These sequences
will then be readable by all
.B nmh
users with permission to read the relevant folders. In contrast, the
.B \-nopublic
switch indicates that the
-sequences should be made \*(lqprivate\*(rq, and will only be accessible by
+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
-\*(lqpublic\*(rq if you have write permission for the relevant folder.
+`public' if you have write permission for the relevant folder.
Check the
.BR mh\-sequence (7)
man page for more details about the difference
-between \*(lqpublic\*(rq and \*(lqprivate\*(rq sequences.
+between `public' and `private' sequences.
.PP
The
.B \-list
.IP \(bu 2
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 \*(lqnew\*(rq, \*(lqfirst\*(rq,
-\*(lqlast\*(rq, \*(lqall\*(rq, \*(lqnext\*(rq, or \*(lqprev\*(rq.
+be one of the (reserved) message names `new', `first',
+`last', `all', `next', or `prev'.
.PP
.IP \(bu 2
Only a certain number of sequences may be defined for a given folder.
.PP
.IP \(bu 2
Message ranges with user\-defined sequence names are restricted to the
-form \*(lqname:n\*(rq, \*(lqname:+n\*(rq, or \*(lqname:-n\*(rq, and refer
+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 \*(lqname1\-name2\*(rq are forbidden for user
+Constructs of the form `name1\-name2' are forbidden for user
defined sequences.
.SH FILES
Use
.B flist
to find folders with a given sequence, and
-.RB \*(lq pick
+.RB ` pick
.I sequence
-.BR \-list \*(rq
+.BR \-list '
to enumerate those messages in the sequence (such as for
use by a shell script).
Continuation lines in alias files end with `\\' followed by the newline
character.
.PP
-.RI \*(lq Alias\-file \*(rq
+.RI ` Alias\-file '
and
-.RI \*(lq file \*(rq
+.RI ` file '
are UNIX file names.
.I UNIX\-group
is a group name (or number) from
.IR /etc/group .
-An address is a \*(lqsimple\*(rq
+An address is a `simple'
Internet\-style address. Througout this file, case is ignored, except
for file names.
.PP
.I address\-list
for the alias.
.PP
-In match, a trailing \*(lq*\*(rq on an alias will match just about anything
+In match, a trailing `*' on an alias will match just about anything
appropriate. (See example below.)
.PP
An approximation of the way aliases are resolved at posting time is
the message that have no host specified, perform alias resolution.
.PP
.IP 3) 3
-For each line in the alias file, compare \*(lqalias\*(rq against all of
-the existing addresses. If a match, remove the matched \*(lqalias\*(rq
+For each line in the alias file, compare `alias' against all of
+the existing addresses. If a match, remove the matched `alias'
from the address list, and add each new address in the address\-group to
the address list if it is not already on the list. The alias itself is
not usually output, rather the address\-group that the alias maps to is
-output instead. If \*(lqalias\*(rq is terminated with a `;' instead of
-a `:', then both the \*(lqalias\*(rq and the address are output in the
+output instead. If `alias' is terminated with a `;' instead of
+a `:', then both the `alias' and the address are output in the
correct format. (This makes replies possible since personal
.B nmh
aliases are unknown to the mail transport system.)
The first line says that more aliases should immediately be read from
the file
.IR %etcdir%/MoreAliases .
-Following this, \*(lqfred\*(rq
-is defined as an alias for \*(lqfrated@UCI\*(rq, and \*(lqsgroup\*(rq
-is defined as an alias for the three names \*(lqfrated@UCI\*(rq,
-\*(rqfear\*(rq, and \*(rqfreida\*(rq.
+Following this, `fred'
+is defined as an alias for `frated@UCI', and `sgroup'
+is defined as an alias for the three names `frated@UCI',
+'fear', and 'freida'.
.PP
-The alias \*(lqb-people\*(rq is a blind list which includes the addresses
-\*(lqbill\*(rq and \*(lqbetty\*(rq; the message will be delieved to those
-addresses, but the message header will show only \*(lqBlind List: ;\*(rq
+The alias `b-people' is a blind list which includes the addresses
+`bill' and `betty'; the message will be delieved to those
+addresses, but the message header will show only `Blind List: ;'
(not the addresses).
.PP
-Next, the definition of \*(lqUNIX\-committee\*(rq is given by
+Next, the definition of `UNIX\-committee' is given by
reading the file
.I unix.aliases
in the users
.B mmh
directory,
-\*(lqstaff\*(rq is defined as all users who are listed as members of the
-group \*(lqstaff\*(rq in the
+`staff' is defined as all users who are listed as members of the
+group `staff' in the
.I /etc/group
-file, and \*(lqwheels\*(rq
+file, and `wheels'
is defined as all users whose group\-id in
.I /etc/passwd
-is equivalent to the \*(lqwheel\*(rq group.
+is equivalent to the `wheel' group.
.PP
Finally, all aliases of the form
-\*(lqnews.<anything>\*(rq are defined to be \*(lqnews\*(rq.
+`news.<anything>' are defined to be `news'.
.PP
The key thing to understand about aliasing in
.B nmh
In your
.IR .mmh/profile ,
choose a name for your alias file, say
-.RI \*(lq aliases \*(rq,
+.RI ` aliases ',
and add the line:
.PP
.RS 5
.PP
.IP 2) 3
Create the file
-.RI \*(lq aliases \*(rq
+.RI ` aliases '
in your
.B mmh
directory.
.PP
.IP 3) 3
Start adding aliases to your
-.RI \*(lq aliases \*(rq
+.RI ` aliases '
file as appropriate.
.RE
Although the forward-referencing semantics of
.B mh\-alias
files prevent recursion, the
-.RI \*(lq< " alias\-file" \*(rq
+.RI `< " alias\-file" '
command may defeat this.
Since the number of file descriptors is finite (and very limited), such
infinite recursion will terminate with a meaningless diagnostic when
.PP
Draft messages are created in the draft folder.
(The
-.RI \*(lq Draft\-Folder \*(rq
+.RI ` Draft\-Folder '
profile entry may be used to change the default draft folder.
.PP
New drafts are created unless the user invokes
and
exists for each header found in the message being processed. For example
.RI `%{ date }'
-refers to the \*(lqDate:\*(rq field of the appropriate message.
+refers to the `Date:' field of the appropriate message.
All component escapes have a string value. Normally, component values are
compressed by converting any control characters (tab and newline included)
to spaces, then eliding any leading or multiple spaces. However, commands
.fi
.RE
.PP
-writes the value of the header component \*(lqFrom:\*(rq to the
+writes the value of the header component `From:' to the
internal register named str; then (\fImymbox\fR\^) reads str and
writes its result to the internal register named
.IR num ;
If
.IR num
is non-zero, the
-string \*(lqTo:\*(rq is printed followed by the value of the
-header component \*(lqTo:\*(rq.
+string `To:' is printed followed by the value of the
+header component `To:'.
.SS Evaluation
The evaluation of format strings is performed
by a small virtual machine.
nonnull expr boolean \fIstr\fR is non-empty
void expr Set \fIstr\fR or \fInum\fR
comp comp string Set \fIstr\fR to component text
-compval comp integer Set \fInum\fR to \*(lq\fBatoi\fR(\fIcomp\fR\^)\*(rq
+compval comp integer Set \fInum\fR to `\fBatoi\fR(\fIcomp\fR\^)'
.\" compflag comp integer Set \fInum\fR to component flags bits (internal)
.\" decodecomp comp string Set \fIstr\fR to RFC-2047 decoded component text
decode expr string decode \fIstr\fR as RFC-2047 (MIME-encoded)
.PP
(A clarification on (\fImymbox\fR\^{\fIcomp\fR\^}) is in order.
This function checks each of the addresses in the header component
-\*(lq\fIcomp\fR\*(rq against the user's mailbox name and any
-.RI \*(lq Alternate-Mailboxes \*(rq.
+`\fIcomp\fR' against the user's mailbox name and any
+.RI ` Alternate-Mailboxes '.
It returns true if any address matches,
-however, it also returns true if the \*(lq\fIcomp\fR\*(rq header is not
+however, it also returns true if the `\fIcomp\fR' header is not
present in the message. If needed, the (\fInull\fR\^) function can be
used to explicitly test for this case.)
.SS Formatting
specified by their leading field width argument. For example,
%06(\fIputnumf\fR\^(\fIsize\fR\^)) will print the message
size in a field six characters wide filled with leading zeros;
-%14(\fIputstrf\^\fR{\fIfrom\^\fR}) will print the \*(lqFrom:\*(rq header
+%14(\fIputstrf\^\fR{\fIfrom\^\fR}) will print the `From:' header
component in fourteen characters with trailing spaces added as needed.
For \fIputstrf\fR, using a negative value for the field width causes
right-justification of the string within the field, with padding on
.PP
which says that the message number should be printed in four digits.
If the message is the current message then a `+' else a space should
-be printed; if a \*(lqReplied:\*(rq field is present then a `\-'
+be printed; if a `Replied:' field is present then a `\-'
else a space should be printed. Next:
.PP
.RS
.fi
.RE
.PP
-If a \*(lqDate:\*(rq field was present,
+If a `Date:' field was present,
then a space is printed, otherwise a `*'.
Next,
.PP
.fi
.RE
.PP
-if the message is from me, and there is a \*(lqTo:\*(rq header,
-print \*(lqTo:\*(rq followed by a \*(lquser-friendly\*(rq rendering of the
-first address in the \*(lqTo:\*(rq field; any MIME-encoded
+if the message is from me, and there is a `To:' header,
+print `To:' followed by a `user-friendly' rendering of the
+first address in the `To:' field; any MIME-encoded
characters are decoded into the actual characters.
Continuing,
.PP
.RE
.PP
if either of the above two tests failed,
-then the \*(lqFrom:\*(rq address is printed
-in a mime-decoded, \*(lquser-friendly\*(rq format.
+then the `From:' address is printed
+in a mime-decoded, `user-friendly' format.
And finally,
.PP
.RS 5
.PP
This clears
.I str
-and formats the \*(lqReply-To:\*(rq header
+and formats the `Reply-To:' header
if present. If not present, the else-if clause is executed.
.PP
.RS 5
.RE
.PP
This formats the
-\*(lqFrom:\*(rq, \*(lqSender:\*(rq and \*(lqReturn-Path:\*(rq
+`From:', `Sender:' and `Return-Path:'
headers, stopping as soon as one of them is present. Next:
.PP
.RS 5
.PP
If the \fIformataddr\fR result is non-null, it is printed as
an address (with line folding if needed) in a field \fIwidth\fR
-wide with a leading label of \*(lqTo:\*(rq.
+wide with a leading label of `To:'.
.PP
.RS 5
.nf
.RE
.PP
.I str
-is cleared, and the \*(lqTo:\*(rq and \*(lqCc:\*(rq headers, along with the user's
+is cleared, and the `To:' and `Cc:' headers, along with the user's
address (depending on what was specified with
-the \*(lq\-cc\*(rq switch to \fIrepl\fR\^) are formatted.
+the `\-cc' switch to \fIrepl\fR\^) are formatted.
.PP
.RS 5
.nf
.RE
.PP
If the result is non-null, it is printed as above with a
-leading label of \*(lqCc:\*(rq.
+leading label of `Cc:'.
.PP
.RS 5
.nf
.fi
.RE
.PP
-If a message-id component was present, an \*(lqIn-Reply-To:\*(rq header is
-output including the message-id, followed by a \*(lqReferences:\*(rq
+If a message-id component was present, an `In-Reply-To:' header is
+output including the message-id, followed by a `References:'
header with references, if present, and the message-id.
As with all
plain-text, the row of dashes are output as-is.
.nf
.ta .5i 1i 1.5i 2i
if (comp_exists(message-id)) then
- print (\*(lqIn-reply-to: \*(rq)
+ print (`In-reply-to: ')
print (message-id.value)
- print (\*(lq\\n\*(rq)
+ print (`\\n')
endif
if (comp_exists(message-id)) then
- print (\*(lqReferences: \*(rq)
+ print (`References: ')
if (comp_exists(references)) then
print(references.value);
endif
print (message-id.value)
- print (\*(lq\\n\*(rq)
+ print (`\\n')
endif
.fi
.RE
will read from that maildrop
and incorporate the new messages found there into the user's own
mail folders (typically
-.RI \*(lq +inbox \*(rq).
+.RI ` +inbox ').
.PP
Messages are expected to consist of lines of text. Graphics and binary
data are not directly handled. No data compression is accepted. All text is
clear ASCII 7-bit data.
.PP
-The general \*(lqmemo\*(rq framework of RFC\-822 is used. A message
+The general `memo' framework of RFC\-822 is used. A message
consists of a block of information in a rigid format, followed by
general text with no specified format. The rigidly formatted first
part of a message is called the header, and the free-format portion is
(as identified by their keywords) must follow rigidly defined formats
in their text portions.
.PP
-The text for most formatted components (e.g., \*(lqDate:\*(rq and
-\*(lqMessage\-Id:\*(rq) is produced automatically. The only ones entered
-by the user are address fields such as \*(lqTo:\*(rq, \*(lqCc:\*(rq,
+The text for most formatted components (e.g., `Date:' and
+`Message\-Id:') is produced automatically. The only ones entered
+by the user are address fields such as `To:', `Cc:',
etc. Internet addresses are assigned mailbox names and host computer
-specifications. The rough format is \*(lqlocal@domain\*(rq, such as
-\*(lqbob@example.org\*(rq. Multiple addresses
+specifications. The rough format is `local@domain', such as
+`bob@example.org'. Multiple addresses
are separated by commas. A missing host/domain is assumed to be the
local host/domain.
.PP
Added by
.BR spost .
Contains the address of the author or authors
-(may be more than one if a \*(lqSender:\*(rq field is present). For a
+(may be more than one if a `Sender:' field is present). For a
standard reply (using
.BR repl ,
the reply address is constructed by
-checking the following headers (in this order): \*(lqMail-Reply\-To:\*(rq,
-\*(lqReply\-To:\*(rq, \*(lqFrom:\*(rq, \*(lqSender:\*(rq.
+checking the following headers (in this order): `Mail-Reply\-To:',
+`Reply\-To:', `From:', `Sender:'.
.RE
.PP
.BR Mail\-Reply\-To :
.BR repl ),
the reply address is
constructed by checking the following headers (in this order):
-\*(lqMail-Reply\-To:\*(rq, \*(lqReply\-To:\*(rq, \*(lqFrom:\*(rq,
-\*(lqSender:\*(rq.
+`Mail-Reply\-To:', `Reply\-To:', `From:',
+`Sender:'.
.RE
.PP
.BR Mail\-Followup\-To :
.RS 5
-When making a \*(lqgroup\*(rq reply (using
+When making a `group' reply (using
.B repl
.BR \-group ),
any addresses in this field will take precedence, and no other reply address
will be added to the draft. If this header is not available, then the
-return addresses will be constructed from the \*(lqMail-Reply\-To:\*(rq,
-or \*(lqReply\-To:\*(rq, or \*(lqFrom:\*(rq, along with adding the
-addresses from the headers \*(lqTo:\*(rq, \*(lqCc:\*(rq, as well as
+return addresses will be constructed from the `Mail-Reply\-To:',
+or `Reply\-To:', or `From:', along with adding the
+addresses from the headers `To:', `Cc:', as well as
adding your personal address.
.RE
.PP
.BR repl ),
the reply address is
constructed by checking the following headers (in this order):
-\*(lqMail-Reply\-To:\*(rq, \*(lqReply\-To:\*(rq, \*(lqFrom:\*(rq,
-\*(lqSender:\*(rq.
+`Mail-Reply\-To:', `Reply\-To:', `From:',
+`Sender:'.
.RE
.PP
.BR Sender :
Added by
.B spost
in the event that the message already has a
-\*(lqFrom:\*(rq line. This line contains the address of the actual
+`From:' line. This line contains the address of the actual
sender.
.RE
.PP
.PP
.BR Bcc :
.RS 5
-Still more recipients. However, the \*(lqBcc:\*(rq line is not
+Still more recipients. However, the `Bcc:' line is not
copied onto the message as delivered, so these recipients are not
listed.
.B mmh
.PP
.BR Resent\-Cc :
.RS 5
-Still more recipients. See \*(lqCc:\*(rq and \*(lqResent\-To:\*(rq.
+Still more recipients. See `Cc:' and `Resent\-To:'.
.RE
.PP
.BR Resent\-Bcc :
.RS 5
-Even more recipients. See \*(lqBcc:\*(rq and \*(lqResent\-To:\*(rq.
+Even more recipients. See `Bcc:' and `Resent\-To:'.
.RE
.PP
.BR Resent\-Fcc :
.RS 5
Copy resent message into a folder.
-See \*(lqFcc:\*(rq and \*(lqResent\-To:\*(rq.
+See `Fcc:' and `Resent\-To:'.
.RE
.PP
.BR Resent\-Message\-Id :
.RS 5
A unique identifier glued on by the MTA.
-See \*(lqMessage\-Id:\*(rq and \*(lqResent\-To:\*(rq.
+See `Message\-Id:' and `Resent\-To:'.
.RE
.PP
The following non-standard header components are also meaningful to
.BR Path :
Mail
.RS 5
-Sets the user's mail storage to \*(lqMail\*(rq. This is the
+Sets the user's mail storage to `Mail'. This is the
only mandatory profile entry. (profile, no default)
.RE
.PP
inbox
.RS 5
Keeps track of the current open folder.
-(context, default: folder specified by \*(lqInbox\*(rq)
+(context, default: folder specified by `Inbox')
.RE
.PP
.BR Inbox :
\&!
.RS 5
Defines the string which, when prefixed to a sequence name, negates
-that sequence. Hence, \*(lq!foo\*(rq means all those messages that
-are not a member of the sequence \*(lqfoo\*(rq.
+that sequence. Hence, `!foo' means all those messages that
+are not a member of the sequence `foo'.
To deactivate this mechanism, define Sequence\-Negation to an empty value.
Read the
.BR mh\-sequence (7)
.BI atr\- seq \- folder :
172\0178\-181\0212
.RS 5
-Keeps track of the private sequence called \*(lqseq\*(rq in the specified
+Keeps track of the private sequence called `seq' in the specified
folder. Private sequences are generally used for read\-only folders.
See the
.BR mh\-sequence (7)
.RS 5
Sets default switches to be used whenever the mmh program
.I program
-is invoked. For example, one could override the \*(lqEditor:\*(rq profile
+is invoked. For example, one could override the `Editor:' profile
component when replying to messages by adding a component such as:
.PP
.RS 5
.IB lasteditor "-next:"
.I nexteditor
.RS 5
-Names \*(lqnexteditor\*(rq to be the default editor after using
-\*(lqlasteditor\*(rq. This takes effect at \*(lqWhat now?\*(rq prompt
+Names `nexteditor' to be the default editor after using
+`lasteditor'. This takes effect at `What now?' prompt
in
.BR comp ,
.BR dist ,
and
.BR repl .
After editing
-the draft with \*(lqlasteditor\*(rq, the default editor is set to be
-\*(lqnexteditor\*(rq. If the user types \*(lqedit\*(rq without any
-arguments to \*(lqWhat now?\*(rq, then \*(lqnexteditor\*(rq is used.
+the draft with `lasteditor', the default editor is set to be
+`nexteditor'. If the user types `edit' without any
+arguments to `What now?', then `nexteditor' is used.
(profile, no default)
.RE
.PP
scan
knows if the message really originated from you.
Addresses must be separated by a comma, and the hostnames listed should
-be the \*(lqofficial\*(rq hostnames for the mailboxes you indicate, as
+be the `official' hostnames for the mailboxes you indicate, as
local nicknames for hosts are not replaced with their official site names.
For each address, if a host is not given, then that address on any host is
considered to be you. In addition, an asterisk (`*') may appear at either
.BR $SIGNATURE .
If
.B $SIGNATURE
-is not set and this profile entry is not present, the \*(lqgcos\*(rq field of
+is not set and this profile entry is not present, the `gcos' field of
the \fI/etc/passwd\fP file will be used.
Your signature will be added to the address
.B send
-puts in the \*(lqFrom:\*(rq header; do not include an address in the
+puts in the `From:' header; do not include an address in the
signature text. (profile, no default)
.RE
.B list
and
.B display
-directive at the \*(lqWhat now?\*(rq prompt.
+directive at the `What now?' prompt.
The absolute pathname of the message to list will be appended to
the command line given.
.RE
presence of certain environment variables.
.PP
Many of these environment variables are used internally by the
-\*(lqWhat now?\*(rq interface. It's amazing all the information
+`What now?' interface. It's amazing all the information
that has to get passed via environment variables to make the
-\*(lqWhat now?\*(rq interface look squeaky clean to the
+`What now?' interface look squeaky clean to the
.B mmh
user, isn't it? The reason for all this is that the
.B mmh
.RS 5
This variable tells
.B inc
-the default maildrop. This supersedes the \*(lqMailDrop\*(rq profile entry.
+the default maildrop. This supersedes the `MailDrop' profile entry.
.RE
.PP
.B $SIGNATURE
.B send
and
.B post
-your mail signature. This supersedes the \*(lqSignature\*(rq profile entry.
+your mail signature. This supersedes the `Signature' profile entry.
.RE
.PP
.B $HOME
.B repl
during edit sessions so you can peruse the message being distributed or
replied to. The message is also available through a link called
-\*(lq@\*(rq (if not changed by
+`@' (if not changed by
.BR altmsg-link )
in the current directory if your current working directory
and the message's folder are on the same UNIX filesystem.
.B repl
to tell the
.I whatnowproc
-which file to ask \*(lqWhat now?\*(rq
+which file to ask `What now?'
questions about.
.RE
.PP
update. Changes in context are made to the
.I $HOME/.mmh/context
file.
-This includes, but is not limited to: the \*(lqCurrent\-Folder\*(rq entry
+This includes, but is not limited to: the `Current\-Folder' entry
and all private sequence information. Public sequence information is
-kept in each folder in the file determined by the \*(lqMh\-Sequences\*(rq
+kept in each folder in the file determined by the `Mh\-Sequences'
profile entry (default is
.IR \&.mh_sequences ).
.PP
The profile may override the path of the
.I context
-file, by specifying a \*(lqContext\*(rq entry.
+file, by specifying a `Context' entry.
As a result, you can actually have more than one set of
private sequences by using different context files.
commands accept a `msg' or `msgs' specification, where
`msg' indicates one message and `msgs' indicates one or more messages.
To designate a message, you may use either its number (e.g., 1, 10, 234)
-or one of these \*(lqreserved\*(rq message names:
+or one of these `reserved' message names:
.PP
.RS 5
.nf
first the first message in the folder
last the last message in the folder
cur the most recently accessed message
-prev the message numerically preceding \*(lqcur\*(rq
-next the message numerically following \*(lqcur\*(rq
+prev the message numerically preceding `cur'
+next the message numerically following `cur'
.fi
.RE
.PP
-In commands that take a `msg' argument, the default is \*(lqcur\*(rq.
-As a shorthand, \*(lq\&.\*(rq is equivalent to \*(lqcur\*(rq.
+In commands that take a `msg' argument, the default is `cur'.
+As a shorthand, `\&.' is equivalent to `cur'.
.PP
For example: In a folder containing five messages numbered 5, 10, 94, 177
-and 325, \*(lqfirst\*(rq is 5 and \*(lqlast\*(rq is 325. If \*(lqcur\*(rq
-is 94, then \*(lqprev\*(rq is 10 and \*(lqnext\*(rq is 177.
+and 325, `first' is 5 and `last' is 325. If `cur'
+is 94, then `prev' is 10 and `next' is 177.
.PP
The word `msgs' indicates that one or more messages may be specified.
Such a specification consists of one message designation or of several
message designations separated by spaces. A message designation consists
either of a message name as defined above, or a message range.
.PP
-A message range is specified as \*(lqname1\-name2\*(rq or
-\*(lqname:n\*(rq, where `name', `name1' and `name2' are message names,
+A message range is specified as `name1\-name2' or
+`name:n', where `name', `name1' and `name2' are message names,
and `n' is an integer.
.PP
-The specification \*(lqname1\-name2\*(rq designates all currently existing
-messages from `name1' to `name2' inclusive. The \*(lqreserved\*(rq
-message name \*(lqall\*(rq is a shorthand for the message range
-\*(lqfirst\-last\*(rq.
+The specification `name1\-name2' designates all currently existing
+messages from `name1' to `name2' inclusive. The `reserved'
+message name `all' is a shorthand for the message range
+`first\-last'.
.PP
-The specification \*(lqname:n\*(rq designates up to `n' messages.
+The specification `name:n' designates up to `n' messages.
These messages start with `name' if `name' is a message number or one of
-the reserved names \*(lqfirst\*(rq \*(lqcur\*(rq, or \*(lqnext\*(rq, The
-messages end with `name' if `name' is \*(lqprev\*(rq or \*(lqlast\*(rq.
+the reserved names `first' `cur', or `next', The
+messages end with `name' if `name' is `prev' or `last'.
The interpretation of `n' may be overridden by preceding `n' with a
plus or minus sign; `+n' always means up to `n' messages starting with
`name', and `\-n' always means up to `n' messages ending with `name'.
.PP
In commands which accept a `msgs' argument, the default is either
-\*(lqcur\*(rq or \*(lqall\*(rq, depending on which makes more sense
+`cur' or `all', depending on which makes more sense
for each command (see the individual man pages for details). Repeated
specifications of the same message have the same effect as a single
specification of the message.
.PP
-There is also a special \*(lqreserved\*(rq message name \*(lqnew\*(rq
+There is also a special `reserved' message name `new'
which is used by the
.B mhpath
command.
.SS "User\-Defined Message Sequences"
-In addition to the \*(lqreserved\*(rq (pre-defined) message names given
+In addition to the `reserved' (pre-defined) message names given
above,
.B nmh
supports user-defined sequence names. User-defined
.PP
The name used to denote a message sequence must consist of an alphabetic
character followed by zero or more alphanumeric characters, and can not
-be one of the \*(lqreserved\*(rq message names above. After defining a
+be one of the `reserved' message names above. After defining a
sequence, it can be used wherever an
.B nmh
command expects a `msg' or
`msgs' argument.
.PP
Some forms of message ranges are allowed with user-defined sequences.
-The specification \*(lqname:n\*(rq may be used, and it designates up
+The specification `name:n' may be used, and it designates up
to the first `n' messages (or last `n' messages for `\-n') which are
elements of the user-defined sequence `name'.
.PP
-The specifications \*(lqname:next\*(rq and \*(lqname:prev\*(rq may also
+The specifications `name:next' and `name:prev' may also
be used, and they designate the next or previous message (relative to the
current message) which is an element of the user-defined sequence `name'.
-The specifications \*(lqname:first\*(rq and \*(lqname:last\*(rq are
-equivalent to \*(lqname:1\*(rq and \*(lqname:\-1\*(rq, respectively. The
-specification \*(lqname:cur\*(rq is not allowed (use just \*(lqcur\*(rq
+The specifications `name:first' and `name:last' are
+equivalent to `name:1' and `name:\-1', respectively. The
+specification `name:cur' is not allowed (use just `cur'
instead). The syntax of these message range specifications is subject
to change in the future.
.PP
public and private. Public sequences of a folder are accessible to any
.B nmh
user that can read that folder. They are kept in each folder
-in the file determined by the \*(lqMh\-Sequences\*(rq profile entry
+in the file determined by the `Mh\-Sequences' profile entry
(default is
.IR \&.mh_sequences ).
Private sequences are accessible
and
.BR \-private .
But if the folder is read\-only, or if
-the \*(lqMh\-Sequences\*(rq profile entry is defined but empty, then
+the `Mh\-Sequences' profile entry is defined but empty, then
\fIprivate\fR sequences will be created instead.
.SS "Sequence Negation"
messages not elements of the specified sequence name.
The default negation prefix is the exlamation mark `!',
but it may be change to any string, by defining the entry
-\*(lqSequence\-Negation\*(rq in the
+`Sequence\-Negation' in the
.B nmh
profile file.
For example, if the profile entry is:
.PP
then anytime an
.B nmh
-command is given \*(lqnotfoo\*(rq as a `msg' or
+command is given `notfoo' as a `msg' or
`msgs' argument, it would substitute all messages that are not elements
-of the sequence \*(lqfoo\*(rq.
+of the sequence `foo'.
.PP
Obviously, the user should beware of defining sequences with names that
-begin with the value of the \*(lqSequence\-Negation\*(rq profile entry.
+begin with the value of the `Sequence\-Negation' profile entry.
The default value `!' was chosen due to its similar meaning in the C
programming language, and because it cannot be part of a user-defined
sequence. But if your shell provides history expansion,
provides the ability to remember the `msgs' or `msg' argument
last given to an
.B nmh
-command. The entry \*(lqPrevious\-Sequence\*(rq
+command. The entry `Previous\-Sequence'
should be defined in the
.B nmh
profile; its value should be a sequence
directs any
.B nmh
command that accepts a `msg' or `msgs' argument to
-define the sequence \*(lqpseq\*(rq as those messages when it finishes.
+define the sequence `pseq' as those messages when it finishes.
.PP
.BR Note :
there can be a performance penalty in using the
-\*(lqPrevious\-Sequence\*(rq facility. If it is used,
+`Previous\-Sequence' facility. If it is used,
.B all
.B nmh
programs have to write the sequence information to the
.I \&.mh_sequences
file for the folder each time they run. If the
-\*(lqPrevious\-Sequence\*(rq profile entry is not included, only
+`Previous\-Sequence' profile entry is not included, only
.B pick
and
.B mark
the unseen sequence.
.PP
The default unseen sequence is named `u'.
-To change, define a \*(lqUnseen\-Sequence\*(rq entry in your profile.
+To change, define a `Unseen\-Sequence' entry in your profile.
It may also contain multiple sequence names, separated by spaces.
In this case, anything that applied to a single unseen sequence,
applies to multiple ones, too.
.PP
The unseen sequence mechanism is automatically activated.
-To deactivate it, define the \*(lqUnseen\-Sequence\*(rq entry
+To deactivate it, define the `Unseen\-Sequence' entry
in your profile with an empty value.
local copy of
.BR sendmail .
.PP
-When a user explicitly specifies a \*(lqFrom:\*(rq header in a draft,
+When a user explicitly specifies a `From:' header in a draft,
.B nmh
uses it
rather than constructing its own. However, to discourage email forgery, the
-SMTP envelope \*(lqFrom:\*(rq and a \*(lqSender:\*(rq header are set to the user's real address.
+SMTP envelope `From:' and a `Sender:' header are set to the user's real address.
.RE
.SS "File Locking"
A few words on locking:
.PP
To configure
.B nmh
-for kernel locking, use the \*(lq--with-locking=flock\*(rq configure option if
+for kernel locking, use the `--with-locking=flock' configure option if
you want to use the
.B flock
-system call; use \*(lq--with-locking=lockf\*(rq if
+system call; use `--with-locking=lockf' if
you want to use the
.B lockf
-system call; or use \*(lq--with-locking=fcntl\*(rq
+system call; or use `--with-locking=fcntl'
if you want to use the
.B fcntl
system call for kernel-level locking.
.PP
Instead of kernel locking, you can configure
.B nmh
-to use dot locking by using \*(lq--with-locking=dot\*(rq. Dot locking
+to use dot locking by using `--with-locking=dot'. Dot locking
specifies that
-a file should be created whose existence means \*(lqlocked\*(rq and
-whose non-existence means \*(lqunlocked\*(rq. The name of this file is
-constructed by appending \*(lq.lock\*(rq to the name of the file being
+a file should be created whose existence means `locked' and
+whose non-existence means `unlocked'. The name of this file is
+constructed by appending `.lock' to the name of the file being
locked. If
.B LOCKDIR
is not specified, lock files will be created
message bodies, and does not support the encoding of message headers as
specified in RFC\-2047.
.PP
-If you specify the name of the composition file as \*(lq-\*(rq,
+If you specify the name of the composition file as `-',
then
.B mhbuild
will accept the composition draft on the standard
composition file, and the translation is successful,
.B mhbuild
will replace the original file with the new MIME message. It will rename
-the original file to start with the \*(lq,\*(rq character and end with the
-string \*(lq.orig\*(rq, e.g., if you are editing the file \*(lqdraft\*(rq,
-it will be renamed to \*(lq,draft.orig\*(rq. This allows you to easily
+the original file to start with the `,' character and end with the
+string `.orig', e.g., if you are editing the file `draft',
+it will be renamed to `,draft.orig'. This allows you to easily
recover the
.B mhbuild
input file.
.B mhbuild
will convert an
.B mhbuild
-\*(lqcomposition file\*(rq
+`composition file'
into a valid MIME message. A
.B mhbuild
-\*(lqcomposition file\*(rq
+`composition file'
is just a file containing plain text that is interspersed
with various
.B mhbuild
composition file is defined at the
end of this document, but the ideas behind this format are not complex.
Basically, the body contains one or more contents. A content consists of
-either a directive, indicated with a \*(lq#\*(rq as the first character
+either a directive, indicated with a `#' as the first character
of a line; or, plaintext (one or more lines of text). The continuation
-character, \*(lq\\\*(lq, may be used to enter a single directive on more
+character, `\\`, may be used to enter a single directive on more
than one line, e.g.,
.PP
.RS 5
.RE
.PP
There are three kinds of directives:
-\*(lqtype\*(rq,
-\*(lqmessage\*(rq (#forw),
-and \*(lqbegin\*(rq (#begin).
+`type',
+`message' (#forw),
+and `begin' (#begin).
.PP
-.B "(1) The \*(lqtype\*(rq directive
+.B "(1) The `type' directive
is used to directly specify the type and
subtype of a content. You may only specify discrete types in this manner
(can't specify the types multipart or message with this directive).
You may optionally specify the name of a file containing the contents
-in \*(lqnative\*(rq (decoded) format. If this filename starts with the
-\*(lq|\*(rq character, then it represents a command to execute whose
+in `native' (decoded) format. If this filename starts with the
+`|' character, then it represents a command to execute whose
output is captured accordingly.
For example,
.PP
environment variable, instead of directly in your
user profile.
.PP
-.B "(2) The \*(lqmessage\*(rq directive (#forw)
+.B "(2) The `message' directive (#forw)
is used to specify a message or
group of messages to include. You may optionally specify the name of
the folder and which messages are to be forwarded. If a folder is not
.RE
.PP
If you include a single message, it will be included directly as a content
-of type \*(lqmessage/rfc822\*(rq. If you include more than one message,
+of type `message/rfc822'. If you include more than one message,
then
.B mhbuild
-will add a content of type \*(lqmultipart/digest\*(rq
+will add a content of type `multipart/digest'
and include each message as a subpart of this content.
.PP
-.B "(3) The \*(lqbegin\*(rq directive
+.B "(3) The `begin' directive
is used to create a multipart content.
-When using the \*(lqbegin\*(rq directive, you must specify at least one
+When using the `begin' directive, you must specify at least one
content between the begin and end pairs.
.PP
.RS 5
.B mhbuild
will
automatically encapsulate them inside a multipart content. Therefore the
-\*(lqbegin\*(rq directive is only necessary if you wish to use nested
+`begin' directive is only necessary if you wish to use nested
multiparts, or create a multipart message containing only one part.
.PP
For all of these directives, the user may include a brief description
-of the content between the \*(lq[\*(rq character and the \*(lq]\*(rq
+of the content between the `[' character and the `]'
character. This description will be copied into the
-\*(lqContent-Description\*(rq header when the directive is processed.
+`Content-Description' header when the directive is processed.
.PP
.RS 5
.nf
.RE
.PP
Similarly, a disposition string may optionally be provided between
-\*(lq{\*(rq and \*(lq}\*(rq characters; it will be copied into the
-\*(lqContent-Disposition\*(rq header when the directive is processed.
+`{' and `}' characters; it will be copied into the
+`Content-Disposition' header when the directive is processed.
If a disposition string is provided that does not contain a filename
parameter, and a filename is provided in the directive, it will be
-added to the \*(lqContent-Disposition\*(rq header. For example, the
+added to the `Content-Disposition' header. For example, the
following directive:
.PP
.RS 5
.PP
By default,
.B mhbuild
-will generate a unique \*(lqContent-ID:\*(rq for each directive,
+will generate a unique `Content-ID:' for each directive,
corresponding to each message part; however, the user may override
-this by defining the ID using the \*(lq<\*(rq and \*(lq>\*(rq
+this by defining the ID using the `<' and `>'
characters.
.PP
In addition to the various directives, plaintext can be present.
Plaintext is gathered, until a directive is found or the draft is
exhausted, and this is made to form a text content. If the plaintext
-must contain a \*(lq#\*(rq at the beginning of a line, simply double it,
+must contain a `#' at the beginning of a line, simply double it,
e.g.,
.PP
.RS 5
.PP
If you want to end the plaintext prior to a directive, e.g., to have two
plaintext contents adjacent, simply insert a line containing a single
-\*(lq#\*(rq character, e.g.,
+`#' character, e.g.,
.PP
.RS 5
.nf
your text.
.PP
By default, plaintext is captured as a text/plain content. You can
-override this by starting the plaintext with \*(lq#<\*(rq followed by
+override this by starting the plaintext with `#<' followed by
a content-type specification. For example, e.g.,
.PP
.RS 5
.fi
.RE
.PP
-Note that if you use the \*(lq#<\*(rq plaintext-form, then the
+Note that if you use the `#<' plaintext-form, then the
content-description must be on the same line which identifies the content
type of the plaintext.
.PP
When composing a text content, you may indicate the relevant character
-set by adding the \*(lqcharset\*(rq parameter to the directive.
+set by adding the `charset' parameter to the directive.
.PP
.RS 5
#<text/plain; charset=iso-8859-5
.B mhbuild
will assume the character set is of the type given by the
environment variable MM_CHARSET. If this environment variable is not
-set, then the character set will be labeled as \*(lqx-unknown\*(rq.
+set, then the character set will be labeled as `x-unknown'.
.PP
If a text content contains only 7\-bit characters and the character set
is not specified as above, then the character set will be labeled as
-\*(lqus-ascii\*(rq.
+`us-ascii'.
.PP
Putting this all together,
here is an example of a more complicated message draft. The
.SS "Syntax of Composition Files"
The following is the formal syntax of a
.B mhbuild
-\*(lqcomposition file\*(rq.
+`composition file'.
.PP
.RS 5
.nf
The default format file used by
.B mhl
is called
-.RI \*(lq mhl.format \*(rq.
+.RI ` mhl.format '.
.B mhl
will first search for this file in the user's
.B mmh
The format file can contain information controlling
screen size, wrap\-around control, transparent text, component ordering,
and component formatting. Also, a list of components to ignore may be
-specified, and a couple of \*(lqspecial\*(rq components are defined
+specified, and a couple of `special' components are defined
to provide added functionality. Message output will be in the order
specified by the order in the format file.
.PP
.IP \(bu 4
A line containing only a `:' produces a blank line in the output.
.IP \(bu 4
-A line beginning with \*(lqcomponent:\*(rq defines the format for the specified
+A line beginning with `component:' defines the format for the specified
component,
.IP \(bu 4
Remaining lines define the global environment.
.PP
defines the screen size to be 80 columns by 40 rows, specifies that the
overflow indentation
-is 5, and that overflow text should be flagged with \*(lq***\*(rq.
+is 5, and that overflow text should be flagged with `***'.
.PP
Following are all of the current variables and their arguments. If they
follow a component, they apply only to that component, otherwise, their
.I "variable type semantics
width integer screen width or component width
length integer component length
-offset integer positions to indent \*(lqcomponent: \*(rq
+offset integer positions to indent `component: '
overflowtext string text to use at the beginning of an
overflow line
overflowoffset integer positions to indent overflow lines
uppercase flag output text of this component in all
upper case
nouppercase flag don't uppercase
-component string/L name to use instead of \*(lqcomponent\*(rq for
+component string/L name to use instead of `component' for
this component
-nocomponent flag don't output \*(lqcomponent: \*(rq for this
+nocomponent flag don't output `component: ' for this
component
center flag center component on line (works for
one\-line components only)
follow their name with an equals\-sign and the value. Integer\-valued
variables are given decimal values, while string\-valued variables
are given arbitrary text bracketed by double\-quotes. If a value is
-suffixed by \*(lq/G\*(rq or \*(lq/L\*(rq, then its value is useful in
+suffixed by `/G' or `/L', then its value is useful in
a global\-only or local\-only context (respectively).
.PP
A line of the form:
.PP
specifies a list of components which are never output.
.PP
-The component \*(lqMessageName\*(rq (case\-insensitive) will output the
+The component `MessageName' (case\-insensitive) will output the
message file name as a one-line header, similar to
.BR show .
E.g. ``(Message 42)''
.PP
-The component \*(lqExtras\*(rq will output all of the components of the
+The component `Extras' will output all of the components of the
message which were not matched by explicit components, or included in
the ignore list. If this component is not specified, an ignore list is
not needed since all non\-specified components will be ignored.
.PP
-If \*(lqnocomponent\*(rq is NOT specified, then the component name will
+If `nocomponent' is NOT specified, then the component name will
be output as it appears in the format file.
.PP
The default format file is:
.fi
.RE
.PP
-The variable \*(lqformatfield\*(rq specifies a format string (see
+The variable `formatfield' specifies a format string (see
.BR mh\-format (5)).
-The flag variables \*(lqaddrfield\*(rq and
-\*(lqdatefield\*(rq (which are mutually exclusive), tell
+The flag variables `addrfield' and
+`datefield' (which are mutually exclusive), tell
.B mhl
to interpret the escapes in the format string as either addresses or
dates, respectively.
switch does only take file names, but no format strings with a prepended
equal sign `='.
.PP
-The \*(lqnonewline\*(rq option interacts badly with \*(lqcompress\*(rq
-and \*(lqsplit\*(rq.
+The `nonewline' option interacts badly with `compress'
+and `split'.
.PP
A one-line banner is displayed above the listing.
The size of the
-\*(lqnative\*(rq (decoded) format of each content is evaluated.
+`native' (decoded) format of each content is evaluated.
This provides an accurate count at the expense of a small delay.
If the
.B \-verbose
switch is present, then the listing will show
-any \*(lqextra\*(rq information that is present in the message,
-such as comments in the \*(lqContent-Type\*(rq header.
+any `extra' information that is present in the message,
+such as comments in the `Content-Type' header.
.PP
The option
.B \-file
.B mhlist
to use the specified
file as the source message, rather than a message from a folder.
-If you specify this file as \*(lq-\*(rq, then
+If you specify this file as `-', then
.B mhlist
will
accept the source message on the standard input. Note that the
switch will not prevent the content from being acted upon.
.PP
A content specification consists of a content type and a subtype.
-The initial list of \*(lqstandard\*(rq content types and subtypes can
+The initial list of `standard' content types and subtypes can
be found in RFC\-2046.
.PP
A list of commonly used contents is briefly reproduced here:
A legal MIME message must contain a subtype specification.
.PP
To specify a content, regardless of its subtype, just use the
-name of the content, e.g., \*(lqaudio\*(rq. To specify a specific
-subtype, separate the two with a slash, e.g., \*(lqaudio/basic\*(rq.
+name of the content, e.g., `audio'. To specify a specific
+subtype, separate the two with a slash, e.g., `audio/basic'.
Note that regardless of the values given to the
.B \-type
switch, a
.B \-subject
.I subject
switch can be used to specify the
-\*(lqSubject:\*(rq field of the message.
+`Subject:' field of the message.
.PP
By default,
.B mhmail
.B mhmail
will not send the message. You can use the switch
.B \-body
-\*(lq\*(rq to force an empty message.
+`' to force an empty message.
.PP
-Normally, addresses appearing as arguments are put in the \*(lqTo:\*(rq
+Normally, addresses appearing as arguments are put in the `To:'
field. If the
.B \-cc
switch is used, all addresses following it are
-placed in the \*(lqCc:\*(rq field.
+placed in the `Cc:' field.
.PP
By using
.B \-from
.IR addr ,
-you can specify the \*(lqFrom:\*(rq header of
+you can specify the `From:' header of
the draft. Naturally,
.B post
-will fill\-in the \*(lqSender:\*(rq
+will fill\-in the `Sender:'
header correctly.
.SH FILES
.B mhpath
outputs the current mail folder's pathname
instead. If the only argument is `+', your mail storage location
-(\*(lqPath\*(rq) is output; this can be useful in shell scripts.
+(`Path') is output; this can be useful in shell scripts.
.PP
Contrasted with other
.B nmh
may often be intended for writing. Because of this:
.PP
.IP 1) 4
-the name \*(lqnew\*(rq has been added to
+the name `new' has been added to
.BR mhpath 's
list of
-reserved message names (the others are \*(lqfirst\*(rq, \*(lqlast\*(rq,
-\*(lqprev\*(rq, \*(lqnext\*(rq, \*(lqcur\*(rq, and \*(lqall\*(rq).
+reserved message names (the others are `first', `last',
+`prev', `next', `cur', and `all').
The new message is equivalent to the message after the last message
in a folder (and equivalent to 1 in a folder without messages).
-The \*(lqnew\*(rq message may not be used as part of a message range.
+The `new' message may not be used as part of a message range.
.IP 2) 4
Within a message list, the following designations may refer to messages
that do not exist: a single numeric message name, the single message name
-\*(lqcur\*(rq, and (obviously) the single message name \*(lqnew\*(rq.
+`cur', and (obviously) the single message name `new'.
All other message designations must refer to at least one existing
message, if the folder contains messages.
.IP 3) 4
/r/phyl/Mail/foo/7
% mhpath last\-new
-bad message list \*(lqlast\-new\*(rq.
+bad message list `last\-new'.
% mhpath cur
/r/phyl/Mail/foo/4
% mhpath 1\-2
-no messages in range \*(lq1\-2\*(rq.
+no messages in range `1\-2'.
% mhpath first:2
/r/phyl/Mail/foo/3
.B mhstore
to use the specified
file as the source message, rather than a message from a folder.
-If you specify this file as \*(lq-\*(rq, then
+If you specify this file as `-', then
.B mhstore
will
accept the source message on the standard input. Note that the
the content from being acted upon.
.PP
A content specification consists of a content type and a subtype.
-The initial list of \*(lqstandard\*(rq content types and subtypes
+The initial list of `standard' content types and subtypes
can be found in RFC\-2046.
.PP
A list of commonly used contents is briefly reproduced here:
A legal MIME message must contain a subtype specification.
.PP
To specify a content, regardless of its subtype, just use the name
-of the content, e.g., \*(lqaudio\*(rq. To specify a specific
-subtype, separate the two with a slash, e.g., \*(lqaudio/basic\*(rq.
+of the content, e.g., `audio'. To specify a specific
+subtype, separate the two with a slash, e.g., `audio/basic'.
Note that regardless of the values given to the
.B \-type
switch,
The
.B mhstore
will store the contents of the named messages in
-\*(lqnative\*(rq (decoded) format. Two things must be determined:
+`native' (decoded) format. Two things must be determined:
the directory to store the content, and the filenames.
.PP
By default (or if the
.B mhstore
uses filename information, contained in the message, if available.
(This information should be specified
-as the attribute \*(lqname=filename\*(rq in the \*(lqContent-Type\*(rq header
+as the attribute `name=filename' in the `Content-Type' header
for the content you are storing.)
Only the basename of this filename is considered.
If it begins with the character '.', '|', or '!',
security reasons. (See below for the fall-back.)
.PP
Files are
-written in the directory given by the \*(lqnmh-storage\*(rq profile
+written in the directory given by the `nmh-storage' profile
entry, e.g.,
.PP
.RS 5
nmh-storage: /tmp
.RE
.PP
-(Note that \*(lqnmh-storage\*(rq is relative to the folder that contains
+(Note that `nmh-storage' is relative to the folder that contains
the message.)
If this entry isn't present,
the current working directory is used.
switch is given (or a filename is being ignored for security reasons) then
.B mhstore
will look in the user's profile for a
-\*(lqformatting string\*(rq to determine how the different contents
+`formatting string' to determine how the different contents
should be stored. First,
.B mhstore
will look for an entry of
.PP
to determine the formatting string.
.PP
-If the formatting string starts with a \*(lq+\*(rq character, then
+If the formatting string starts with a `+' character, then
content is stored in the named folder. A formatting string consisting
-solely of a \*(lq+\*(rq character is interpreted to be the current
+solely of a `+' character is interpreted to be the current
folder.
.PP
-If the formatting string consists solely of a \*(lq\-\*(rq character,
+If the formatting string consists solely of a `\-' character,
then the content is sent to the standard output.
.PP
If the formatting string starts with a '|', then the display string
Otherwise the formatting string will represent a pathname in which
to store the content. If the formatting string starts with a '/',
then the content will be stored in the full path given, else the
-file name will be relative to either the value of \*(lqnmh-storage\*(rq,
+file name will be relative to either the value of `nmh-storage',
if set, or the current working directory.
Existing files get silently overwritten.
.PP
will check to see if the content is a message. If
so,
.B mhstore
-will use the value \*(lq+\*(rq. As a last resort,
+will use the value `+'. As a last resort,
.B mhstore
-will use the value \*(lq%m%P.%s\*(rq.
+will use the value `%m%P.%s'.
.PP
Example profile entries might be:
.PP
.SS "Reassembling Messages of Type message/partial"
.B mhstore
is also able to reassemble messages that have been
-split into multiple messages of type \*(lqmessage/partial\*(rq.
+split into multiple messages of type `message/partial'.
.PP
When asked to store a content containing a partial message,
.B mhstore
.BR scan ,
.BR show ,
.BR repl ,
-\&...) also take one of the words: \*(lqfirst\*(rq,
-\*(lqprev\*(rq, \*(lqcur\*(rq, \*(lqnext\*(rq, or \*(lqlast\*(rq to indicate
+\&...) also take one of the words: `first',
+`prev', `cur', `next', or `last' to indicate
(respectively) the first, previous, current, next, or last message in
the current folder (assuming they are defined).
folders containing messages in the listed
.IR sequences
or in the sequences listed in the profile entry
-.RI \*(lq Unseen-Sequence \*(rq.
+.RI ` Unseen-Sequence '.
Each line contains the folder, the number of messages in the desired
sequences, and the message lists from the .mh_sequences file. For example:
.PP
.PP
.B packf
makes an mbox-style delimiter by examining the first line
-of the message. If the first line is a \*(lqReturn-Path\*(rq
+of the message. If the first line is a `Return-Path'
field, its address and the current date and time are used. Otherwise,
-if the first line has an \*(lqX-Envelope-From\*(rq field, its
+if the first line has an `X-Envelope-From' field, its
contents (which should already be in the correct format) are used.
Otherwise, a dummy address and the current date and time are used.
.PP
is a shorthand for specifying
.PP
.RS 5
-`\-search \*(lqcomponent[ \\t]*:\&.*pattern\*(rq\ '
+`\-search `component[ \\t]*:\&.*pattern'\ '
.RE
.PP
-It is used to pick a component which is not one of \*(lqTo:\*(rq,
-\*(lqCc:\*(rq, \*(lqDate:\*(rq, \*(lqFrom:\*(rq, or \*(lqSubject:\*(rq.
+It is used to pick a component which is not one of `To:',
+`Cc:', `Date:', `From:', or `Subject:'.
An example is
-.RB \*(lq "pick\0\-\|\-reply\-to\0pooh" \*(rq.
+.RB ` "pick\0\-\|\-reply\-to\0pooh" '.
.PP
Pattern matching is performed on a per\-line basis. Within the header
of the message, each component is treated as one long line, but in the
.B \-date
switch is a pattern matching operation (as
described above), to find messages sent on a certain date the pattern
-string must match the text of the \*(lqDate:\*(rq field of the message.
+string must match the text of the `Date:' field of the message.
.PP
Independent of any pattern matching operations requested, the switches
.B \-after
.B \-before
.I date
may also be used to introduce date/time
-constraints on all of the messages. By default, the \*(lqDate:\*(rq
+constraints on all of the messages. By default, the `Date:'
field is consulted, but if another date yielding field (such as
-\*(lqBB\-Posted:\*(rq or \*(lqDelivery\-Date:\*(rq) should be used, the
+`BB\-Posted:' or `Delivery\-Date:') should be used, the
.B \-datefield
.I field
switch may be used.
to the date/time specified. If
.B \-after
is given, then only those
-messages whose \*(lqDate:\*(rq field value is chronologically after the
+messages whose `Date:' field value is chronologically after the
date specified will be considered. The
.B \-before
switch specifies the
In addition to 822\-style dates,
.B pick
will also recognize any of
-the days of the week (\*(lqsunday\*(rq, \*(lqmonday\*(rq, and so on),
-and the special dates \*(lqtoday\*(rq, \*(lqyesterday\*(rq (24 hours
-ago), and \*(lqtomorrow\*(rq (24 hours from now). All days of the
+the days of the week (`sunday', `monday', and so on),
+and the special dates `today', `yesterday' (24 hours
+ago), and `tomorrow' (24 hours from now). All days of the
week are judged to refer to a day in the past (e.g., telling \fIpick\fR
-\*(lqsaturday\*(rq on a \*(lqtuesday\*(rq means \*(lqlast\ saturday\*(rq
-not \*(lqthis\ saturday\*(rq).
+`saturday' on a `tuesday' means `last\ saturday'
+not `this\ saturday').
.PP
Finally, in addition to these special specifications,
.B pick
will
-also honor a specification of the form \*(lq\-dd\*(rq, which means
-\*(lqdd days ago\*(rq.
+also honor a specification of the form `\-dd', which means
+`dd days ago'.
.PP
.B Pick
supports complex boolean operations on the searching primitives
.fi
.RE
.PP
-identifies messages recently sent by \*(lqfrieda\*(rq or \*(lqfear\*(rq.
+identifies messages recently sent by `frieda' or `fear'.
.PP
The matching primitives take precedence over the
.B \-not
parentheses in logical expressions.
.PP
If no search criteria are given, all the messages specified on the
-command line are selected (this defaults to \*(lqall\*(rq).
+command line are selected (this defaults to `all').
.PP
Once the search has been performed, if the
.B \-list
quickly generating arguments for other
.B nmh
programs by using the
-\*(lqbackquoting\*(rq syntax of the shell. For example, the command
+`backquoting' syntax of the shell. For example, the command
.PP
.RS 5
-scan\0`pick\0+todo\0\-after\0\*(lq31 Mar 83 0123 PST\*(rq`
+scan\0`pick\0+todo\0\-after\0`31 Mar 83 0123 PST'`
.RE
.PP
says to
.RE
.PP
defines a new message sequence for the current folder called
-\*(lqfred\*(rq which contains exactly those messages that were selected.
+`fred' which contains exactly those messages that were selected.
.PP
By default,
.B pick
or
.B refile
the selected messages. This was rather
-\*(lqinverted logic\*(rq from the UNIX point of view, so
+`inverted logic' from the UNIX point of view, so
.B pick
was changed to define sequences and output those sequences. Hence,
.B pick
.SH "HELPFUL HINTS"
Use
-.RB \*(lq "pick sequence \-list" \*(rq
+.RB ` "pick sequence \-list" '
to enumerate the messages in a sequence
(such as for use by a shell script).
and
.B pick
selects no messages (e.g., no messages are from
-\*(lqjones\*(rq), then the shell will still run the outer command (e.g.,
+`jones'), then the shell will still run the outer command (e.g.,
.BR scan ).
Since no messages were matched,
.B pick
.B nmh
programs,
the outer command now acts as if the default `msg' or `msgs' should be
-used (e.g., \*(lqall\*(rq in the case of
+used (e.g., `all' in the case of
.BR scan ).
To prevent this
unexpected behavior, if
.B \-list
was given, and if its standard output is not a tty, then
.B pick
-outputs the illegal message number \*(lq0\*(rq
+outputs the illegal message number `0'
when it fails. This lets the outer command fail gracefully as well.
.PP
-The pattern syntax \*(lq[l-r]\*(rq is not supported; each letter to be
+The pattern syntax `[l-r]' is not supported; each letter to be
matched must be included within the square brackets.
.B prompter as an editor, either when invoked with
.B \-editor
.IR prompter ,
-or by the profile entry \*(lqEditor:\ prompter\*(rq,
+or by the profile entry `Editor:\ prompter',
or when given the command
.B edit
.B prompter
-at the \*(lqWhat now?\*(rq prompt.
+at the `What now?' prompt.
.PP
For each empty component
.B prompter finds in the draft, the user
.B \-doteof
switch, a period on a line all by itself
also signifies end\-of\-file. At this point control is returned to
-the calling program, where the user is asked \*(lqWhat now?\*(rq.
+the calling program, where the user is asked `What now?'.
See
.B whatnow (1)
for the valid options to this query.
.IR chr ,
where
.I chr
-may be a character; or `\\nnn', where \*(lqnnn\*(rq is the octal value for
+may be a character; or `\\nnn', where `nnn' is the octal value for
the character.
.PP
An interrupt (usually CTRL\-C) during component typing will abort
.PP
The user may wish to link
.B prompter under several names (e.g.,
-\*(lqrapid\*(rq) and give appropriate switches in the profile entries
-under these names (e.g., \*(lqrapid: -rapid\*(rq). This facilitates
+`rapid') and give appropriate switches in the profile entries
+under these names (e.g., `rapid: -rapid'). This facilitates
invoking prompter differently for different
.B nmh
commands (e.g.,
-\*(lqforw: -editor rapid\*(rq).
+`forw: -editor rapid').
.SH BUGS
.B Prompter
.B rcvdist
command, the
format of the Resent-xxx header fields is controlled by the forms files
-.RI \*(lq rcvdistcomps \*(rq.
+.RI ` rcvdistcomps '.
If a file named
-.RI \*(lq rcvdistcomps \*(rq
+.RI ` rcvdistcomps '
exists in the user's mmh
directory, it will be used instead of the default one. You may specify
an alternate forms file with the switch
.IR formfile .
.PP
The
-.RI \*(lq rcvdistcomps \*(rq
+.RI ` rcvdistcomps '
file uses the format string facility described in
.BR mh\-format (5).
In addition to the standard format escapes,
If no folder is specified,
.B rcvstore
will use the folder given by a non\-empty
-\*(lqInbox:\*(rq entry in the user's profile, else it will use the folder
-named \*(lqinbox\*(rq.
+`Inbox:' entry in the user's profile, else it will use the folder
+named `inbox'.
.PP
If the switch
.B \-create
folder. It will not change the message in any
way.
.PP
-If the user's profile contains a \*(lqMsg\-Protect: nnn\*(rq entry, it
+If the user's profile contains a `Msg\-Protect: nnn' entry, it
will be used as the protection on the newly created message, otherwise
the
.B nmh
If the switch
.B \-unseen
is given (it is on by default), and if the
-profile entry \*(lqUnseen\-Sequence\*(rq is present and non\-empty, then
+profile entry `Unseen\-Sequence' is present and non\-empty, then
.B rcvstore
will add the newly incorporated message to each sequence
named by this profile entry. You may use the switch
.SH DEFAULTS
.nf
-.RB ` +folder "' defaults to \*(lqInbox\*(rq profile entry"
+.RB ` +folder "' defaults to `Inbox' profile entry"
.RB ` \-create '
.RB ` \-unseen '
.RB ` \-nozero '
sequence manipulation.
.SH BUGS
-If you use the \*(lqUnseen\-Sequence\*(rq profile entry,
+If you use the `Unseen\-Sequence' profile entry,
.B rcvstore
could try to update the context while another
.B nmh
corrupted. To avoid this, do not use
.B rcvstore
if you use the
-\*(lqUnseen\-Sequence\*(rq profile entry.
+`Unseen\-Sequence' profile entry.
a tty, then
.B refile
will not ask any questions and will proceed as if the user answered
-\*(lqyes\*(rq to all questions.
+`yes' to all questions.
.PP
The option
.B \-link
source folder will be set to the last message specified; otherwise, the
current message won't be changed.
.PP
-If the \*(lqPrevious\-Sequence\*(rq profile entry is set, in addition to defining
+If the `Previous\-Sequence' profile entry is set, in addition to defining
the named sequences from the source folder,
.B refile
will also define
.B \-nogroup
is given (it is on by default), then
.B repl
-will use the standard forms file \*(lqreplcomps\*(rq. This will construct
+will use the standard forms file `replcomps'. This will construct
a draft message that is intended to be sent only to the author of the
-message to which you are replying. If a file named \*(lqreplcomps\*(rq
+message to which you are replying. If a file named `replcomps'
exists in the user's
.B mmh
directory, it will be used instead of this
default forms file.
.PP
-The default reply template \*(lqreplcomps\*(rq will direct
+The default reply template `replcomps' will direct
.B repl
to construct the reply message draft as follows:
.PP
contents of the named field from the message to which the reply is
being made.
.PP
-By default, the \*(lqCc:\*(rq field is empty. You may selectively add
+By default, the `Cc:' field is empty. You may selectively add
addresses to this default with the
.B \-cc
.I type
argument (
.IR all / to / cc / me )
which specifies who gets added to the default
-\*(lqCc:\*(rq list of the reply. You may give this switch multiple times (with
+`Cc:' list of the reply. You may give this switch multiple times (with
different arguments) if you wish to add multiple types of addresses.
.PP
If the switch
is given, then
.B repl
will use the the
-standard forms file \*(lqreplgroupcomps\*(rq. This will construct a
+standard forms file `replgroupcomps'. This will construct a
draft message that is intended as a group or followup reply. If a file
-named \*(lqreplgroupcomps\*(rq exists in the user's mmh directory, it
+named `replgroupcomps' exists in the user's mmh directory, it
will be used instead of this default forms file.
.PP
-The default group reply template \*(lqreplgroupcomps\*(rq will direct
+The default group reply template `replgroupcomps' will direct
.B repl
to construct the reply message draft as follows:
.PP
.fi
.RE
.PP
-By default, the \*(lqCc:\*(rq contains all the addresses shown. You may
+By default, the `Cc:' contains all the addresses shown. You may
selectively remove addresses from this default with the
.B \-nocc
.I type
This switch takes an argument (
.IR all / to / cc / me )
which specifies who gets removed
-from the default \*(lqCc:\*(rq list of the reply. You may give this switch
+from the default `Cc:' list of the reply. You may give this switch
multiple times (with different arguments) if you wish to remove multiple types
of addresses.
.PP
.I type
switch by
interactively asking you if each address that normally would be placed in
-the \*(lqTo:\*(rq and \*(lqCc:\*(rq list should actually be sent a copy.
+the `To:' and `Cc:' list should actually be sent a copy.
This is useful for special\-purpose replies. Note that the position of
the
.B \-cc
switches, like all other switches which take a
positive and negative form, is important.
.PP
-Lines beginning with the fields \*(lqTo:\*(rq, \*(lqCc:\*(rq, and
-\*(rqBcc:\*(rq will be standardized and have duplicate addresses removed.
+Lines beginning with the fields `To:', `Cc:', and
+'Bcc:' will be standardized and have duplicate addresses removed.
In addition, these fields will be wrapped at a reasonable length.
.PP
See
for a description of the
.B \-editor
switch. Note that while in the editor, the message being replied
-to is available through a link named \*(lq@\*(rq (assuming the default
+to is available through a link named `@' (assuming the default
.IR whatnowproc ).
In addition, the actual pathname of the message is
stored in the environment variable
as quotation.
This should be adequate for most users.
This default filter
-.RI \*(lq mhl.reply \*(rq
+.RI ` mhl.reply '
is:
.PP
.RS 5
.RE
.PP
which outputs each line of the body of the message prefaced with the
-\*(lq>\*(rq character and a space.
+`>' character and a space.
If a file named
-.RI \*(lq mhl.reply \*(rq
+.RI ` mhl.reply '
exists in the user's
.B mmh
directory,
.RS 5
.nf
message-id:nocomponent,\|nonewline,\\
-formatfield=\*(lqIn message %{text},\ \*(rq
-from:nocomponent,\|formatfield=\*(lq%(decode(friendly{text})) writes:\*(rq
-body:component=\*(lq>\*(rq,\|overflowtext=\*(lq>\*(rq,\|overflowoffset=0
+formatfield=`In message %{text},\ '
+from:nocomponent,\|formatfield=`%(decode(friendly{text})) writes:'
+body:component=`>',\|overflowtext=`>',\|overflowoffset=0
.fi
.RE
.PP
This message filter file cites the Message-ID and author of the message
being replied\-to, and then outputs each line of the body prefaced with
-the \*(lq>\*(rq character.
+the `>' character.
.PP
If the switch
.B \-nofilter
.BR repl .
If the message is not sent immediately from
.BR repl ,
-.RB \*(lq "comp\ \-use" \*(rq
+.RB ` "comp\ \-use" '
may be used to re\-edit and send the constructed
message, but the annotations won't take place. Annotations are always
done inplace in order to preserve any links to the message.
^Draft\-Folder:~^To set the default draft\-folder
^Editor:~^To override the default editor
^Msg\-Protect:~^To set mode when creating a new message (draft)
-^whatnowproc:~^Program to ask the \*(lqWhat now?\*(rq questions
+^whatnowproc:~^Program to ask the `What now?' questions
.fi
.SH "SEE ALSO"
template, include the host portion of the address.
.PP
If your current working directory is not writable, the link named
-\*(lq@\*(rq is not available.
+`@' is not available.
.PP
The quotation of the original message does not get transfer-decoded, yet.
.B rmf
can't find the
current folder, for some reason, the folder to be removed defaults to
-`+inbox' (unless overridden by user's profile entry \*(lqInbox\*(rq)
+`+inbox' (unless overridden by user's profile entry `Inbox')
with confirmation.
.PP
If the folder being removed is a subfolder, the parent folder will become
s used on a read\-only folder, it will delete all the
(private) sequences
(i.e.,
-.RI \*(lqatr\- seq \- folder \*(rq
+.RI `atr\- seq \- folder '
entries) for this folder
from your context without affecting the folder itself.
.PP
.B Rmf
will set the current folder to the parent folder if a
subfolder is removed; or if the current folder is removed, it will make
-\*(lqinbox\*(rq current. Otherwise, it doesn't change the current folder
+`inbox' current. Otherwise, it doesn't change the current folder
or message.
.SH BUGS
folder or messages. Each
.B scan
line contains the message number
-(name), the date, the \*(lqFrom:\*(rq field and the \*(lqSubject\*(rq field.
+(name), the date, the `From:' field and the `Subject' field.
For example:
.PP
.RS 5
15+ 10/\|05 crocker nned
16\- 10/\|05 crocker message id format
18 10/\|06 brien Re: Exit status from mkdir
-19 10/\|07*brien \*(lqscan\*(rq listing format in nmh
+19 10/\|07*brien `scan' listing format in nmh
.fi
.RE
.PP
The `+' on message 15 indicates that it is the current message.
.PP
The `\-' on message 16 indicates that it has been replied to, as indicated
-by a \*(lqReplied:\*(rq component (produced by the
+by a `Replied:' component (produced by the
.B \-annotate
switch
to the
.B repl
command).
.PP
-The `*' on message 19 indicates that no \*(lqDate:\*(rq header was
+The `*' on message 19 indicates that no `Date:' header was
present. The time of last modification of the message is given instead.
.PP
.B Scan
produces a scan listing of the current folder,
followed by a formatted listing of all messages in the folder, one
per page. Omitting
-.RB \*(lq "\-showproc\ pr" \*(rq
+.RB ` "\-showproc\ pr" '
will cause the messages to be
concatenated, separated by a one\-line header and two blank lines.
.PP
.SH DESCRIPTION
.B Send
will cause each of the specified messages to be delivered
-to each of the destinations in the \*(lqTo:\*(rq, \*(lqCc:\*(rq,
-\*(lqBcc:\*(rq, \*(lqDcc:\*(rq, and \*(lqFcc:\*(rq fields of the message. If
+to each of the destinations in the `To:', `Cc:',
+`Bcc:', `Dcc:', and `Fcc:' fields of the message. If
.B send
is re\-distributing a message, as invoked from
.BR dist ,
then the
-corresponding \*(lqResent\-xxx\*(rq fields are examined instead.
+corresponding `Resent\-xxx' fields are examined instead.
.PP
.B send
uses the program
will abort with a
(hopefully) helpful error message.
.PP
-If a \*(lqBcc:\*(rq field is encountered, its addresses will be used for
-delivery, and the \*(lqBcc:\*(rq field will be removed from the message
+If a `Bcc:' field is encountered, its addresses will be used for
+delivery, and the `Bcc:' field will be removed from the message
sent to sighted recipients. The blind recipients will receive an entirely
new message with a minimal set of headers. Included in the body of the
message will be a copy of the message sent to the sighted recipients.
.PP
-If a \*(lqDcc:\*(rq field is encountered, its addresses will be used for
-delivery, and the \*(lqDcc:\*(rq field will be removed from the message. The
+If a `Dcc:' field is encountered, its addresses will be used for
+delivery, and the `Dcc:' field will be removed from the message. The
blind recipients will receive the same message sent to the sighted
-recipients. *WARNING* Recipients listed in the \*(lqDcc:\*(rq field receive no
-explicit indication that they have received a \*(lqblind copy\*(rq.
+recipients. *WARNING* Recipients listed in the `Dcc:' field receive no
+explicit indication that they have received a `blind copy'.
This can cause blind recipients to
inadvertently reply to all of the sighted recipients of the
original message, revealing that they received a blind copy.
On the other hand, since a normal reply to a message sent
-via a \*(lqBcc:\*(rq field
+via a `Bcc:' field
will generate a reply only to the sender of the original message,
it takes extra effort in most mailers to reply to the included
message, and so would usually only be done deliberately, rather
than by accident.
.PP
-Prior to sending the message, the fields \*(lqFrom:\ user@local\*(rq,
-and \*(lqDate:\ now\*(rq will be appended to the headers in the message.
+Prior to sending the message, the fields `From:\ user@local',
+and `Date:\ now' will be appended to the headers in the message.
If the environment variable
.B $SIGNATURE
is set, then its value
-is used as your personal name when constructing the \*(lqFrom:\*(rq
+is used as your personal name when constructing the `From:'
line of the message. If this environment variable is not set, then
.B send
-will consult the profile entry \*(lqSignature\*(rq for
+will consult the profile entry `Signature' for
this information.
.PP
If
.B send
is re\-distributing a message (when invoked by
.BR dist ),
-then \*(lqResent\-\*(rq will be prepended to each of these
-fields: \*(lqFrom:\*(rq, \*(lqDate:\*(rq, and \*(lqMessage\-ID:\*(rq.
-If the message already contains a \*(lqFrom:\*(rq field, then a
-\*(lqSender: user@local\*(rq field will be added as well. (An already
-existing \*(lqSender:\*(rq field is an error!)
+then `Resent\-' will be prepended to each of these
+fields: `From:', `Date:', and `Message\-ID:'.
+If the message already contains a `From:' field, then a
+`Sender: user@local' field will be added as well. (An already
+existing `Sender:' field is an error!)
.PP
-If an \*(lqFcc:\ folder\*(rq is encountered, the message will be copied
+If an `Fcc:\ folder' is encountered, the message will be copied
to the specified folder for the sender in the format in which it will
appear to any non\-Bcc receivers of the message. That is, it will have
-the appended fields and field reformatting. The \*(lqFcc:\*(rq fields
+the appended fields and field reformatting. The `Fcc:' fields
will be removed from all outgoing copies of the message.
.PP
-The files specified by the profile entry \*(lqAliasfile:\*(rq and any
+The files specified by the profile entry `Aliasfile:' and any
additional alias files given by the
.B \-alias
.I aliasfile
is used to send a collection
of files via electronic mail.
.B sendfiles
-will mail the files in one message with the given \*(lqsubject\*(rq
-to the \*(lqrecipient\*(rq.
+will mail the files in one message with the given `subject'
+to the `recipient'.
Take care not to generate too large messages, as there usually are
size limits enforced by the MTAs.
.PP
.B show
to use the specified file as
the source message, rather than a message from a folder. If you specify
-this file as \*(lq-\*(rq, then
+this file as `-', then
.B show
will accept the source message
on the standard input. Note that the file, or input from standard input
switch will not prevent the content from being acted upon.
.PP
A content specification consists of a content type and a subtype.
-The initial list of \*(lqstandard\*(rq content types and subtypes can
+The initial list of `standard' content types and subtypes can
be found in RFC\-2046.
.PP
A list of commonly used contents is briefly reproduced here:
A legal MIME message must contain a subtype specification.
.PP
To specify a content, regardless of its subtype, just use the
-name of the content, e.g., \*(lqaudio\*(rq. To specify a specific
-subtype, separate the two with a slash, e.g., \*(lqaudio/basic\*(rq.
+name of the content, e.g., `audio'. To specify a specific
+subtype, separate the two with a slash, e.g., `audio/basic'.
Note that regardless of the values given to the `\-type' switch, a
multipart content (of any subtype listed above) is always acted upon.
.SS "Unseen Sequence"
-If the profile entry \*(lqUnseen\-Sequence\*(rq is present and
+If the profile entry `Unseen\-Sequence' is present and
non\-empty, then
.B show
will remove each of the messages shown
.PP
Next, the contents are extracted from the message and are stored in
a temporary file. Usually, the name of the temporary file is the
-word \*(lqshow\*(rq followed by a string of characters. Occasionally,
+word `show' followed by a string of characters. Occasionally,
the method used to display a content (described next), requires that
the file end in a specific suffix. For example, the
.B soffice
the file. If no suffix is present, the file is not correctly loaded.
Similarily, older versions of the
.B gs
-command append a \*(lq.ps\*(rq suffix to
+command append a `.ps' suffix to
the filename if one was missing. As a result, these cannot be used to read
the default temporary file.
.PP
to automatically append a suffix to the temporary files.
.PP
The method used to display the different contents in the messages bodies
-will be determined by a \*(lqdisplay string\*(rq. To find the display
+will be determined by a `display string'. To find the display
string,
.B show
will first search your profile for an entry of the form:
.PP
If a display string is found, any escapes (given below) will be expanded.
The result will be executed under
-\*(lq/bin/sh\*(rq, with the standard input
+`/bin/sh', with the standard input
set to the content.
.PP
The display string may contain the following escapes:
Because a content of type text might be in a non-ASCII character
set, when
.B show
-encounters a \*(lqcharset\*(rq parameter for
+encounters a `charset' parameter for
this content, it checks if your terminal can display this character
set natively.
.B show
The message selection criteria used by
.B slocal is specified
in the file
-.RI \*(lq \&.maildelivery \*(rq
+.RI ` \&.maildelivery '
in the user's home directory.
You can specify an alternate file with the
.B \-maildelivery
Under
.BR sendmail ,
the sender will obtained from the mbox
-\*(lqFrom \*(rq line, if present. The user may override these
+`From ' line, if present. The user may override these
values with command line arguments, or arguments to the
.B \-addr
and
.B \-file
switch sets the name of the file from which the message should be
read, instead of reading stdin. This is useful when debugging a
-.RI \*(lq \&.maildelivery \*(rq
+.RI ` \&.maildelivery '
file.
.PP
The
switch produces more
verbose debugging output on stderr. These flags are useful when
creating and debugging your
-.RI \*(lq \&.maildelivery \*(rq
+.RI ` \&.maildelivery '
file, as they
allow you to see the decisions and actions that
.B slocal
is taking, as well as check for syntax errors in your
-.RI \*(lq \&.maildelivery \*(rq
+.RI ` \&.maildelivery '
file.
.SS "Message Transfer Agents"
You should include the line
.PP
.RS 5
-\*(lq|\ %bindir%/slocal\ \-user\ username\*(rq
+`|\ %bindir%/slocal\ \-user\ username'
.RE
.PP
in your \&.forward file in your home directory. This will cause
.SS "The Maildelivery File"
The
-.RI \*(lq \&.maildelivery \*(rq
+.RI ` \&.maildelivery '
file controls how
.B slocal
filters and delivers
with a backslash. Lines beginning with `#' and blank lines are ignored.
.PP
The format of each line in the
-.RI \*(lq \&.maildelivery \*(rq
+.RI ` \&.maildelivery '
file is:
.PP
.RS 5
.BR action :
.RS 5
The action to take to deliver the message. When a message is delivered,
-a \*(lqDelivery\-Date:\ date\*(rq header is added which indicates the date
+a `Delivery\-Date:\ date' header is added which indicates the date
and time that message was delivered.
.TP 4
.I destroy
the size of the message in bytes
.TP \w'zzreplyztozaaa'u
$(reply\-to)
-either the \*(lqReply\-To:\*(rq or \*(lqFrom:\*(rq field of the message
+either the `Reply\-To:' or `From:' field of the message
.TP \w'zzreplyztozaaa'u
$(info)
the out-of-band information specified
.SS "Security of Delivery Files"
In order to prevent security problems, the
-.RI \*(lq \&.maildelivery \*(rq
+.RI ` \&.maildelivery '
file must be owned either by the user or by root, and must be
writable only by the owner. If this is not the case, the file is
not read.
.PP
If the
-.RI \*(lq \&.maildelivery \*(rq
+.RI ` \&.maildelivery '
file cannot be found, or does not
perform an action which delivers the message, then
.B slocal
# FIELD PATTERN ACTION RESULT STRING
#
-# File mail with foobar in the \*(lqTo:\*(rq line into file foobar.log
+# File mail with foobar in the `To:' line into file foobar.log
To foobar file A foobar.log
# Pipe messages from coleman to the program message-archive
From coleman pipe A /bin/message-archive
-# Anything to the \*(lqnmh-workers\*(rq mailing list is put in
+# Anything to the `nmh-workers' mailing list is put in
# its own folder, if not filed already
To nmh-workers folder ? nmh-workers
facility provided by
.BR MMDF-II .
Thus, the
-.RI \*(lq \&.maildelivery \*(rq
+.RI ` \&.maildelivery '
file syntax is somewhat limited. But
.B slocal
has been modified and extended, so that is it no longer compatible with
value
.B RP_MECH
(200), which means
-\*(lquse an alternate route\*(rq (deliver the message to the maildrop).
+`use an alternate route' (deliver the message to the maildrop).
.PP
The `suppress duplicates' function had been removed from slocal for
simplicity reasons.
.SH DESCRIPTION
.B Sortm
sorts the specified messages in the named folder according
-to the chronological order of the \*(lqDate:\*(rq field of each message.
+to the chronological order of the `Date:' field of each message.
.PP
The
.B \-verbose
.B sortm
the name of the field to
use when making the date comparison. If the user has a special field in
-each message, such as \*(lqBB\-Posted:\*(rq or \*(lqDelivery\-Date:\*(rq,
+each message, such as `BB\-Posted:' or `Delivery\-Date:',
then the
.B \-datefield
switch can be used to direct
switch causes
.B sortm
to sort messages
-by the specified text field. If this field is \*(lqsubject\*(rq, any
+by the specified text field. If this field is `subject', any
leading "re:" is stripped off. In any case, all characters except
letters and numbers are stripped and the resulting strings are sorted
datefield\-major, textfield\-minor, using a case insensitive comparison.
(e.g., messages 1, 3, and 5, might have been renumbered to 1, 2, 3 after
sorting). This was a bug, and has been fixed. To compress the message
numbering in a folder, use
-.RB \*(lq "folder\ \-pack" \*(rq
+.RB ` "folder\ \-pack" '
as always.
.SH BUGS
Thus, it is
.B spost
which parses the various header fields, appends
-\*(lqFrom:\*(rq and \*(lqDate:\*(rq lines,
+`From:' and `Date:' lines,
and finally feeds the message to the MTA.
.B Spost
will not normally be called directly by the user.
.PP
.B Spost
-searches the \*(lqTo:\*(rq, \*(lqCc:\*(rq, \*(lqBcc:\*(rq,
-\*(lqFcc:\*(rq, and \*(lqResent\-xxx:\*(rq header lines of the specified
+searches the `To:', `Cc:', `Bcc:',
+`Fcc:', and `Resent\-xxx:' header lines of the specified
message for destination addresses,
.PP
-If a \*(lqBcc:\*(rq field is encountered, its addresses will be used for
-delivery, and the \*(lqBcc:\*(rq field will be removed from the message
+If a `Bcc:' field is encountered, its addresses will be used for
+delivery, and the `Bcc:' field will be removed from the message
sent to sighted recipients. The blind recipients will receive a newly
constructed message with a copy of the original message attached.
MIME rules are used for encapsulation.
invocation.
.PP
.B Spost
-constructs the \*(lqFrom:\*(rq line of the
+constructs the `From:' line of the
message from the user's login name and the full name from the GECOS field
of the passwd file.
-An example is \*(lqFrom: Dan Harkless <dan>\*(rq.
+An example is `From: Dan Harkless <dan>'.
.PP
If you set the
.B $SIGNATURE
environment variable.
Its value overrides the full name from the GECOS field.
.PP
-If you specify a \*(lqFrom:\*(rq
+If you specify a `From:'
line manually in the message draft.
It will be used as provided.
-However, a \*(lqSender:\*(rq header with the user's
+However, a `Sender:' header with the user's
.B real
address will be added.
.PP
-Note that this applies equally to \*(lqResent\-From:\*(rq lines
+Note that this applies equally to `Resent\-From:' lines
in messages sent with
.BR dist .
.PP
switch with an empty string argument is given,
in which case the initial edit is suppressed). Then,
.B whatnow
-repetitively prompts the user with \*(lqWhat now?\*(rq
+repetitively prompts the user with `What now?'
and awaits a response. The valid responses are:
.PP
.RS 5
.B edit
re\-edit using the same editor that was used on the
preceding round unless a profile entry
-\*(lq<lasteditor>\-next: <editor>\*(rq names an alternate editor
+`<lasteditor>\-next: <editor>' names an alternate editor
.TP \w'refilezzzzfolderz'u
.B edit <editor>
invoke <editor> for further editing
.SH DEFAULTS
.nf
-.RB ` \-prompt "' defaults to \*(lqWhat\ Now?\ \*(rq"
+.RB ` \-prompt "' defaults to `What\ Now?\ '"
.fi
.SH CONTEXT
.BR mh-draft (7)
man page for more information.
.PP
-The files specified by the profile entry \*(lqAliasfile:\*(rq and any
+The files specified by the profile entry `Aliasfile:' and any
additional alias files given by the
.B \-alias
.I aliasfile