forw - forward messages
forw [+folder] [msgs] [-annotate | -noannotate] [-form formfile]
[-format | -noformat] [-filter filterfile] [-inplace | -noinplace]
[-mime | -nomime] [-draftfolder +folder] [-draftmessage msg]
[-nodraftfolder] [-editor editor] [-noedit] [-whatnowproc program]
[-nowhatnowproc] [-dashstuffing | -nodashstuffing] [-build] [-file
msgfile] [-version] [-help]
forw [+folder] [msgs] [-digest list] [-issue number] [-volume number]
[other switches for forw] [-version] [-help]
Forw may be used to prepare a message containing other messages.
It constructs the new message from a forms (components) file, with a
body composed of the message(s) to be forwarded. An editor is invoked
as in comp, and after editing is complete, the user is prompted before
the message is sent.
The default message form contains the following elements:
If a file named “forwcomps” exists in the user’s nmh directory, it will
be used instead of this default form. You may also specify an
alternate forms file with the switch -form formfile.
If the draft already exists, forw will ask you as to the disposition of
the draft. A reply of quit will abort forw, leaving the draft intact;
replace will replace the existing draft with a blank skeleton; and list
will display the draft.
If the -annotate switch is given, each message being forwarded will be
annotated with the lines:
where each address list contains as many lines as required. This
annotation will be done only if the message is sent directly from forw.
If the message is not sent immediately from forw, “comp -use” may be
used to re-edit and send the constructed message, but the annotations
won’t take place. Normally annotations are done inplace in order to
preserve any links to the message. You may change this by using the
See comp(1) for a description of the -editor and -noedit switches.
Although forw uses a forms (components) file to direct it how to
construct the beginning of the draft, it uses a message filter file to
direct it as to how each forwarded message should be formatted in the
body of the draft. The filter file for forw should be a standard form
file for mhl, as forw will invoke mhl to filter (re-format) the
forwarded messages prior to being output to the body of the draft.
The switches -noformat, -format, and -filter filterfile specify which
message filter file to use.
If -noformat is specified (this is the default), then each forwarded
message is output into the draft exactly as it appears with no mhl
If -format is specified, then a default message filter file is used.
This default message filter should be adequate for most users. This
default filter “mhl.forward” is:
; default message filter for ‘forw’ (forw -format)
If a file named “mhl.forward” exists in the user’s nmh directory, it
will be used instead of this form. You may specify an alternate
message filter file with the switch -filter filterfile.
Each forwarded message is separated with an encapsulation delimiter.
By default, any dashes in the first column of the forwarded messages
will be prepended with ‘- ’ so that when received, the message is
suitable for bursting by burst. This follows the Internet RFC-934
guidelines. You may use the flag -nodashstuffing in order to suppress
this form of quoting to the forwarded messages.
For users of prompter, by specifying prompter’s -prepend switch in the
.mh_profile file, any commentary text is entered before the forwarded
messages. (A major win!)
To use the MIME rules for encapsulation, specify the -mime switch. This
directs forw to generate an mhbuild composition file. Note that nmh
will not invoke mhbuild automatically, unless you add this line to your
Otherwise, you must specifically give the command
What now? mime
prior to sending the draft.
The -draftfolder +folder and -draftmessage msg switches invoke the nmh
draft folder facility. This is an advanced (and highly useful)
feature. Consult the mh-draft(5) man page for more information.
The -editor editor switch indicates the editor to use for the initial
edit. Upon exiting from the editor, comp will invoke the whatnow
program. See whatnow(1) for a discussion of available options. The
invocation of this program can be inhibited by using the -nowhatnowproc
switch. (In truth of fact, it is the whatnow program which starts the
initial edit. Hence, -nowhatnowproc will prevent any edit from
The -build switch is intended to be used by the Emacs mh-e interface to
nmh, and is only present if nmh was compiled with support for mh-e. It
implies -nowhatnowproc. It causes a file <mh-dir>/draft to be created,
containing the draft message that would normally be presented to the
user for editing. No mail is actually sent. Note that this switch is
not guaranteed to be present or to have the same effects in future
versions of nmh: it is documented here only for completeness.
The -file msgfile switch specifies the message to be forwarded as an
exact filename rather than as an nmh folder and message number. It is
intended to be used by the msh interface to nmh. This switch implies
-noannotate. The forwarded message is simply copied verbatim into the
draft; the processing implied by the -filter, -mime, and -digest
switches is bypassed, and the usual leading and trailing The same
caveats apply to this option as to the -build switch.
The -digest list, -issue number, and -volume number switches implement
a digest facility for nmh. Specifying these switches enables and/or
overloads the following escapes:
Type Escape Returns Description
component digest string Argument to ‘-digest’
function cur integer Argument to ‘-volume’
function msg integer Argument to ‘-issue’
Consult the Advanced Features section of the nmh User’s Manual for more
information on making digests.
/etc/nmh/forwcomps The standard message skeleton
or <mh-dir>/forwcomps Rather than the standard skeleton
/etc/nmh/digestcomps The message skeleton if ‘-digest’ is given
or <mh-dir>/digestcomps Rather than the standard skeleton
/etc/nmh/mhl.forward The standard message filter
or <mh-dir>/mhl.forward Rather than the standard filter
$HOME/.mh_profile The user profile
<mh-dir>/draft The draft file
Path: To determine the user’s nmh directory
Current-Folder: To find the default current folder
Draft-Folder: To find the default draft-folder
Editor: To override the default editor
Msg-Protect: To set mode when creating a new message (draft)
fileproc: Program to refile the message
mhlproc: Program to filter messages being forwarded
whatnowproc: Program to ask the “What now?” questions
mhbuild(1), comp(1), repl(1), send(1), whatnow(1), mh-format(5),
Proposed Standard for Message Encapsulation (RFC-934)
‘+folder’ defaults to the current folder
‘msgs’ defaults to cur
If a folder is given, it will become the current folder. The first
message forwarded will become the current message.
If whatnowproc is whatnow, then forw uses a built-in whatnow, it does
not actually run the whatnow program. Hence, if you define your own
whatnowproc, don’t call it whatnow since forw won’t run it.
When forw is told to annotate the messages it forwards, it doesn’t
actually annotate them until the draft is successfully sent. If from
the whatnowproc, you push instead of send, it’s possible to confuse
forw by re-ordering the file (e.g. by using “folder -pack”) before the
message is successfully sent. Dist and repl don’t have this problem.