Prompter is particularly useful when composing messages over slow network or modem lines. It is an nmh program in that it can have its own profile entry with switches, but it is not invoked directly by the user. The commands comp, dist, forw, and repl invoke prompter as an editor, either when invoked with `-editor prompter', or by the profile entry ``Editor: prompter'', or when given the command `edit prompter' at the ``What now?'' prompt.
For each empty component prompter finds in the draft, the user is prompted for a response; A <RETURN> will cause the whole component to be left out. Otherwise, a `\' preceding a <RETURN> will continue the response on the next line, allowing for multiline components. Continuation lines must begin with a space or tab.
Each non-empty component is copied to the draft and displayed on the terminal.
The start of the message body is denoted by a blank line or a line of dashes. If the body is non-empty, the prompt, which isn't written to the file, is
``--------Enter additional text'',
or (if `-prepend' was given)
``--------Enter initial text''.
Message-body typing is terminated with an end-of-file (usually CTRL-D). With the `-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 ``What now?''. See whatnow for the valid options to this query.
By using the `-prepend' switch, the user can add type-in to the beginning of the message body and have the rest of the body follow. This is useful for the forw command.
By using the `-rapid' switch, if the draft already contains text in the message-body, it is not displayed on the user's terminal. This is useful for low-speed terminals.
The line editing characters for kill and erase may be specified by the user via the arguments `-kill chr' and `-erase chr', where chr may be a character; or `\nnn', where ``nnn'' is the octal value for the character.
An interrupt (usually CTRL-C) during component typing will abort prompter and the nmh command that invoked it. An interrupt during message-body typing is equivalent to CTRL-D, for historical reasons. This means that prompter should finish up and exit.
The first non-flag argument to prompter is taken as the name of
the draft file, and subsequent non-flag arguments are ignored.
^$HOME/.mh_profile~^The user profile
^/tmp/prompter*~^Temporary copy of message
prompter-next: To name the editor to be used on exit from prompter
^Msg-Protect:~^To set mode when creating a new draft comp(1), dist(1), forw(1), repl(1), whatnow(1) `-prepend' `-norapid' `-nodoteof' None The `-rapid' option is particularly useful with forw, and `-noprepend' is useful with comp -use.
The user may wish to link prompter under several names (e.g., ``rapid'') and give appropriate switches in the profile entries under these names (e.g., ``rapid: -rapid''). This facilitates invoking prompter differently for different nmh commands (e.g., ``forw: -editor rapid''). Prompter uses stdio (3), so it will lose if you edit files with nulls in them.