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:
man2html: unable to open or read file /etc/nmh/forwcomps
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'.
When 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 '-noinplace' switch.
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 filtering.
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:
man2html: unable to open or read file /etc/nmh/mhl.forward
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 (1). 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 (1), 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 .mh_profile file:
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.
Upon exiting from the editor, forw 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 occurring.)
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 (1) 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 'Forwarded Message' delimiters are not added. 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
Proposed Standard for Message Encapsulation (RFC-934),
mhbuild(1), comp(1), repl(1), send(1), whatnow(1), mh-format(5) `+folder' defaults to the current folder `msgs' defaults to cur `-noannotate' `-nodraftfolder' `-noformat' `-inplace' `-dashstuffing' `-nomime' 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.