Show lists each of the specified messages to the standard output
(typically, the terminal).
By default, text (non-MIME) messages are filtered and displayed by
the nmh command mhl. This command will display text
messages in a nice, uniform format. It also allows you to configure
the format of the displayed messages and which headers fields are
shown. See the mhl(1) manual page for the details about this
command. This default can be changed by defining the showproc
profile component. Any switches not recognized by show are
passed along to that program. To override the default and the
showproc profile component, use the `-showproc\ program'
switch. For example, `-showproc\ more' will cause the more(1)
program to list the messages with no reformatting. Normally, this
program is specified as the showproc in the user's
.mh\(ruprofile, rather than using a command line switch.
By default, non-text messages (MIME messages with multi-media
contents) are processed and displayed by the nmh command
mhshow. See the mhshow(1) manual page for details
about this command. This default can changed by defining the
showmimeproc profile component. Any switches not recognized
by show are passed along to that program. To override this
default and the showmimeproc profile component, use the
`-showmimeproc\ program' switch.
Note that in some cases, show may invoke the showmimeproc
even for textual contents. This will happen for text messages that
specify a transfer encoding (such as MIME quoted-printable or
base64) or specify a character set that show doesn't believe
can be displayed natively. The environment variable MM_CHARSET
should be set to the terminal's native character set to avoid
gratuitous invocations of the showmimeproc. See the
mh-profile(5) man page for details about this environment variable.
The option `-checkmime' (set by default) instructs show to
test if any of the messages to be displayed are non-text (MIME)
messages. If any are non-text, they are displayed by the program
showmimeproc, else they are displayed by the program
showproc. The option `-nocheckmime' disables this test and
instructs show to use showproc, regardless of whether
any of the messages are non-text (MIME) messages.
The `-noshowproc' switch will disable any formatting or paging of
messages. It is equivalent to `-nocheckmime\ -showproc\ cat'. It
is still accepted, but should be considered (somewhat) obsolete.
If the environment variable NOMHNPROC is set, the test for
non-text (MIME) messages will be disabled. This method is obsolete.
Use the `-nocheckmime' switch instead.
The `-header' switch tells show to display a one-line
description of the message being shown. This description includes
the folder and the message number.
If no `msgs' are specified, the current message is used. Although
it depends on the specific showproc or showmimeproc,
in the default setup when more than one message is specified, you
will be prompted for a <RETURN> prior to listing each message.
Each message will be listed a page at a time, and when the end of
page is reached, the program will wait for a <SPACE> or <RETURN>.
If a <RETURN> is entered, it will print the next line, whereas
<SPACE> will print the next screenful.
If the standard output is not a terminal, no queries are made, and
each file is listed with a one-line header and two lines of
separation.
\*(lqshow -draft\*(rq will list the file <mh-dir>/draft if it
exists.
If the profile entry \*(lqUnseen-Sequence\*(rq is present and
non-empty, then show will remove each of the messages shown
from each sequence named by the profile entry.
^$HOME/.mh\(ruprofile~^The user profile
^Path:~^To determine the user's nmh directory
^Current-Folder:~^To find the default current folder
^Unseen-Sequence:~^To name sequences denoting unseen messages
^showproc:~^Program to show text (non-MIME) messages
^showmimeproc:~^Program to show non-text (MIME) messages
mhl(1), mhshow(1), more(1), next(1), prev(1), scan(1)
`+folder' defaults to the current folder
`msgs' defaults to cur
`-checkmime'
`-header'
If a folder is given, it will become the current folder. The last
message shown will become the current message.
The `-header' switch doesn't work when `msgs' expands to more than
one message. If the showproc is mhl, then is problem can
be circumvented by referencing the \*(lqmessagename\*(rq field in the
mhl format file.
Show updates the user's context before showing the message.
Hence show will mark messages as seen prior to the user actually
seeing them. This is generally not a problem, unless the user relies
on the \*(lqunseen\*(rq messages mechanism, and interrupts show
while it is showing \*(lqunseen\*(rq messages.
If your showproc is mhl (the default), then show uses
a built-in mhl: it does not actually run the mhl program.
Hence, if you define your own showproc, don't call it mhl
since show won't run it.
If your showproc is the pager more, then avoid running
show in the background with only its standard output piped to
another process, as in
show | imprint &
Due to a bug in more, show will go into a \*(lqtty input\*(rq state.
To avoid this problem, re-direct show's diagnostic output as well.
For users of csh:
show |& imprint &
For users of sh:
show 2>&1 | imprint &