From: Shantonu Sen Date: Tue, 9 Jan 2001 06:01:19 +0000 (+0000) Subject: mh_profile-prev X-Git-Tag: RELEASE_1_2~147 X-Git-Url: http://git.marmaro.de/?a=commitdiff_plain;h=278a48ef53b5dde10d7c88f67f51ce15ad11c0c0;p=mmh mh_profile-prev --- diff --git a/man/Makefile.in b/man/Makefile.in index 32e5141..a611405 100644 --- a/man/Makefile.in +++ b/man/Makefile.in @@ -126,6 +126,8 @@ man.sed: Makefile echo ' s,%forwcomps%,,g' >> $@ echo '/%mhl_forward%/r $(top_srcdir)/etc/mhl.forward' >> $@ echo ' s,%mhl_forward%,,g' >> $@ + echo '/%mhl_format%/r $(top_srcdir)/etc/mhl.format' >> $@ + echo ' s,%mhl_format%,,g' >> $@ # ========= INSTALL TARGETS ========= diff --git a/man/inc.man b/man/inc.man index 54ace52..4e73245 100644 --- a/man/inc.man +++ b/man/inc.man @@ -15,7 +15,7 @@ inc \- incorporate new mail .RB [ \-changecur " | " \-nochangecur ] .RB [ \-form .IR formfile ] -..RB [ \-format +.RB [ \-format .IR string ] .RB [ \-file .IR name ] diff --git a/man/mh-profile.man b/man/mh-profile.man index 80f18b2..de2efad 100644 --- a/man/mh-profile.man +++ b/man/mh-profile.man @@ -874,6 +874,7 @@ for use by ^/context~^The user context ^or $MHCONTEXT~^Rather than the standard context ^/\&.mh\(rusequences~^Public sequences for +.fi .SH "SEE ALSO" nmh(1), environ(5), mh-sequence(5) diff --git a/man/mh-sequence.man b/man/mh-sequence.man index e131c97..0f3bacc 100644 --- a/man/mh-sequence.man +++ b/man/mh-sequence.man @@ -7,7 +7,7 @@ mh-sequence \- sequence specification for nmh message system .SH SYNOPSIS most -/B nmh +.B nmh commands .SH DESCRIPTION A sequence (or sequence set) is a symbolic name representing a diff --git a/man/mh-tailor.man b/man/mh-tailor.man index 4304dc8..e687ae8 100644 --- a/man/mh-tailor.man +++ b/man/mh-tailor.man @@ -419,6 +419,7 @@ your site, and set the appropriate values. .nf .ta \w'/usr/local/nmh/etc/ExtraBigFileName 'u ^%etcdir%/mts.conf~^nmh mts configuration file +.fi .SH "PROFILE COMPONENTS" None diff --git a/man/mhbuild.man b/man/mhbuild.man index 7024e48..97e38ab 100644 --- a/man/mhbuild.man +++ b/man/mhbuild.man @@ -602,6 +602,7 @@ line ::= "##" text EOL ^$HOME/\&.mh\(ruprofile~^The user profile ^$MHBUILD~^Additional profile entries ^%etcdir%/mhn.defaults~^System default MIME profile entries +.fi .SH "PROFILE COMPONENTS" .fc ^ ~ @@ -611,6 +612,7 @@ line ::= "##" text EOL ^Path:~^To determine the user's nmh directory ^Current\-Folder:~^To find the default current folder ^mhbuild-compose-*~^Template for composing contents +.fi .SH "SEE ALSO" mhlist(1), mhshow(1), mhstore(1), @@ -641,6 +643,7 @@ mhlist(1), mhshow(1), mhstore(1), .RB ` \-nocheck ' .RB ` \-noebcdicsafe ' .RB ` \-noverbose ' +.fi .SH CONTEXT If a folder is given, it will become the current folder. The last diff --git a/man/mhl.man b/man/mhl.man index f668579..6158564 100644 --- a/man/mhl.man +++ b/man/mhl.man @@ -2,37 +2,42 @@ .\" %nmhwarning% .\" $Id$ .\" -.\" include the -mh macro file -.so %etcdir%/tmac.h -.\" .TH MHL %manext1% "%nmhdate%" MH.6.8 [%nmhversion%] .SH NAME mhl \- produce formatted listings of nmh messages .SH SYNOPSIS -.in +.5i -.ti -.5i -%libdir%/mhl -\%[\-bell] \%[\-nobell] -\%[\-clear] -.br -\%[\-noclear] -\%[\-folder\ +folder] -\%[\-form\ formfile] -.br -\%[\-length\ lines] \%[\-width\ columns] -\%[\-moreproc\ program] -.br -\%[\-nomoreproc] -\%[files\ ...] -\%[\-version] -\%[\-help] -.in -.5i +.HP 5 +.B %libdir%/mhl +.RB [ \-bell " | " \-nobell ] +.RB [ \-clear " | " \-noclear ] +.RB [ \-folder +.IR +folder ] +.RB [ \-form +.IR formfile ] +.RB [ \-length +.IR lines ] +.RB [ \-width +.IR columns ] +.RB [ \-moreproc +.IR program ] +.RB [ \-nomoreproc ] +.RI [ files +.IR \&... ] +.RB [ \-version ] +.RB [ \-help ] .SH DESCRIPTION -\fIMhl\fR is a \fInmh\fR command for filtering and/or displaying text +.B Mhl +is an +.B nmh +command for filtering and/or displaying text messages. It is the default method of displaying text messages for -\fInmh\fR (it is the default \fIshowproc\fR). - -As with \fImore\fR, each of the messages specified as arguments (or +.B nmh +(it is the default +.IR showproc ). +.PP +As with +.BR more , +each of the messages specified as arguments (or the standard input) will be output. If more than one message file is specified, the user will be prompted prior to each one, and a or will begin the output, with clearing the screen (if @@ -40,90 +45,168 @@ appropriate), and (usually CTRL\-D) suppressing the screen clear. An (usually CTRL\-C) will abort the current message output, prompting for the next message (if there is one), and a (usually CTRL-\\) will terminate the program (without core dump). - -The `\-bell' option tells \fImhl\fR to ring the terminal's bell at the -end of each page, while the `\-clear' option tells \fImhl\fR to clear the -scree at the end of each page (or output a formfeed after each message). +.PP +The +.B \-bell +option tells +.B mhl +to ring the terminal's bell at the +end of each page, while the +.B \-clear +option tells +.B mhl +to clear the +screen at the end of each page (or output a formfeed after each message). Both of these switches (and their inverse counterparts) take effect only -if the profile entry \fImoreproc\fR is defined but empty, and \fImhl\fR -is outputting to a terminal. If the \fImoreproc\fR entry is defined and -non-empty, and \fImhl\fR is outputting to a terminal, then \fImhl\fR will -cause the \fImoreproc\fR to be placed between the terminal and \fImhl\fR -and the switches are ignored. Furthermore, if the `\-clear' switch is -used and \fImhl's\fR output is directed to a terminal, then \fImhl\fR -will consult the \fB$TERM\fR and \fB$TERMCAP\fR environment variables +if the profile entry +.I moreproc +is defined but empty, and +.B mhl +is outputting to a terminal. If the +.I moreproc +entry is defined and +non-empty, and +.B mhl +is outputting to a terminal, then +.B mhl +will +cause the +.I moreproc +to be placed between the terminal and +.B mhl +and the switches are ignored. Furthermore, if the +.B \-clear +switch is +used and \fImhl's\fR output is directed to a terminal, then +.B mhl +will consult the +.B $TERM +and +.B $TERMCAP +environment variables to determine the user's terminal type in order to find out how to clear -the screen. If the `\-clear' switch is used and \fImhl's\fR output is -not directed to a terminal (e.g., a pipe or a file), then \fImhl\fR will +the screen. If the +.B \-clear +switch is used and +.BR mhl 's +output is +not directed to a terminal (e.g., a pipe or a file), then +.B mhl +will send a formfeed after each message. - -To override the default \fImoreproc\fR and the profile entry, use the -`\-moreproc\ program' switch. Note that \fImhl\fR will never start a -\fImoreproc\fR if invoked on a hardcopy terminal. - -The `\-length\ length' and `\-width\ width' switches set the screen -length and width, respectively. These default to the values indicated -by \fB$TERMCAP\fR, if appropriate, otherwise they default to 40 and -80, respectively. - -The default format file used by \fImhl\fR is called \*(lqmhl.format\*(rq. -\fImhl\fR will first search for this file in the user's \fInmh\fR -directory, and will then search in the directory %etcdir%. This default -can be changed by using the `\-form\ formatfile' switch. - -Finally, the `\-folder\ +folder' switch sets the \fInmh\fR folder name, +.PP +To override the default +.I moreproc +and the profile entry, use the +.B \-moreproc +.I program +switch. Note that +.B mhl +will never start a +.I moreproc +if invoked on a hardcopy terminal. +.PP +The +.B \-length +.I length +and +.B \-width +.I width +switches set the screen +length and width, respectively. These default to the values indicated by +.BR $TERMCAP , +if appropriate, otherwise they default to 40 and 80, respectively. +.PP +The default format file used by +.B mhl +is called +.RI \*(lq mhl.format \*(rq. +.B mhl +will first search for this file in the user's +.B nmh +directory, and will then search in the directory +.IR %etcdir% . +This default +can be changed by using the +.B \-form +.I formatfile +switch. +.PP +Finally, the +.B \-folder +.I +folder +switch sets the +.B nmh +folder name, which is used for the \*(lqmessagename:\*(rq field described below. The -environment variable \fB$mhfolder\fR is consulted for the default value, -which \fIshow\fR, \fInext\fR, and \fIprev\fR initialize appropriately. - -\fIMhl\fR operates in two phases: 1) read and parse the format file, and +environment variable +.B $mhfolder +is consulted for the default value, +which +.BR show , +.BR next , +and +.B prev +initialize appropriately. +.PP +.B Mhl +operates in two phases: 1) read and parse the format file, and 2) process each message (file). During phase 1, an internal description of the format is produced as a structured list. In phase 2, this list is walked for each message, outputting message information under the format constraints from the format file. - +.PP The format file can contain information controlling screen clearing, 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 to provide added functionality. Message output will be in the order specified by the order in the format file. - +.PP Each line of a format file has one of the following forms: - - ;comment - :cleartext - variable[,variable...] - component:[variable,...] - +.PP +.RS 5 +.nf +;comment +:cleartext +variable[,variable...] +component:[variable,...] +.fi +.RE +.PP +.IP \(bu 4 A line beginning with a `;' is a comment, and is ignored. -A line beginning with a `:' is clear text, -and is output exactly as is. +.IP \(bu 4 +A line beginning with a `:' is clear text, and is output exactly as is. +.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 component, -and finally, remaining lines define the global environment. - +.IP \(bu 4 +Remaining lines define the global environment. +.PP For example, the line: - -.ti +.5i +.PP +.RS 5 width=80,length=40,clearscreen,overflowtext="***",overflowoffset=5 - +.RE +.PP defines the screen size to be 80 columns by 40 rows, specifies that the screen should be cleared prior to each page, that the overflow indentation is 5, and that overflow text should be flagged with \*(lq***\*(rq. - +.PP Following are all of the current variables and their arguments. If they follow a component, they apply only to that component, otherwise, their affect is global. Since the whole format is parsed before any output processing, the last global switch setting for a variable applies to the whole message if that variable is used in a global context (i.e., bell, clearscreen, width, length). - +.PP +.RS 5 .nf -.in +.5i .ta \w'noclearscreen 'u +\w'integer/G 'u -\fIvariable\fR \fItype\fR \fIsemantics\fR +.I variable type semantics width integer screen width or component width length integer screen length or component length offset integer positions to indent \*(lqcomponent: \*(rq @@ -164,83 +247,106 @@ decode flag decode text as RFC-2047 encoded header field addrfield flag field contains addresses datefield flag field contains dates -.re -.in -.5i .fi - +.RE +.PP To specify the value of integer\-valued and string\-valued variables, 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 a global\-only or local\-only context (respectively). - +.PP A line of the form: - - ignores=component,... - +.PP +.RS 5 +ignores=component,... +.RE +.PP specifies a list of components which are never output. - +.PP The component \*(lqMessageName\*(rq (case\-insensitive) will output the actual message name (file name) preceded by the folder name if one is specified or found in the environment. The format is identical to that -produced by the `\-header' option to \fIshow\fR. - +produced by the +.B \-header +option to +.BR show . +.PP The component \*(lqExtras\*(rq 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 be output as it appears in the format file. - +.PP The default format file is: - +.PP +.RS 5 .nf -.in +.5i -.ne 15 -.eo -.so %etcdir%/mhl.format -.ec -.in -.5i +%mhl_format% .fi - +.RE +.PP The variable \*(lqformatfield\*(rq specifies a format string (see -\fImh\-format\fR\0(5)). The flag variables \*(lqaddrfield\*(rq and -\*(lqdatefield\*(rq (which are mutually exclusive), tell \fImhl\fR +.BR mh\-format (5)). +The flag variables \*(lqaddrfield\*(rq and +\*(lqdatefield\*(rq (which are mutually exclusive), tell +.B mhl to interpret the escapes in the format string as either addresses or dates, respectively. - -By default, \fImhl\fR does not apply any formatting string to fields -containing address or dates (see \fImh\-mail\fR\0(5) for a list of these -fields). Note that this results in faster operation since \fImhl\fR +.PP +By default, +.B mhl +does not apply any formatting string to fields +containing address or dates (see +.BR mh\-mail (5) +for a list of these +fields). Note that this results in faster operation since +.B mhl must parse both addresses and dates in order to apply a format string -to them. If desired, \fImhl\fR can be given a default format string for +to them. If desired, +.B mhl +can be given a default format string for either address or date fields (but not both). To do this, on a global line specify: either the flag addrfield or datefield, along with the appropriate formatfield variable string. -.Fi + +.SH FILES +.fc ^ ~ +.nf +.ta \w'/usr/local/nmh/etc/ExtraBigFileName 'u ^%etcdir%/mhl.format~^The message template ^or /mhl.format~^Rather than the standard template ^$HOME/\&.mh\(ruprofile~^The user profile -.Pr +.fi + +.SH "PROFILE COMPONENTS" +.fc ^ ~ +.nf +.ta 2.4i +.ta \w'ExtraBigProfileName 'u ^moreproc:~^Program to use as interactive front\-end -.Sa +.fi + +.SH "SEE ALSO" show(1), ap(8), dp(8) -.De -`\-bell' -.Ds -`\-noclear' -.Ds -`\-length 40' -.Ds -`\-width 80' -.Co + +.SH DEFAULTS +.nf +.RB ` \-bell ' +.RB ` \-noclear ' +.RB ` \-length 40 ' +.RB ` \-width 80 ' +.fi + +.SH CONTEXT None -.Bu + +.SH BUGS There should be some way to pass `bell' and `clear' information to the front\-end. - +.PP The \*(lqnonewline\*(rq option interacts badly with \*(lqcompress\*(rq and \*(lqsplit\*(rq. -.En diff --git a/man/mhlist.man b/man/mhlist.man index 9ee15db..12d09fc 100644 --- a/man/mhlist.man +++ b/man/mhlist.man @@ -2,80 +2,114 @@ .\" %nmhwarning% .\" $Id$ .\" -.\" include the -mh macro file -.so %etcdir%/tmac.h -.\" .TH MHLIST %manext1% "%nmhdate%" MH.6.8 [%nmhversion%] .SH NAME mhlist \- list information about MIME messages .SH SYNOPSIS -.in +.5i -.ti -.5i -mhlist \%[+folder] \%[msgs] \%[\-file file] -.br -\%[\-part number]... \%[\-type content]... -.br -\%[\-headers] \%[\-noheaders] -\%[\-realsize] \%[\-norealsize] -.br -\%[\-rcache policy] \%[\-wcache policy] -\%[\-check] \%[\-nocheck] -.br -\%[\-verbose] \%[\-noverbose] -\%[\-version] -\%[\-help] -.in -.5i - +.HP 5 +.B mhlist +.RI [ +folder ] +.RI [ msgs ] +.RB [ \-file +.IR file ] +.RB [ \-part +.IR number ] +\&... +.RB [ \-type +.IR content ] +\&... +.RB [ \-headers " | " \-noheaders ] +.RB [ \-realsize " | " \-norealsize ] +.RB [ \-rcache +.IR policy ] +.RB [ \-wcache +.IR policy ] +.RB [ \-check " | " \-nocheck ] +.RB [ \-version ] +.RB [ \-help ] .SH DESCRIPTION -The \fImhlist\fR command allows you to list information (essentially +The +.B mhlist +command allows you to list information (essentially a table of contents) about the various parts of a collection of MIME (multi-media) messages. - -\fImhlist\fR manipulates MIME (multi-media messages) as specified -in RFC\-2045 thru RFC\-2049. - -The `\-headers' switch indicates that a one-line banner should be +.PP +.B mhlist +manipulates MIME (multi-media messages) as specified +in RFC\-2045 thru RFC\-2049 (See +.BR mhbuild (1)). +.PP +The +.B \-headers +switch indicates that a one-line banner should be displayed above the listing. - -The `\-realsize' switch tells \fImhlist\fR to evaluate the +.PP +The +.B \-realsize +switch tells +.B mhlist +to evaluate the \*(lqnative\*(rq (decoded) format of each content prior to listing. This provides an accurate count at the expense of a small delay. - -If the `\-verbose' switch is present, then the listing will show +.PP +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 Content-Type header. - -The option `\-file\ file' directs \fImhlist\fR to use the specified +such as comments in the \*(lqContent-Type\*(rq header. +.PP +The option +.B \-file +.I file +directs +.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 \fImhlist\fR will +If you specify this file as \*(lq-\*(rq, then +.B mhlist +will accept the source message on the standard input. Note that the file, or input from standard input should be a validly formatted -message, just like any other \fInmh\fR message. It should \fBNOT\fR +message, just like any other +.B nmh +message. It should +.B NOT be in mail drop format (to convert a file in mail drop format to -a folder of \fInmh\fR messages, see \fIinc\fR\0(1)). - -By default, \fImhlist\fR will list information about the entire -message (all of its parts). By using the `\-part' and `\-type' +a folder of +.B nmh +messages, see +.BR inc (1)). +.PP +By default, +.B mhlist +will list information about the entire +message (all of its parts). By using the +.B \-part +and +.B \-type switches, you may limit the scope of this command to particular subparts (of a multipart content) and/or particular content types. - +.PP A part specification consists of a series of numbers separated by dots. For example, in a multipart content containing three parts, these would be named as 1, 2, and 3, respectively. If part 2 was also a multipart content containing two parts, these would be named as 2.1 and -2.2, respectively. Note that the `\-part' switch is effective for only +2.2, respectively. Note that the +.B \-part +switch is effective for only messages containing a multipart content. If a message has some other kind of content, or if the part is itself another multipart content, the -`\-part' switch will not prevent the content from being acted upon. - +.B \-part +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 be found in RFC\-2046. -.ne 18 +.PP A list of commonly used contents is briefly reproduced here: -.sp +.PP +.RS 5 .nf -.in +.5i .ta \w'application 'u Type Subtypes ---- -------- @@ -86,82 +120,69 @@ application octet-stream, postscript image jpeg, gif, png audio basic video mpeg -.re -.in -.5i .fi -.sp +.RE +.PP 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. -Note that regardless of the values given to the `\-type' switch, a +Note that regardless of the values given to the +.B \-type +switch, a multipart content (of any subtype listed above) is always acted upon. -Further note that if the `\-type' switch is used, and it is desirable to -act on a message/external-body content, then the `\-type' switch must +Further note that if the +.B \-type +switch is used, and it is desirable to +act on a message/external-body content, then the +.B \-type +switch must be used twice: once for message/external-body and once for the content externally referenced. - -.Uh "Checking the Contents" -The `\-check' switch tells \fImhlist\fR to check each content for an +.SS "Checking the Contents" +The +.B \-check +switch tells +.B mhlist +to check each content for an integrity checksum. If a content has such a checksum (specified as a -Content-MD5 header field), then \fImhlist\fR will attempt to verify the +Content-MD5 header field), then +.B mhlist +will attempt to verify the integrity of the content. -.Fi + +.SH FILES +.fc ^ ~ +.nf +.ta \w'/usr/local/nmh/etc/ExtraBigFileName 'u ^$HOME/\&.mh\(ruprofile~^The user profile -.Pr +.fi + +.SH "PROFILE COMPONENTS" +.fc ^ ~ +.nf +.ta 2.4i +.ta \w'ExtraBigProfileName 'u ^Path:~^To determine the user's nmh directory -.Ps ^Current\-Folder:~^To find the default current folder -.Sa +.fi + +.SH "SEE ALSO" mhbuild(1), mhshow(1), mhstore(1), sendfiles(1) -.br -RFC\-2045: -.br - \fIMultipurpose Internet Mail Extensions (MIME) Part One: -.br - Format of Internet Message Bodies\fR, -.br -RFC\-2046: -.br - \fIMultipurpose Internet Mail Extensions (MIME) Part Two: -.br - Media Types\fR, -.br -RFC\-2047: -.br - \fIMultipurpose Internet Mail Extensions (MIME) Part Three: -.br - Message Header Extensions for Non-ASCII Text\fR, -.br -RFC\-2048: -.br - \fIMultipurpose Internet Mail Extensions (MIME) Part Four: -.br - Registration Procedures\fR, -.br -RFC\-2049: -.br - \fIMultipurpose Internet Mail Extensions (MIME) Part Five: -.br - Conformance Criteria and Examples\fR. -.De -`+folder' defaults to the current folder -.Ds -`msgs' defaults to cur -.Ds -`\-nocheck' -.Ds -`\-headers' -.Ds -`\-realsize' -.Ds -`\-rcache ask' -.Ds -`\-wcache ask' -.Ds -`\-noverbose' -.Co + +.SH DEFAULTS +.nf +.RB ` +folder "' defaults to the current folder" +.RB ` msgs "' defaults to cur" +.RB ` \-nocheck ' +.RB ` \-headers ' +.RB ` \-realsize ' +.RB ` \-rcache ask ' +.RB ` \-wcache ask ' +.RB ` \-noverbose ' +.fi + +.SH CONTEXT If a folder is given, it will become the current folder. The last message selected will become the current message. -.En diff --git a/man/mhmail.man b/man/mhmail.man index 9e32421..51be22a 100644 --- a/man/mhmail.man +++ b/man/mhmail.man @@ -2,70 +2,114 @@ .\" %nmhwarning% .\" $Id$ .\" -.\" include the -mh macro file -.so %etcdir%/tmac.h -.\" .TH MHMAIL %manext1% "%nmhdate%" MH.6.8 [%nmhversion%] .SH NAME mhmail \- send or read mail .SH SYNOPSIS -.in +.5i -.ti -.5i -mhmail -\%[ -addrs\ ... -\%[\-body\ text] -\%[\-cc\ addrs\ ...] -.br -\%[\-from\ addr] -\%[\-subject subject]] -.br -\%[\-version] -\%[\-help] -.in -.5i +.HP 5 +.B mhmail +.RI [ addrs +\&...] +.RB [ \-body +.IR text ] +.RB [ \-cc +.I addrs +...] +.RB [ \-from +.IR addr ] +.RB [ \-subject +.IR subject ] +.RB [ \-version ] +.RB [ \-help ] .SH DESCRIPTION -\fImhmail\fR is intended as a replacement for the standard Berkeley -mail program (\fImail\fR(1) or \fImailx\fR(1)), which is compatible -with \fInmh\fR. This program is intended for the use of programs such -as \fIcron\fR(1), which expect to send mail automatically to various -users. It is also used by various \fInmh\fR commands to mail various -error notifications. Although \fImhmail\fR can be used interactively, -it is recommended that \fIcomp\fR(1) and \fIsend\fR(1) be used instead -to send messages. - -When invoked without arguments, it simply invokes \fIinc\fR(1) to -incorporate new messages from the user's maildrop. When one or more users +.B mhmail +is intended as a replacement for the standard Berkeley +mail program +.RB ( mail +or +.BR mailx ), +which is compatible with +.BR nmh . +This program is intended for the use of programs such as +.BR cron , +which expect to send mail automatically to various +users. It is also used by various +.B nmh +commands to mail various +error notifications. Although +.B mhmail +can be used interactively, +it is recommended that +.B comp +and +.B send +be used instead to send messages. +.PP +When invoked without arguments, it simply invokes +.B inc +to incorporate new messages from the user's maildrop. When one or more users is specified, a message is read from the standard input and spooled to -a temporary file. \fImhmail\fR then invokes \fIpost\fR(8) with the +a temporary file. +.B mhmail +then invokes +.B post +with the name of the temporary file as its argument to deliver the message to the specified user. - -The `\-subject\ subject' switch can be used to specify the +.PP +The +.B \-subject +.I subject +switch can be used to specify the \*(lqSubject:\*(rq field of the message. - -By default, \fImhmail\fR will read the message to be sent from the +.PP +By default, +.B mhmail +will read the message to be sent from the standard input. You can specify the text of the message at the command -line with the `\-body\ text' switch. If the standard input has zero -length, \fImhmail\fR will not send the message. You can use the switch -`\-body\ ""' to force an empty message. - +line with the +.B \-body +.I text +switch. If the standard input has zero +length, +.B mhmail +will not send the message. You can use the switch +.B \-body +\*(lr\*(rq to force an empty message. +.PP Normally, addresses appearing as arguments are put in the \*(lqTo:\*(rq -field. If the `\-cc' switch is used, all addresses following it are +field. If the +.B \-cc +switch is used, all addresses following it are placed in the \*(lqcc:\*(rq field. - -By using `\-from\ addr', you can specify the \*(lqFrom:\*(rq header of -the draft. Naturally, \fIpost\fR will fill\-in the \*(lqSender:\*(rq +.PP +By using +.B \-from +.IR addr , +you can specify the \*(lqFrom:\*(rq header of +the draft. Naturally, +.B post +will fill\-in the \*(lqSender:\*(rq header correctly. -.Fi + +.SH FILES +.fc ^ ~ +.nf +.ta \w'/usr/local/nmh/etc/ExtraBigFileName 'u ^%bindir%/inc~^Program to incorporate maildrop into folder ^%libdir%/post~^Program to deliver a message ^/tmp/mhmail*~^Temporary copy of message -.Pr -None -.Sa +.fi + +.SH "SEE ALSO" inc(1), post(8) -.De + +.SH DEFAULTS None -.Co -If \fIinc\fR is invoked, then \fIinc\fR's context changes occur. -.En + +.SH CONTEXT +If +.B inc +is invoked, then +.BR inc 's +context changes occur. diff --git a/man/mhn.man b/man/mhn.man index 569e834..ac74080 100644 --- a/man/mhn.man +++ b/man/mhn.man @@ -2,752 +2,53 @@ .\" %nmhwarning% .\" $Id$ .\" -.\" include the -mh macro file -.so %etcdir%/tmac.h -.\" .TH MHN %manext1% "%nmhdate%" MH.6.8 [%nmhversion%] .SH NAME mhn \- display/list/store/cache MIME messages .SH SYNOPSIS -.in +.5i -.ti -.5i -mhn \%[+folder] \%[msgs] \%[\-file file] -.br -\%[\-part number]... \%[\-type content]... -.br -\%[\-show] \%[\-noshow] -\%[\-list] \%[-nolist] -.br -\%[\-store] \%[\-nostore] -\%[\-cache] \%[\-nocache] -.br -\%[\-headers] \%[\-noheaders] -\%[\-realsize] \%[\-norealsize] -.br -\%[\-serialonly] \%[\-noserialonly] -\%[\-form formfile] -.br -\%[\-pause] \%[\-nopause] -\%[\-auto] \%[\-noauto] -.br -\%[\-rcache policy] \%[\-wcache policy] -\%[\-check] \%[\-nocheck] -.br -\%[\-verbose] \%[\-noverbose] -\%[\-version] -\%[\-help] - -.ti .5i -mhn \-build\ file -.br -\%[\-ebcdicsafe] \%[\-noebcdicsafe] -.br -\%[\-rfc934mode] \%[\-norfc934mode] -.in -.5i +.HP 5 +.B mhn +.RI [ +folder ] +.RI [ msgs ] +.RB [ \-file +.IR file ] +.RB [ \-part +.IR number ] +\&... +.RB [ \-type +.IR content ] +\&... +.RB [ \-show " | " \-noshow ] +.RB [ \-list " | " \-nolist ] +.RB [ \-store " | " \-nostore ] +.RB [ \-cache " | " \-nocache ] +.RB [ \-headers " | " \-noheaders ] +.RB [ \-realsize " | " \-norealsize ] +.RB [ \-serialonly " | " \-noserialonly ] +.RB [ \-form +.IR formfile ] +.RB [ \-pause " | " \-nopause ] +.RB [ \-auto " | " \-noauto ] +.RB [ \-rcache +.IR policy ] +.RB [ \-wcache +.IR policy ] +.RB [ \-check " | " \-nocheck ] +.RB [ \-version ] +.RB [ \-help ] + +.HP 5 +.B mhn +.B \-build +.I file +.RB [ \-ebcdicsafe " | " \-noebcdicsafe ] +.RB [ \-rfc934mode " | " \-norfc934mode ] .SH DESCRIPTION -MHN SHOULD BE CONSIDERED DEPRECATED. IT IS RETAINED FOR THE PURPOSE -OF BACKWARD COMPATIBILITY, BUT EVERYONE SHOULD MIGRATE TO USING THE -COMMANDS MHSHOW, MHSTORE, AND MHLIST. CHECK THE INDIVIDUAL MAN PAGES -FOR DETAILS. - -The \fImhn\fR command allows you to display, list, store, or cache the -contents of a MIME (multi-media) messages. - -\fImhn\fR manipulates multi-media messages as specified in RFC\-2045 -thru RFC\-2049. Currently \fImhn\fR only supports encodings in message -bodies, and does not support the encoding of message headers as specified -in RFC\-2047. - -The switches `\-list', `\-show', `\-store', and `-cache' direct -the operation of \fImhn\fR. Only one of these switches may be used -at a time. These switches are used to operate on the content of -each of the named messages. By using the `\-part' and `\-type' -switches, you may limit the scope of the given operation to particular -subparts (of a multipart content) and/or particular content types. - -The switch `\-build' is used to construct a MIME message. It is -for backward compatibility and instructs \fImhn\fR to execute the -\fImhbuild\fR command. It is preferred that you use the \fImhbuild\fR -command directly. See the \fImhbuild\fR(1) man page for details. - -The option `\-file\ file' directs \fImhn\fR 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 \fImhn\fR will accept the source message -on the standard input. Note that the file, or input from standard input -should be a validly formatted message, just like any other \fInmh\fR -message. It should \fBNOT\fR be in mail drop format (to convert a file in -mail drop format to a folder of \fInmh\fR messages, see \fIinc\fR\0(1)). - -A part specification consists of a series of numbers separated by dots. -For example, in a multipart content containing three parts, these -would be named as 1, 2, and 3, respectively. If part 2 was also a -multipart content containing two parts, these would be named as 2.1 and -2.2, respectively. Note that the `\-part' switch is effective for only -messages containing a multipart content. If a message has some other -kind of content, or if the part is itself another multipart content, the -`\-part' switch will not prevent the content from being acted upon. - -A content specification consists of a content type and a subtype. -The initial list of \*(lqstandard\*(rq content types and subtypes can -be found in RFC\-2046. -.ne 18 -A list of commonly used contents is briefly reproduced here: -.sp -.nf -.in +.5i -.ta \w'application 'u -Type Subtypes ----- -------- -text plain, enriched -multipart mixed, alternative, digest, parallel -message rfc822, partial, external-body -application octet-stream, postscript -image jpeg, gif, png -audio basic -video mpeg -.re -.in -.5i -.fi -.sp -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. -Note that regardless of the values given to the `\-type' switch, a -multipart content (of any subtype listed above) is always acted upon. -Further note that if the `\-type' switch is used, and it is desirable to -act on a message/external-body content, then the `\-type' switch must -be used twice: once for message/external-body and once for the content -externally referenced. - -.Uh "Checking the Contents" -The `\-check' switch tells \fImhn\fR to check each content for an -integrity checksum. If a content has such a checksum (specified as a -Content-MD5 header field), then \fImhn\fR will attempt to verify the -integrity of the content. - -.Uh "Listing the Contents" -The `\-list' switch tells \fImhn\fR to list the table of contents -associated with the named messages. - -The `\-headers' switch indicates that -a one-line banner should be displayed above the listing. The `\-realsize' -switch tells \fImhn\fR to evaluate the \*(lqnative\*(rq (decoded) format -of each content prior to listing. This provides an accurate count at -the expense of a small delay. If the `\-verbose' switch is present, then -the listing will show any \*(lqextra\*(rq information that is present in -the message, such as comments in the Content-Type header. - -.Uh "Showing the Contents" -The `\-show' switch tells \fImhn\fR to display the contents of the named -messages. - -The headers of each message are displayed with the \fImhlproc\fR -(usually \fImhl\fR), using the standard format file \fImhl.headers\fR. -You may specify an alternate format file with the `\-form formfile' -switch. If the format file \fImhl.null\fR is specified, then the display -of the message headers is suppressed. - -Next, the contents are extracted from the message and are stored in -a temporary file. Usually, the name of the temporary file the -word "mhn" 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 \fIsoffice\fR -command (part of the StarOffice package) can be used to display -MicroSoft Word content, but it uses the suffix to determine how to display -the file. If no suffix is present, the file is not correctly loaded. -Similarily, older versions of the \fIgs\fR 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. - -To get around this, your profile can contain lines of the form: -.sp -.in +.5i -mhn-suffix-/: -.in -.5i -.sp -or -.sp -.in +.5i -mhn-suffix-: -.in -.5i -.sp -to specify a suffix which can be automatically added to the temporary -file created for a specific content type. For example, the following -lines might appear in your profile: -.sp -.nf -.in +.5i -mhn-suffix-text: .txt -mhn-suffix-application/msword: .doc -mhn-suffix-application/PostScript: .ps -.in -.5i -.fi -.sp -to automatically append a suffix to the temporary files. - -The method used to display the different contents in the messages bodies -will be determined by a \*(lqdisplay string\*(rq. To find the display -string, \fImhn\fR will first search your profile for an entry of the form: -.sp -.in +.5i -mhn-show-/ -.in -.5i -.sp -to determine the display string. If this isn't found, \fImhn\fR -will search for an entry of the form: -.sp -.in +.5i -mhn-show- -.in -.5i -.sp -to determine the display string. - -If a display string is found, any escapes (given below) will be expanded. -The result will be executed under \fB/bin/sh\fR, with the standard input -set to the content. -.ne 16 -The display string may contain the following escapes: -.sp -.nf -.in +.5i -.ta \w'%F 'u -%a Insert parameters from Content-Type field -%e exclusive execution -%f Insert filename containing content -%F %e, %f, and stdin is terminal not content -%l display listing prior to displaying content -%p %l, and ask for confirmation -%s Insert content subtype -%d Insert content description -%% Insert the character % -.re -.in -.5i -.fi -.sp -.ne 10 -For those display strings containing the e- or F-escape, \fImhn\fR will -execute at most one of these at any given time. Although the F-escape -expands to be the filename containing the content, the e-escape has no -expansion as far as the shell is concerned. - -When the p-escape prompts for confirmation, typing INTR (usually -control-C) will tell \fImhn\fR not to display that content. The p-escape -can be disabled by specifying the switch `\-nopause'. Further, when -\fImhn\fR is display a content, typing QUIT (usually control-\\) will -tell \fImhn\fR to wrap things up immediately. - -Note that if the content being displayed is multipart, but not one of -the subtypes listed above, then the f- and F-escapes expand to multiple -filenames, one for each subordinate content. Further, stdin is not -redirected from the terminal to the content. - -If a display string is not found, \fImhn\fR has several default values: -.sp -.nf -.in +.5i -mhn-show-text/plain: %pmoreproc '%F' -mhn-show-message/rfc822: %pshow -file '%F' -.in -.5i -.fi -.sp -If a subtype of type text doesn't have a profile entry, it will be -treated as text/plain. - -\fImhn\fR has default methods for handling multipart messages of subtype -mixed, alternative, parallel, and digest. Any unknown subtype of type -multipart (without a profile entry), will be treated as multipart/mixed. - -If none of these apply, then \fImhn\fR will check to see if the message -has an application/octet-stream content with parameter \*(lqtype=tar\*(rq. -If so, \fImhn\fR will use an appropriate command. If not, \fImhn\fR -will complain. - -.ne 10 -Example entries might be: -.sp -.nf -.in +.5i -mhn-show-audio/basic: raw2audio 2>/dev/null | play -mhn-show-image: xv '%f' -mhn-show-application/PostScript: lpr -Pps -.in -.5i -.fi -.sp -Note that when using the f- or F-escape, it's a good idea to use -single-quotes around the escape. This prevents misinterpretation by -the shell of any funny characters that might be present in the filename. - -Finally, \fImhn\fR will process each message serially\0--\0it won't start -showing the next message until all the commands executed to display the -current message have terminated. In the case of a multipart content -(of any subtype listed above), the content contains advice indicating if -the parts should be displayed serially or in parallel. Because this may -cause confusion, particularly on uni-window displays, the `\-serialonly' -switch can be given to tell \fImhn\fR to never display parts in parallel. - -.Uh "Showing Alternate Character Sets" -Because a content of type text might be in a non-ASCII character -set, when \fImhn\fR encounters a \*(lqcharset\*(rq parameter for -this content, it checks if your terminal can display this character -set natively. \fIMhn\fR checks this by examining the the environment -variable MM_CHARSET. If the value of this environment variable is equal -to the value of the charset parameter, then \fImhn\fR assumes it can -display this content without any additional setup. If this environment -variable is not set, \fImhn\fR will assume a value of \*(lqUS-ASCII\*(rq. -If the character set cannot be displayed natively, then \fImhn\fR will -look for an entry of the form: -.sp -.in +.5i -mhn-charset- -.in -.5i -.sp -which should contain a command creating an environment to render -the character set. This command string should containing a single -\*(lq%s\*(rq, which will be filled-in with the command to display the -content. - -Example entries might be: -.sp -.in +.5i -mhn-charset-iso-8859-1: xterm -fn '-*-*-medium-r-normal-*-*-120-*-*-c-*-iso8859-*' -e %s -.in -.5i -or -.in +.5i -mhn-charset-iso-8859-1: '%s' -.in -.5i -.sp -The first example tells \fImhn\fR to start \fIxterm\fR and load the -appropriate character set for that message content. The second example -tells \fImhn\fR that your pager (or other program handling that content -type) can handle that character set, and that no special processing is -needed beforehand. -.sp -Note that many pagers strip off the high-order bit or have problems -displaying text with the high-order bit set. However, the pager -\fIless\fR has support for single-octet character sets. The source -to \fIless\fR is available on many ftp sites carrying free software. -In order to view messages sent in the ISO-8859-1 character set using -\fIless\fR, -.ne 9 -put these lines in your \&.login file: -.sp -.nf -.in +.5i -setenv LESSCHARSET latin1 -setenv LESS "-f" -.in -.5i -.fi -.sp -The first line tells \fIless\fR to use the ISO-8859-1 definition for -determining whether a character is \*(lqnormal\*(rq, \*(lqcontrol\*(lq, -or \*(lqbinary\*(rq. The second line tells \fIless\fR not to warn you -if it encounters a file that has non-ASCII characters. Then, simply -set the \fBmoreproc\fR profile entry to \fIless\fR, and it will get -called automatically. (To handle other single-octet character sets, -look at the \fIless\fR\0(1) manual entry for information about the -\fBLESSCHARDEF\fR environment variable.) - -.Uh "Storing the Contents" -The `\-store' switch tells \fImhn\fR to store the contents of the -named messages in \*(lqnative\*(rq (decoded) format. Two things must -be determined: the directory to store the content, and the filenames. -Files are written in the directory given by the \fBnmh-storage\fR -profile entry, -.ne 6 -e.g., -.sp -.in +.5i -nmh-storage: /tmp -.in -.5i -.sp -If this entry isn't present, -the current working directory is used. - -If the `\-auto' switch is given, then \fImhn\fR will check if the -message contains information indicating the filename that should be -used to store the content. This information should be specified as the -attribute \*(lqname=filename\*(rq in the Content-Type header for the -content you are storing. For security reasons, this filename will be -ignored if it begins with the character '/', '.', '|', or '!', or if it -contains the character '%'. For the sake of security, this switch is -not the default, and it is recommended that you do NOT put the `\-auto' -switch in your \&.mh\(ruprofile file. - -If the `\-auto' switch is not given (or is being ignored for -security reasons) then \fImhn\fR will look in the user's profile for -a \*(lqformatting string\*(rq to determine how the different contents -should be stored. First, \fImhn\fR will look for an entry of the form: -.sp -.in +.5i -mhn-store-/ -.in -.5i -.sp -to determine the formatting string. If this isn't found, \fImhn\fR will -look for an entry of the form: -.sp -.in +.5i -mhn-store- -.in -.5i -.sp -to determine the formatting string. - -If the formatting string starts with a \*(lq+\*(rq 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 folder. - -If the formatting string consists solely of a \*(lq-\*(rq character, -then the content is sent to the standard output. - -If the formatting string starts with a '|', then the display string will -represent a command for \fImhn\fR to execute which should ultimately -store the content. The content will be passed to the standard input of -the command. Before the command is executed, \fImhn\fR will change to -the appropriate directory, and any escapes (given below) in the display -string will be expanded. - -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 the value of \fBnmh-storage\fR or the current working -directory. Any escapes (given below) will be expanded, except for the -a-escape. - -A command or pathname formatting string may contain the following escapes. -If the content isn't part of a multipart (of any subtype listed above) -content, the p-escapes are ignored. -.sp -.nf -.in +.5i -.ta \w'%P 'u -%a Parameters from Content-type (only valid with command) -%m Insert message number -%P Insert part number with leading dot -%p Insert part number without leading dot -%t Insert content type -%s Insert content subtype -%% Insert character % -.re -.in -.5i -.fi -.sp -If no formatting string is found, \fImhn\fR will check to see if the -content is application/octet-stream with parameter \*(lqtype=tar\*(rq. -If so, \fImhn\fR will choose an appropriate filename. If the content -is not application/octet-stream, then \fImhn\fR will check to see if the -content is a message. If so, \fImhn\fR will use the value \*(lq+\*(rq. -As a last resort, \fImhn\fR will use the value \*(lq%m%P.%s\*(rq. - -.ne 10 -Example profile entries might be: -.sp -.nf -.in +.5i -mhn-store-text: %m%P.txt -mhn-store-text: +inbox -mhn-store-message/partial: + -mhn-store-audio/basic: | raw2audio -e ulaw -s 8000 -c 1 > %m%P.au -mhn-store-image/jpeg: %m%P.jpg -mhn-store-application/PostScript: %m%P.ps -.in -.5i -.fi -.sp -.Uh "Reassembling Messages of Type message/partial" -When asked to store a content containing a partial message, \fImhn\fR -will try to locate all of the portions and combine them accordingly. -The default is to store the combined parts as a new message in the -current folder, although this can be changed using formatting -strings as discussed above. Thus, if someone has sent you a message -in several parts (such as the output from \fIsendfiles\fR), you can -easily reassemble them all into a single message in the following -fashion: -.sp -.nf -.in +.5i -% mhn -list 5-8 - msg part type/subtype size description - 5 message/partial 47K part 1 of 4 - 6 message/partial 47K part 2 of 4 - 7 message/partial 47K part 3 of 4 - 8 message/partial 18K part 4 of 4 -% mhn -store 5-8 -reassembling partials 5,6,7,8 to folder inbox as message 9 -% mhn -list -verbose 9 - msg part type/subtype size description - 9 application/octet-stream 118K - (extract with uncompress | tar xvpf -) - type=tar - conversions=compress -.in -.5i -.fi -.sp -This will store exactly one message, containing the sum of the -parts. It doesn't matter whether the partials are specified in -order, since \fImhn\fR will sort the partials, so that they are -combined in the correct order. But if \fImhn\fR can not locate -every partial necessary to reassemble the message, it will not -store anything. - -.Uh "External Access" -For contents of type message/external-body, -.ne 12 -\fImhn\fR supports these access-types: -.sp -.nf -.in +.5i -afs -anon-ftp -ftp -local-file -mail-server -.in -.5i -.fi -.sp -For the \*(lqanon-ftp\*(rq and \*(lqftp\*(rq access types, -\fImhn\fR will look for the \fBnmh-access-ftp\fR -profile entry, -.ne 6 -e.g., -.sp -.in +.5i -nmh-access-ftp: myftp.sh -.in -.5i -.sp -to determine the pathname of a program to perform the FTP retrieval. -.ne 14 -This program is invoked with these arguments: -.sp -.nf -.in +.5i -domain name of FTP-site -username -password -remote directory -remote filename -local filename -\*(lqascii\*(rq or \*(lqbinary\*(rq -.in -.5i -.fi -.sp -The program should terminate with an exit status of zero if the -retrieval is successful, and a non-zero exit status otherwise. - -If this entry is not provided, then \fImhn\fR will use a simple -built-in FTP client to perform the retrieval. - -.Uh "The Content Cache" -When \fImhn\fR encounters an external content containing a -\*(lqContent-ID:\*(rq field, and if the content allows caching, then -depending on the caching behavior of \fImhn\fR, the content might be -read from or written to a cache. - -The caching behavior of \fImhn\fR is controlled with the `\-rcache' -and `\-wcache' switches, which define the policy for reading from, -and writing to, the cache, respectively. One of four policies may be -specified: \*(lqpublic\*(rq, indicating that \fImhn\fR should make use -of a publically-accessible content cache; \*(lqprivate\*(rq, indicating -that \fImhn\fR should make use of the user's private content cache; -\*(lqnever\*(rq, indicating that \fImhn\fR should never make use of -caching; and, \*(lqask\*(rq, indicating that \fImhn\fR should ask -the user. - -There are two directories where contents may be cached: the profile entry -\fBnmh-cache\fR names a directory containing world-readable contents, and, -the profile entry \fBnmh-private-cache\fR names a directory containing -private contents. The former should be an absolute (rooted) directory -name. -.ne 6 -For example, -.sp -.in +.5i -nmh-cache: /tmp -.in -.5i -.sp -might be used if you didn't care that the cache got wiped after each -reboot of the system. The latter is interpreted relative to the user's -nmh directory, if not rooted, -.ne 6 -e.g., -.sp -.in +.5i -nmh-private-cache: .cache -.in -.5i -.sp -(which is the default value). - -.Uh "Caching the Contents" -When you encounter a content of type message/external-body with access -type \*(lqmail-server\*(rq, \fImhn\fR will ask you if may send a message -to a mail-server requesting the content, -.ne 14 -e.g., -.sp -.nf -.in +.5i -% show 1 -Retrieve content by asking mail-server@... - -SEND file - -? yes -mhn: request sent -.in -.5i -.fi -.sp -Regardless of your decision, -\fImhn\fR can't perform any other processing on the content. - -However, if \fImhn\fR is allowed to request the content, then when it -arrives, there should be a top-level \*(lqContent-ID:\*(rq field which -corresponds to the value in the original message/external-body content. -You should now use the `-cache' switch to tell \fImhn\fR to enter the -arriving content into the content cache, -.ne 8 -e.g., -.sp -.nf -.in +.5i -% mhn -cache 2 -caching message 2 as file ... -.in -.5i -.fi -.sp -You can then re-process the original message/external-body content, and -\*(lqthe right thing should happen\*(rq, -.ne 8 -e.g., -.sp -.nf -.in +.5i -% show 1 -\0... -.in -.5i -.fi +.B MHN SHOULD BE CONSIDERED DEPRECATED. IT IS RETAINED FOR THE PURPOSE +.B OF BACKWARD COMPATIBILITY, BUT EVERYONE SHOULD MIGRATE TO USING THE +.B COMMANDS MHSHOW, MHSTORE, AND MHLIST. CHECK THE INDIVIDUAL MAN PAGES +.B FOR DETAILS. -.Uh "User Environment" -Because the display environment in which \fImhn\fR operates may vary for -different machines, \fImhn\fR will look for the environment variable -\fB$MHN\fR. If present, this specifies the name of an additional -user profile which should be read. Hence, when a user logs in on a -particular display device, this environment variable should be set to -refer to a file containing definitions useful for the given display device. -Normally, only entries that deal with the methods to display different -content type and subtypes -.sp -.in +.5i -mhn-show-/ -.br -mhn-show- -.in -.5i -.sp -need be present in this additional profile. -Finally, -\fImhn\fR will attempt to consult one other additional user profile, -.ne 6 -e.g., -.sp -.in +.5i -%etcdir%/mhn.defaults -.in -.5i -.sp -which is created automatically during nmh installation. -.Fi -^$HOME/\&.mh\(ruprofile~^The user profile -^$MHN~^Additional profile entries -^%etcdir%/mhn.defaults~^System default MIME profile entries -^%etcdir%/mhl.headers~^The headers template -.Pr -^Path:~^To determine the user's nmh directory -.Ps -^Current\-Folder:~^To find the default current folder -.Ps -^mhlproc:~^Default program to display message headers -.Ps -^nmh-access-ftp:~^Program to retrieve contents via FTP -.Ps -^nmh-cache~^Public directory to store cached external contents -.Ps -^nmh-private-cache~^Personal directory to store cached external contents -.Ps -^mhn-charset-~^Template for environment to render character sets -.Ps -^mhn-show-*~^Template for displaying contents -.Ps -^nmh-storage~^Directory to store contents -.Ps -^mhn-store-*~^Template for storing contents -.Ps -^moreproc:~^Default program to display text/plain content -.Sa +.SH "SEE ALSO" mhbuild(1), mhl(1), sendfiles(1) -.br -RFC\-934: -.br - \fIProposed Standard for Message Encapsulation\fR, -.br -RFC\-2045: -.br - \fIMultipurpose Internet Mail Extensions (MIME) Part One: -.br - Format of Internet Message Bodies\fR, -.br -RFC\-2046: -.br - \fIMultipurpose Internet Mail Extensions (MIME) Part Two: -.br - Media Types\fR, -.br -RFC\-2047: -.br - \fIMultipurpose Internet Mail Extensions (MIME) Part Three: -.br - Message Header Extensions for Non-ASCII Text\fR, -.br -RFC\-2048: -.br - \fIMultipurpose Internet Mail Extensions (MIME) Part Four: -.br - Registration Procedures\fR, -.br -RFC\-2049: -.br - \fIMultipurpose Internet Mail Extensions (MIME) Part Five: -.br - Conformance Criteria and Examples\fR. -.De -`+folder' defaults to the current folder -.Ds -`msgs' defaults to cur -.Ds -`\-noauto' -.Ds -`\-nocache' -.Ds -`\-nocheck' -.Ds -`\-form mhl.headers' -.Ds -`\-headers' -.Ds -`\-pause' -.Ds -`\-rcache ask' -.Ds -`\-realsize' -.Ds -`\-noserialonly' -.Ds -`\-show' -.Ds -`\-noverbose' -.Ds -`\-wcache ask' -.Co -If a folder is given, it will become the current folder. The last -message selected will become the current message. -.Bu -Partial messages contained within a multipart content are not reassembled -with the `\-store' switch. -.En diff --git a/man/mhparam.man b/man/mhparam.man index dcba16e..debcb75 100644 --- a/man/mhparam.man +++ b/man/mhparam.man @@ -2,44 +2,49 @@ .\" %nmhwarning% .\" $Id$ .\" -.\" include the -mh macro file -.so %etcdir%/tmac.h -.\" .TH MHPARAM %manext1% "%nmhdate%" MH.6.8 [%nmhversion%] .SH NAME mhparam \- print nmh profile components .SH SYNOPSIS -.in +.5i -.ti -.5i -mhparam -\%[components] -\%[-all] -\%[-component] \%[-nocomponent] -.br -\%[\-version] -\%[\-help] -.in -.5i +.B mhparam +.RI [ components ] +.RB [ \-all ] +.RB [ \-component " | " \-nocomponent ] +.RB [ \-version ] +.RB [ \-help ] .SH DESCRIPTION -\fIMhparam\fR writes the value of the specified profile component to the +.B Mhparam +writes the value of the specified profile component to the standard output separated by newlines. If the profile component is not present, the default value (or nothing if there is no default) is printed. - -If the switch `\-component' is given, then the component name is displayed +.PP +If the switch +.B \-component +is given, then the component name is displayed along with the profile components value. This can be disabled with the -switch `\-nocomponent'. - -If more than one component is specified in the `components' list, then -the switch `\-component' is on by default. If only one component is -specified, then the switch `\-nocomponent' is on by default. - -If `\-all' is specified, then all components in the nmh profile are +switch +.BR \-nocomponent . +.PP +If more than one component is specified in the +.I components +list, then +the switch +.B \-component +is on by default. If only one component is +specified, then the switch +.B \-nocomponent +is on by default. +.PP +If +.B \-all +is specified, then all components in the nmh profile are displayed and other arguments are ignored. - +.PP Examples: - +.PP +.RS 5 .nf .ta \w'AliasFile:'u+2n -.in +.5i % mhparam path Mail @@ -56,26 +61,35 @@ rmmproc: rmmproc % mhparam \-nocomponent AliasFile rmmproc aliases rmmproc -.in -.5i .fi - -\fIMhparam\fR is also useful in back\-quoted operations: - +.RE +.PP +.B Mhparam +is also useful in back\-quoted operations: +.PP +.RS 5 .nf -.in +.5i % fgrep cornell.edu `mhpath +`/`mhparam aliasfile` - -.in -.5i .fi -.Fi +.RE +.PP + +.SH FILES +.fc ^ ~ +.nf +.ta \w'/usr/local/nmh/etc/ExtraBigFileName 'u ^$HOME/\&.mh\(ruprofile~^The user profile -.Sa -mh-profile\|(5) -.De -`\-nocomponent' if only one component is specified -`\-component' if more than one component is specified -.Ds -`components' defaults to none -.Co +.fi + +.SH "SEE ALSO" +mh-profile(5) + +.SH DEFAULTS +.nf +.RB ` \-nocomponent "' if only one component is specified" +.RB ` \-component "' if more than one component is specified" +.RB ` components "' defaults to none" +.fi + +.SH CONTEXT None -.En diff --git a/man/mhpath.man b/man/mhpath.man index 5f1a15f..26913c8 100644 --- a/man/mhpath.man +++ b/man/mhpath.man @@ -2,54 +2,60 @@ .\" %nmhwarning% .\" $Id$ .\" -.\" include the -mh macro file -.so %etcdir%/tmac.h -.\" .TH MHPATH %manext1% "%nmhdate%" MH.6.8 [%nmhversion%] .SH NAME mhpath \- print full pathnames of nmh messages and folders .SH SYNOPSIS -.in +.5i -.ti -.5i -mhpath -\%[+folder] \%[msgs] -\%[\-version] -\%[\-help] -.in -.5i +.HP 5 +.B mhpath +.RI [ +folder ] +.RI [ msgs ] +.RB [ \-version ] +.RB [ \-help ] .SH DESCRIPTION -\fIMhpath\fR expands and sorts the message list `msgs' and writes the full +.B Mhpath +expands and sorts the message list `msgs' and writes the full pathnames of the messages to the standard output separated by newlines. -If no `msgs' are specified, \fImhpath\fR outputs the folder pathname -instead. If the only argument is `+', your nmh \fIPath\fR is output; -this can be useful is shell scripts. - -Contrasted with other nmh commands, a message argument to \fImhpath\fR -may often be intended for \fIwriting\fR. Because of this: -.sp -1) the name \*(lqnew\*(rq has been added to \fImhpath\fR's list of +If no `msgs' are specified, +.B mhpath +outputs the folder pathname +instead. If the only argument is `+', your +.B nmh +\*(lqPath\*(rq is output; this can be useful is shell scripts. +.PP +Contrasted with other +.B nmh +commands, a message argument to +.B mhpath +may often be intended for writing. Because of this: +.PP +.IP 1) 4 +the name \*(lqnew\*(rq 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). 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. -.sp -2) Within a message list, the following designations may refer to messages +.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. All other message designations must refer to at least one existing message. -.sp -3) An empty folder is not in itself an error. - +.IP 3) 4 +An empty folder is not in itself an error. +.PP Message numbers greater than the highest existing message in a folder as part of a range designation are replaced with the next free message number. - +.PP Examples: The current folder foo contains messages 3 5 6. Cur is 4. - +.PP +.RS 5 .nf -.in +.5i % mhpath /r/phyl/Mail/foo @@ -89,48 +95,76 @@ no messages in range \*(lq1\-2\*(rq. % mhpath 1 2 /r/phyl/Mail/foo/1 /r/phyl/Mail/foo/2 -.in -.5i .fi - -\fImhpath\fR is also useful in back\-quoted operations: - +.RE +.PP +.B mhpath +is also useful in back\-quoted operations: +.PP +.RS 5 .nf -.in +.5i % cd `mhpath +inbox` % echo `mhpath +` /r/phyl/Mail -.in -.5i .fi -.Fi +.RE +.PP + +.SH FILES +.fc ^ ~ +.nf +.ta \w'/usr/local/nmh/etc/ExtraBigFileName 'u ^$HOME/\&.mh\(ruprofile~^The user profile -.Pr +.fi + +.SH "PROFILE COMPONENTS" +.fc ^ ~ +.nf +.ta 2.4i +.ta \w'ExtraBigProfileName 'u ^Path:~^To determine the user's nmh directory -.Ps ^Current\-Folder:~^To find the default current folder -.Sa +.fi + +.SH "SEE ALSO" folder(1) -.De -`+folder' defaults to the current folder -.Ds -`msgs' defaults to none -.Co + +.SH DEFAULTS +.nf +.RB ` +folder "' defaults to the current folder" +.RB ` msgs "' defaults to none" +.fi + +.SH CONTEXT None -.Bu -Like all nmh commands, \fImhpath\fR expands and sorts \%[msgs]. So don't -expect -.ti +.5i +.SH BUGS +Like all +.B nmh +commands, +.B mhpath +expands and sorts +.RI [ msgs ]. +So don't +expect +.PP +.RS 5 +.nf mv `mhpath 501 500` - +.fi +.RE +.PP to move 501 to 500. Quite the reverse. But - -.ti +.5i +.PP +.RS 5 +.nf mv `mhpath 501` `mhpath 500` - +.fi +.RE +.PP will do the trick. - +.PP Out of range message 0 is treated far more severely than large out of range message numbers. -.En diff --git a/man/mhshow.man b/man/mhshow.man index 3f5bb94..79a4899 100644 --- a/man/mhshow.man +++ b/man/mhshow.man @@ -2,70 +2,101 @@ .\" %nmhwarning% .\" $Id$ .\" -.\" include the -mh macro file -.so %etcdir%/tmac.h -.\" .TH MHSHOW %manext1% "%nmhdate%" MH.6.8 [%nmhversion%] .SH NAME mhshow \- display MIME messages .SH SYNOPSIS -.in +.5i -.ti -.5i -mhshow \%[+folder] \%[msgs] \%[\-file file] -.br -\%[\-part number]... \%[\-type content]... -.br -\%[\-serialonly] \%[\-noserialonly] -\%[\-pause] \%[\-nopause] -.br -\%[\-check] \%[\-nocheck] -\%[\-form formfile] -.br -\%[\-rcache policy] \%[\-wcache policy] -.br -\%[\-verbose] \%[\-noverbose] -\%[\-version] \%[\-help] -.in -.5i - +.HP 5 +.B mhshow +.RI [ +folder ] +.RI [ msgs ] +.RB [ \-file +.IR file ] +.RB [ \-part +.IR number ] +\&... +.RB [ \-type +.IR content ] +\&... +.RB [ \-serialonly " | " \-noserialonly ] +.RB [ \-pause " | " \-nopause ] +.RB [ \-form +.IR formfile ] +.RB [ \-rcache +.IR policy ] +.RB [ \-wcache +.IR policy ] +.RB [ \-check " | " \-nocheck ] +.RB [ \-version ] +.RB [ \-help ] .SH DESCRIPTION -The \fImhshow\fR command display contents of a MIME (multi-media) +The +.B mhshow +command display contents of a MIME (multi-media) message or collection of messages. - -\fImhshow\fR manipulates multi-media messages as specified in -RFC\-2045 thru RFC\-2049. Currently \fImhshow\fR only supports +.PP +.B mhshow +manipulates multi-media messages as specified in +RFC\-2045 thru RFC\-2049. Currently +.B mhshow +only supports encodings in message bodies, and does not support the encoding of message headers as specified in RFC\-2047. - -By default \fImhshow\fR will display all parts of a multipart -message. By using the `\-part' and `\-type' switches, you may -limit the scope of \fImhshow\fR to particular subparts (of a +.PP +By default +.B mhshow +will display all parts of a multipart +message. By using the +.B \-part +and +.B \-type +switches, you may +limit the scope of +.B mhshow +to particular subparts (of a multipart content) and/or particular content types. - -The option `\-file\ file' directs \fImhshow\fR to use the specified file as +.PP +The option +.B \-file +.I file +directs +.B mhshow +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 \fImhshow\fR will accept the source message +this file as \*(lq-\*(rq, then +.B mhshow +will accept the source message on the standard input. Note that the file, or input from standard input -should be a validly formatted message, just like any other \fInmh\fR -message. It should \fBNOT\fR be in mail drop format (to convert a file in -mail drop format to a folder of \fInmh\fR messages, see \fIinc\fR\0(1)). - +should be a validly formatted message, just like any other +.B nmh +message. It should +.B NOT +be in mail drop format (to convert a file in +mail drop format to a folder of +.B nmh +messages, see +.BR inc (1)). +.PP A part specification consists of a series of numbers separated by dots. For example, in a multipart content containing three parts, these would be named as 1, 2, and 3, respectively. If part 2 was also a multipart content containing two parts, these would be named as 2.1 and -2.2, respectively. Note that the `\-part' switch is effective for only +2.2, respectively. Note that the +.B \-part +switch is effective for only messages containing a multipart content. If a message has some other kind of content, or if the part is itself another multipart content, the -`\-part' switch will not prevent the content from being acted upon. - +.B \-part +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 be found in RFC\-2046. -.ne 18 +.PP A list of commonly used contents is briefly reproduced here: -.sp +.PP +.RS 5 .nf -.in +.5i .ta \w'application 'u Type Subtypes ---- -------- @@ -76,10 +107,9 @@ application octet-stream, postscript image jpeg, gif, png audio basic video mpeg -.re -.in -.5i .fi -.sp +.RE +.PP A legal MIME message must contain a subtype specification. .PP To specify a content, regardless of its subtype, just use the @@ -91,90 +121,108 @@ Further note that if the `\-type' switch is used, and it is desirable to act on a message/external-body content, then the `\-type' switch must be used twice: once for message/external-body and once for the content externally referenced. - -.Uh "Unseen Sequence" - +.SS "Unseen Sequence" If the profile entry \*(lqUnseen\-Sequence\*(rq is present and -non\-empty, then \fImhshow\fR will remove each of the messages shown +non\-empty, then +.B mhshow +will remove each of the messages shown from each sequence named by the profile entry. - -.Uh "Checking the Contents" -The `\-check' switch tells \fImhshow\fR to check each content for an +.SS "Checking the Contents" +The +.B \-check +switch tells +.B mhshow +to check each content for an integrity checksum. If a content has such a checksum (specified as a -Content-MD5 header field), then \fImhshow\fR will attempt to verify the +Content-MD5 header field), then +.B mhshow +will attempt to verify the integrity of the content. - -.Uh "Showing the Contents" -The headers of each message are displayed with the \fImhlproc\fR -(usually \fImhl\fR), using the standard format file \fImhl.headers\fR. -You may specify an alternate format file with the `\-form formfile' -switch. If the format file \fImhl.null\fR is specified, then the display +.SS "Showing the Contents" +The headers of each message are displayed with the +.I mhlproc +(usually +.BR mhl ), +using the standard format file +.IR mhl.headers . +You may specify an alternate format file with the +.B \-form +.I formfile +switch. If the format file +.I mhl.null +is specified, then the display of the message headers is suppressed. - +.PP Next, the contents are extracted from the message and are stored in -a temporary file. Usually, the name of the temporary file the -word "mhshow" followed by a string of characters. Occasionally, +a temporary file. Usually, the name of the temporary file is the +word \*(lqmhshow\*(rq 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 \fIsoffice\fR +the file end in a specific suffix. For example, the +.B soffice command (part of the StarOffice package) can be used to display -MicroSoft Word content, but it uses the suffix to determine how to display +Microsoft Word content, but it uses the suffix to determine how to display the file. If no suffix is present, the file is not correctly loaded. -Similarily, older versions of the \fIgs\fR command append a ".ps" suffix to +Similarily, older versions of the +.B gs +command append a \*(lq.ps\*(rq suffix to the filename if one was missing. As a result, these cannot be used to read the default temporary file. - +.PP To get around this, your profile can contain lines of the form: -.sp -.in +.5i +.PP +.RS 5 mhshow-suffix-/: -.in -.5i -.sp +.RE +.PP or -.sp -.in +.5i +.PP +.RS 5 mhshow-suffix-: -.in -.5i -.sp +.RE +.PP to specify a suffix which can be automatically added to the temporary file created for a specific content type. For example, the following lines might appear in your profile: -.sp +.PP +.RS 5 .nf -.in +.5i mhshow-suffix-text: .txt mhshow-suffix-application/msword: .doc mhshow-suffix-application/PostScript: .ps -.in -.5i .fi -.sp +.RE +.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 -string, \fImhshow\fR will first search your profile for an entry of the -form: -.sp -.in +.5i +string, +.B mhshow +will first search your profile for an entry of the form: +.PP +.RS 5 mhshow-show-/ -.in -.5i -.sp -to determine the display string. If this isn't found, \fImhshow\fR +.RE +.PP +to determine the display string. If this isn't found, +.B mhshow will search for an entry of the form: -.sp -.in +.5i +.PP +.RS 5 mhshow-show- -.in -.5i -.sp +.RE +.PP to determine the display string. - +.PP If a display string is found, any escapes (given below) will be expanded. -The result will be executed under \fB/bin/sh\fR, with the standard input +The result will be executed under +\*(lq/bin/sh\*(rq, with the standard input set to the content. -.ne 16 +.PP The display string may contain the following escapes: -.sp +.PP +.RS 5 .nf -.in +.5i .ta \w'%F 'u %a Insert parameters from Content-Type field %e exclusive execution @@ -185,169 +233,224 @@ The display string may contain the following escapes: %s Insert content subtype %d Insert content description %% Insert the character % -.re -.in -.5i .fi -.sp -.ne 10 -For those display strings containing the e- or F-escape, \fImhshow\fR will +.RE +.PP +For those display strings containing the e- or F-escape, +.B mhshow +will execute at most one of these at any given time. Although the F-escape expands to be the filename containing the content, the e-escape has no expansion as far as the shell is concerned. - +.PP When the p-escape prompts for confirmation, typing INTR (usually -control-C) will tell \fImhshow\fR not to display that content. -The p-escape can be disabled by specifying the switch `\-nopause'. -Further, when \fImhshow\fR is display a content, typing QUIT (usually -control-\\) will tell \fImhshow\fR to wrap things up immediately. - +control-C) will tell +.B mhshow +not to display that content. +The p-escape can be disabled by specifying the switch +.BR \-nopause . +Further, when +.B mhshow +is display a content, typing QUIT (usually +control-\\) will tell +.B mhshow +to wrap things up immediately. +.PP Note that if the content being displayed is multipart, but not one of the subtypes listed above, then the f- and F-escapes expand to multiple filenames, one for each subordinate content. Further, stdin is not redirected from the terminal to the content. - -If a display string is not found, \fImhshow\fR has several default values: -.sp +.PP +If a display string is not found, +.B mhshow +has several default values: +.PP +.RS 5 .nf -.in +.5i mhshow-show-text/plain: %pmoreproc '%F' mhshow-show-message/rfc822: %pshow -file '%F' -.in -.5i .fi -.sp +.RE +.PP If a subtype of type text doesn't have a profile entry, it will be treated as text/plain. - -\fImhshow\fR has default methods for handling multipart messages of subtype +.PP +.B mhshow +has default methods for handling multipart messages of subtype mixed, alternative, parallel, and digest. Any unknown subtype of type multipart (without a profile entry), will be treated as multipart/mixed. - -If none of these apply, then \fImhshow\fR will check to see if the message +.PP +If none of these apply, then +.B mhshow +will check to see if the message has an application/octet-stream content with parameter \*(lqtype=tar\*(rq. -If so, \fImhshow\fR will use an appropriate command. If not, \fImhshow\fR +If so, +.B mhshow +will use an appropriate command. If not, +.B mhshow will complain. - -.ne 10 +.PP Example entries might be: -.sp +.PP +.RS 5 .nf -.in +.5i mhshow-show-audio/basic: raw2audio 2>/dev/null | play mhshow-show-image: xv '%f' mhshow-show-application/PostScript: lpr -Pps -.in -.5i .fi -.sp +.RE +.PP Note that when using the f- or F-escape, it's a good idea to use single-quotes around the escape. This prevents misinterpretation by the shell of any funny characters that might be present in the filename. - -Finally, \fImhshow\fR will process each message serially\0--\0it won't start +.PP +Finally, +.B mhshow +will process each message serially\0--\0it won't start showing the next message until all the commands executed to display the current message have terminated. In the case of a multipart content (of any subtype listed above), the content contains advice indicating if the parts should be displayed serially or in parallel. Because this may -cause confusion, particularly on uni-window displays, the `\-serialonly' -switch can be given to tell \fImhshow\fR to never display parts in parallel. - -.Uh "Showing Alternate Character Sets" +cause confusion, particularly on uni-window displays, the +.B \-serialonly +switch can be given to tell +.B mhshow +to never display parts in parallel. +.SS "Showing Alternate Character Sets" Because a content of type text might be in a non-ASCII character -set, when \fImhshow\fR encounters a \*(lqcharset\*(rq parameter for +set, when +.B mhshow +encounters a \*(lqcharset\*(rq parameter for this content, it checks if your terminal can display this character -set natively. \fIMhn\fR checks this by examining the the environment -variable MM_CHARSET. If the value of this environment variable is equal -to the value of the charset parameter, then \fImhshow\fR assumes it can +set natively. +.B mhn +checks this by examining the the environment +variable +.BR $MM_CHARSET . +If the value of this environment variable is equal +to the value of the charset parameter, then +.B mhshow +assumes it can display this content without any additional setup. If this environment -variable is not set, \fImhshow\fR will assume a value of \*(lqUS-ASCII\*(rq. -If the character set cannot be displayed natively, then \fImhshow\fR will -look for an entry of the form: -.sp -.in +.5i +variable is not set, +.B mhshow +will assume a value of \*(lqUS-ASCII\*(rq. +If the character set cannot be displayed natively, then +.B mhshow +will look for an entry of the form: +.PP +.RS 5 mhshow-charset- -.in -.5i -.sp +.RE +.PP which should contain a command creating an environment to render the character set. This command string should containing a single \*(lq%s\*(rq, which will be filled-in with the command to display the content. - +.PP Example entries might be: -.sp -.in +.5i +.PP +.RS 5 mhshow-charset-iso-8859-1: xterm -fn '-*-*-medium-r-normal-*-*-120-*-*-c-*-iso8859-*' -e %s -.in -.5i +.RE +.PP or -.in +.5i +.PP +.RS 5 mhshow-charset-iso-8859-1: '%s' -.in -.5i -.sp -The first example tells \fImhshow\fR to start \fIxterm\fR and load the +.RE +.PP +The first example tells +.B mhshow +to start +.B xterm +and load the appropriate character set for that message content. The second example -tells \fImhshow\fR that your pager (or other program handling that content +tells +.B mhshow +that your pager (or other program handling that content type) can handle that character set, and that no special processing is needed beforehand. -.sp +.PP Note that many pagers strip off the high-order bit or have problems displaying text with the high-order bit set. However, the pager -\fIless\fR has support for single-octet character sets. The source -to \fIless\fR is available on many ftp sites carrying free software. +.B less +has support for single-octet character sets. The source +to +.B less +is available on many ftp sites carrying free software. In order to view messages sent in the ISO-8859-1 character set using -\fIless\fR, -.ne 9 -put these lines in your \&.login file: -.sp +.BR less , +.PP +put these lines in your +.I \&.login +file: +.PP +.RS 5 .nf -.in +.5i setenv LESSCHARSET latin1 setenv LESS "-f" -.in -.5i .fi -.sp -The first line tells \fIless\fR to use the ISO-8859-1 definition for +.RE +.PP +The first line tells +.B less +to use the ISO-8859-1 definition for determining whether a character is \*(lqnormal\*(rq, \*(lqcontrol\*(lq, -or \*(lqbinary\*(rq. The second line tells \fIless\fR not to warn you +or \*(lqbinary\*(rq. The second line tells +.B less +not to warn you if it encounters a file that has non-ASCII characters. Then, simply -set the \fBmoreproc\fR profile entry to \fIless\fR, and it will get +set the +.I moreproc +profile entry to +.BR less , +and it will get called automatically. (To handle other single-octet character sets, -look at the \fIless\fR\0(1) manual entry for information about the -\fBLESSCHARDEF\fR environment variable.) - -.Uh "Messages of Type message/partial" -\fImhshow\fR cannot directly display messages of type partial. +look at the +.BR less (1) +manual entry for information about the +.B $LESSCHARDEF +environment variable.) +.SS "Messages of Type message/partial" +.B mhshow +cannot directly display messages of type partial. You must reassemble them first into a normal message using -\fImhstore\fR. Check the man page for \fImhstore\fR for details. - -.Uh "External Access" +.BR mhstore . +Check the man page for +.BR mhstore (1) +for details. +.SS "External Access" For contents of type message/external-body, -.ne 12 -\fImhshow\fR supports these access-types: -.sp -.nf -.in +.5i +.B mhshow +supports these access-types: +.PP +.IP \(bu 4 afs +.IP \(bu 4 anon-ftp +.IP \(bu 4 ftp +.IP \(bu 4 local-file +.IP \(bu 4 mail-server -.in -.5i -.fi -.sp +.PP For the \*(lqanon-ftp\*(rq and \*(lqftp\*(rq access types, -\fImhshow\fR will look for the \fBnmh-access-ftp\fR -profile entry, -.ne 6 -e.g., -.sp -.in +.5i +.B mhshow +will look for the \*(lqnmh-access-ftp\*(rq +profile entry, e.g., +.PP +.RS 5 nmh-access-ftp: myftp.sh -.in -.5i -.sp +.RE +.PP to determine the pathname of a program to perform the FTP retrieval. -.ne 14 +.PP This program is invoked with these arguments: -.sp +.PP +.RS 5 .nf -.in +.5i domain name of FTP-site username password @@ -355,164 +458,147 @@ remote directory remote filename local filename \*(lqascii\*(rq or \*(lqbinary\*(rq -.in -.5i .fi -.sp +.RE +.PP The program should terminate with an exit status of zero if the retrieval is successful, and a non-zero exit status otherwise. - -If this entry is not provided, then \fImhshow\fR will use a simple +.PP +If this entry is not provided, then +.B mhshow +will use a simple built-in FTP client to perform the retrieval. - -.Uh "The Content Cache" -When \fImhshow\fR encounters an external content containing a +.SS "The Content Cache" +When +.B mhshow +encounters an external content containing a \*(lqContent-ID:\*(rq field, and if the content allows caching, then -depending on the caching behavior of \fImhshow\fR, the content might be -read from or written to a cache. - -The caching behavior of \fImhshow\fR is controlled with the `\-rcache' -and `\-wcache' switches, which define the policy for reading from, +depending on the caching behavior of +.BR mhshow , +the content might be read from or written to a cache. +.PP +The caching behavior of +.B mhshow +is controlled with the +.B \-rcache +and +.B \-wcache +switches, which define the policy for reading from, and writing to, the cache, respectively. One of four policies may be -specified: \*(lqpublic\*(rq, indicating that \fImhshow\fR should make use +specified: \*(lqpublic\*(rq, indicating that +.B mhshow +should make use of a publically-accessible content cache; \*(lqprivate\*(rq, indicating -that \fImhshow\fR should make use of the user's private content cache; -\*(lqnever\*(rq, indicating that \fImhshow\fR should never make use of -caching; and, \*(lqask\*(rq, indicating that \fImhshow\fR should ask -the user. - +that +.B mhshow +should make use of the user's private content cache; +\*(lqnever\*(rq, indicating that +.B mhshow +should never make use of +caching; and, \*(lqask\*(rq, indicating that +.B mhshow +should ask the user. +.PP There are two directories where contents may be cached: the profile entry -\fBnmh-cache\fR names a directory containing world-readable contents, and, -the profile entry \fBnmh-private-cache\fR names a directory containing +\*(lqnmh-cache\*(rq names a directory containing world-readable contents, and, +the profile entry \*(lqnmh-private-cache\*(rq names a directory containing private contents. The former should be an absolute (rooted) directory name. -.ne 6 +.PP For example, -.sp -.in +.5i +.PP +.RS 5 nmh-cache: /tmp -.in -.5i -.sp +.RE +.PP might be used if you didn't care that the cache got wiped after each reboot of the system. The latter is interpreted relative to the user's -nmh directory, if not rooted, -.ne 6 -e.g., -.sp -.in +.5i +nmh directory, if not rooted, e.g., +.PP +.RS 5 nmh-private-cache: .cache -.in -.5i -.sp +.RE +.PP (which is the default value). - -.Uh "User Environment" -Because the display environment in which \fImhshow\fR operates may vary for -different machines, \fImhshow\fR will look for the environment variable -\fB$MHSHOW\fR. If present, this specifies the name of an additional +.SS "User Environment" +Because the display environment in which +.B mhshow +operates may vary for +different machines, +.B mhshow +will look for the environment variable +.BE $MHSHOW . +If present, this specifies the name of an additional user profile which should be read. Hence, when a user logs in on a particular display device, this environment variable should be set to refer to a file containing definitions useful for the given display device. Normally, only entries that deal with the methods to display different content type and subtypes -.sp -.in +.5i +.PP +.RS 5 +.nf mhshow-show-/ -.br mhshow-show- -.in -.5i -.sp -need be present in this additional profile. -Finally, -\fImhshow\fR will attempt to consult one other additional user profile, -.ne 6 +.fi +.RE +.PP +need be present in this additional profile. Finally, +.B mhshow +will attempt to consult one other additional user profile, e.g., -.sp -.in +.5i +.PP +.RS 5 %etcdir%/mhn.defaults -.in -.5i -.sp -which is created automatically during nmh installation. -.Fi +.RE +.PP +which is created automatically during +.B nmh +installation. + +.SH FILES +.fc ^ ~ +.nf +.ta \w'/usr/local/nmh/etc/ExtraBigFileName 'u ^$HOME/\&.mh\(ruprofile~^The user profile ^$MHSHOW~^Additional profile entries ^%etcdir%/mhn.defaults~^System default MIME profile entries ^%etcdir%/mhl.headers~^The headers template -.Pr +.fi + +.SH "PROFILE COMPONENTS" +.fc ^ ~ +.nf +.ta 2.4i +.ta \w'ExtraBigProfileName 'u ^Path:~^To determine the user's nmh directory -.Ps ^Current\-Folder:~^To find the default current folder -.Ps ^Unseen\-Sequence:~^To name sequences denoting unseen messages -.Ps ^mhlproc:~^Default program to display message headers -.Ps ^nmh-access-ftp:~^Program to retrieve contents via FTP -.Ps ^nmh-cache~^Public directory to store cached external contents -.Ps ^nmh-private-cache~^Personal directory to store cached external contents -.Ps ^mhshow-charset-~^Template for environment to render character sets -.Ps ^mhshow-show-*~^Template for displaying contents -.Ps ^moreproc:~^Default program to display text/plain content -.Sa +.fi + +.SH "SEE ALSO" mhbuild(1), mhl(1), mhlist(1), mhstore(1), sendfiles(1) -.br -RFC\-934: -.br - \fIProposed Standard for Message Encapsulation\fR, -.br -RFC\-2045: -.br - \fIMultipurpose Internet Mail Extensions (MIME) Part One: -.br - Format of Internet Message Bodies\fR, -.br -RFC\-2046: -.br - \fIMultipurpose Internet Mail Extensions (MIME) Part Two: -.br - Media Types\fR, -.br -RFC\-2047: -.br - \fIMultipurpose Internet Mail Extensions (MIME) Part Three: -.br - Message Header Extensions for Non-ASCII Text\fR, -.br -RFC\-2048: -.br - \fIMultipurpose Internet Mail Extensions (MIME) Part Four: -.br - Registration Procedures\fR, -.br -RFC\-2049: -.br - \fIMultipurpose Internet Mail Extensions (MIME) Part Five: -.br - Conformance Criteria and Examples\fR. -.De -`+folder' defaults to the current folder -.Ds -`msgs' defaults to cur -.Ds -`\-nocheck' -.Ds -`\-form mhl.headers' -.Ds -`\-pause' -.Ds -`\-rcache ask' -.Ds -`\-realsize' -.Ds -`\-noserialonly' -.Ds -`\-noverbose' -.Ds -`\-wcache ask' -.Co + +.SH DEFAULTS +.nf +.RB ` +folder "' defaults to the current folder" +.RB ` msgs "' defaults to cur" +.RB ` \-nocheck ' +.RB ` \-form mhl.headers ' +.RB ` \-pause ' +.RB ` \-rcache ask ' +.RB ` \-realsize ' +.RB ` \-noserialonly ' +.RB ` \-noverbose ' +.RB ` \-wcache ask ' +.fi + +.SH CONTEXT If a folder is given, it will become the current folder. The last message selected will become the current message. -.En diff --git a/man/mhstore.man b/man/mhstore.man index b7f8a5e..8c1e929 100644 --- a/man/mhstore.man +++ b/man/mhstore.man @@ -2,70 +2,99 @@ .\" %nmhwarning% .\" $Id$ .\" -.\" include the -mh macro file -.so %etcdir%/tmac.h -.\" .TH MHSTORE %manext1% "%nmhdate%" MH.6.8 [%nmhversion%] .SH NAME mhstore \- store contents of MIME messages into files .SH SYNOPSIS -.in +.5i -.ti -.5i -mhstore \%[+folder] \%[msgs] \%[\-file file] -.br -\%[\-part number]... \%[\-type content]... -.br -\%[\-auto] \%[\-noauto] -\%[\-check] \%[\-nocheck] -.br -\%[\-rcache policy] \%[\-wcache policy] -.br -\%[\-verbose] \%[\-noverbose] -\%[\-version] -\%[\-help] -.in -.5i - +.HP 5 +.B mhstore +.RI [ +folder ] +.RI [ msgs ] +.RB [ \-file +.IR file ] +.RB [ \-part +.IR number ] +\&... +.RB [ \-type +.IR content ] +\&... +.RB [ \-auto " | " \-noauto ] +.RB [ \-verbose " | " \-noverbose ] +.RB [ \-rcache +.IR policy ] +.RB [ \-wcache +.IR policy ] +.RB [ \-check " | " \-nocheck ] +.RB [ \-version ] +.RB [ \-help ] .SH DESCRIPTION -The \fImhstore\fR command allows you to store the contents of a +The +.B mhstore +command allows you to store the contents of a collection of MIME (multi-media) messages into files or other messages. - -\fImhstore\fR manipulates multi-media messages as specified in +.PP +.B mhstore +manipulates multi-media messages as specified in RFC\-2045 thru RFC\-2049. - -By default, \fImhstore\fR will store all the parts of each message. +.PP +By default, +.B mhstore +will store all the parts of each message. Each part will be store in a separate file. The header fields of -the message are not stored. By using the `\-part' and `\-type' -switches, you may limit the scope of \fImhstore\fR to particular +the message are not stored. By using the +.B \-part +and +.B \-type +switches, you may limit the scope of +.B mhstore +to particular subparts (of a multipart content) and/or particular content types. - -The option `\-file\ file' directs \fImhstore\fR to use the specified +.PP +The option +.B \-file +.I file +directs +.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 \fImhstore\fR will +If you specify this file as \*(lq-\*(rq, then +.B mhstore +will accept the source message on the standard input. Note that the file, or input from standard input should be a validly formatted -message, just like any other \fInmh\fR message. It should \fBNOT\fR +message, just like any other +.B nmh +message. It should +.B NOT be in mail drop format (to convert a file in mail drop format to -a folder of \fInmh\fR messages, see \fIinc\fR\0(1)). - +a folder of +.B nmh +messages, see +.BR inc (1)). +.PP A part specification consists of a series of numbers separated by dots. For example, in a multipart content containing three parts, these would be named as 1, 2, and 3, respectively. If part 2 was also a multipart content containing two parts, these would be named -as 2.1 and 2.2, respectively. Note that the `\-part' switch is +as 2.1 and 2.2, respectively. Note that the +.B \-part +switch is effective for only messages containing a multipart content. If a message has some other kind of content, or if the part is itself -another multipart content, the `\-part' switch will not prevent +another multipart content, the +.B \-part +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 be found in RFC\-2046. -.ne 18 +.PP A list of commonly used contents is briefly reproduced here: -.sp +.PP +.RS 5 .nf -.in +.5i .ta \w'application 'u Type Subtypes ---- -------- @@ -76,101 +105,127 @@ application octet-stream, postscript image jpeg, gif, png audio basic video mpeg -.re -.in -.5i .fi -.sp +.RE +.PP 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. -Note that regardless of the values given to the `\-type' switch, +Note that regardless of the values given to the +.B \-type +switch, a multipart content (of any subtype listed above) is always acted -upon. Further note that if the `\-type' switch is used, and it is +upon. Further note that if the +.B \-type +switch is used, and it is desirable to act on a message/external-body content, then the -`\-type' switch must be used twice: once for message/external-body +.B \-type +switch must be used twice: once for message/external-body and once for the content externally referenced. - -.Uh "Checking the Contents" -The `\-check' switch tells \fImhstore\fR to check each content for +.SS "Checking the Contents" +The +.B \-check +switch tells +.B mhstore +to check each content for an integrity checksum. If a content has such a checksum (specified -as a Content-MD5 header field), then \fImhstore\fR will attempt to +as a Content-MD5 header field), then +.B mhstore +will attempt to verify the integrity of the content. - -.Uh "Storing the Contents" -The \fImhstore\fR will store the contents of the named messages in +.SS "Storing the Contents" +The +.B mhstore +will store the contents of the named messages in \*(lqnative\*(rq (decoded) format. Two things must be determined: the directory to store the content, and the filenames. Files are -written in the directory given by the \fBnmh-storage\fR profile -entry, -.ne 6 -e.g., -.sp -.in +.5i +written in the directory given by the \*(lqnmh-storage\*(rq profile +entry, e.g., +.PP +.RS 5 nmh-storage: /tmp -.in -.5i -.sp +.RE +.PP If this entry isn't present, the current working directory is used. - -If the `\-auto' switch is given, then \fImhstore\fR will check if +.PP +If the +.B \-auto +switch is given, then +.B mhstore +will check if the message contains information indicating the filename that should be used to store the content. This information should be specified -as the attribute \*(lqname=filename\*(rq in the Content-Type header +as the attribute \*(lqname=filename\*(rq in the \*(lqContent-Type\*(rq header for the content you are storing. For security reasons, this filename will be ignored if it begins with the character '/', '.', '|', or '!', or if it contains the character '%'. For the sake of security, this switch is not the default, and it is recommended that you do -NOT put the `\-auto' switch in your \&.mh\(ruprofile file. - -If the `\-auto' switch is not given (or is being ignored for security -reasons) then \fImhstore\fR will look in the user's profile for a +NOT put the +.B \-auto +switch in your +.I \&.mh\(ruprofile +file. +.PP +If the +.B \-auto +switch is not given (or 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 -should be stored. First, \fImhstore\fR will look for an entry of +should be stored. First, +.B mhstore +will look for an entry of the form: -.sp -.in +.5i +.PP +.RS 5 mhstore-store-/ -.in -.5i -.sp -to determine the formatting string. If this isn't found, \fImhstore\fR +.RE +.PP +to determine the formatting string. If this isn't found, +.B mhstore will look for an entry of the form: -.sp -.in +.5i +.PP +.RS 5 mhstore-store- -.in -.5i -.sp +.RE +.PP to determine the formatting string. - +.PP If the formatting string starts with a \*(lq+\*(rq 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 folder. - +.PP If the formatting string consists solely of a \*(lq-\*(rq character, then the content is sent to the standard output. - +.PP If the formatting string starts with a '|', then the display string -will represent a command for \fImhstore\fR to execute which should +will represent a command for +.B mhstore +to execute which should ultimately store the content. The content will be passed to the standard input of the command. Before the command is executed, -\fImhstore\fR will change to the appropriate directory, and any +.B mhstore +will change to the appropriate directory, and any escapes (given below) in the display string will be expanded. - +.PP 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 the value of \fBnmh-storage\fR or +file name will be relative to the value of \*(lqnmh-storage\*(rq or the current working directory. Any escapes (given below) will be expanded, except for the a-escape. - +.PP A command or pathname formatting string may contain the following escapes. If the content isn't part of a multipart (of any subtype listed above) content, the p-escapes are ignored. -.sp +.PP +.RS 5 .nf -.in +.5i .ta \w'%P 'u %a Parameters from Content-type (only valid with command) %m Insert message number @@ -179,47 +234,56 @@ listed above) content, the p-escapes are ignored. %t Insert content type %s Insert content subtype %% Insert character % -.re -.in -.5i .fi -.sp -If no formatting string is found, \fImhstore\fR will check to see +.RE +.PP +If no formatting string is found, +.B mhstore +will check to see if the content is application/octet-stream with parameter -\*(lqtype=tar\*(rq. If so, \fImhstore\fR will choose an appropriate +\*(lqtype=tar\*(rq. If so, +.B mhstore +will choose an appropriate filename. If the content is not application/octet-stream, then -\fImhstore\fR will check to see if the content is a message. If -so, \fImhstore\fR will use the value \*(lq+\*(rq. As a last resort, -\fImhstore\fR will use the value \*(lq%m%P.%s\*(rq. - -.ne 10 +.B mhstore +will check to see if the content is a message. If +so, +.B mhstore +will use the value \*(lq+\*(rq. As a last resort, +.B mhstore +will use the value \*(lq%m%P.%s\*(rq. +.PP Example profile entries might be: -.sp +.PP +.RS 5 .nf -.in +.5i mhstore-store-text: %m%P.txt mhstore-store-text: +inbox mhstore-store-message/partial: + mhstore-store-audio/basic: | raw2audio -e ulaw -s 8000 -c 1 > %m%P.au mhstore-store-image/jpeg: %m%P.jpg mhstore-store-application/PostScript: %m%P.ps -.in -.5i .fi -.sp -.Uh "Reassembling Messages of Type message/partial" -\fImhstore\fR is also able to reassemble messages that have been +.RE +.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. - +.PP When asked to store a content containing a partial message, -\fImhstore\fR will try to locate all of the portions and combine +.B mhstore +will try to locate all of the portions and combine them accordingly. The default is to store the combined parts as a new message in the current folder, although this can be changed using formatting strings as discussed above. Thus, if someone has sent you a message in several parts (such as the output from -\fIsendfiles\fR), you can easily reassemble them all into a single +.BR sendfiles ), +you can easily reassemble them all into a single message in the following fashion: -.sp +.PP +.RS 5 .nf -.in +.5i % mhlist 5-8 msg part type/subtype size description 5 message/partial 47K part 1 of 4 @@ -234,47 +298,48 @@ reassembling partials 5,6,7,8 to folder inbox as message 9 (extract with uncompress | tar xvpf -) type=tar conversions=compress -.in -.5i .fi -.sp +.RE +.PP This will store exactly one message, containing the sum of the parts. It doesn't matter whether the partials are specified in -order, since \fImhstore\fR will sort the partials, so that they -are combined in the correct order. But if \fImhstore\fR can not +order, since +.B mhstore +will sort the partials, so that they +are combined in the correct order. But if +.B mhstore +can not locate every partial necessary to reassemble the message, it will not store anything. - -.Uh "External Access" +.SS "External Access" For contents of type message/external-body, -.ne 12 \fImhstore\fR supports these access-types: -.sp -.nf -.in +.5i +.PP +.IP \(bu 4 afs +.IP \(bu 4 anon-ftp +.IP \(bu 4 ftp +.IP \(bu 4 local-file +.IP \(bu 4 mail-server -.in -.5i -.fi -.sp +.PP For the \*(lqanon-ftp\*(rq and \*(lqftp\*(rq access types, -\fImhstore\fR will look for the \fBnmh-access-ftp\fR -profile entry, -.ne 6 -e.g., -.sp -.in +.5i +.B mhstore +will look for the \*(lqnmh-access-ftp\*(rq +profile entry, e.g., +.PP +.RS 5 nmh-access-ftp: myftp.sh -.in -.5i -.sp +.RE +.PP to determine the pathname of a program to perform the FTP retrieval. -.ne 14 This program is invoked with these arguments: -.sp +.PP +.RS 5 .nf -.in +.5i domain name of FTP-site username password @@ -282,139 +347,132 @@ remote directory remote filename local filename \*(lqascii\*(rq or \*(lqbinary\*(rq -.in -.5i .fi -.sp +.RE +.PP The program should terminate with an exit status of zero if the retrieval is successful, and a non-zero exit status otherwise. - -If this entry is not provided, then \fImhstore\fR will use a simple +.PP +If this entry is not provided, then +.B mhstore +will use a simple built-in FTP client to perform the retrieval. - -.Uh "The Content Cache" -When \fImhstore\fR encounters an external content containing a +.SS "The Content Cache" +When +.B mhstore +encounters an external content containing a \*(lqContent-ID:\*(rq field, and if the content allows caching, then -depending on the caching behavior of \fImhstore\fR, the content might be -read from or written to a cache. - -The caching behavior of \fImhstore\fR is controlled with the `\-rcache' -and `\-wcache' switches, which define the policy for reading from, +depending on the caching behavior of +.BR mhstore , +the content might be read from or written to a cache. +.PP +The caching behavior of +.B mhstore +is controlled with the +.B \-rcache +and +.B \-wcache +switches, which define the policy for reading from, and writing to, the cache, respectively. One of four policies may be -specified: \*(lqpublic\*(rq, indicating that \fImhstore\fR should make use +specified: \*(lqpublic\*(rq, indicating that +.B mhstore +should make use of a publically-accessible content cache; \*(lqprivate\*(rq, indicating -that \fImhstore\fR should make use of the user's private content cache; -\*(lqnever\*(rq, indicating that \fImhstore\fR should never make use of -caching; and, \*(lqask\*(rq, indicating that \fImhstore\fR should ask -the user. - +that +.B mhstore +should make use of the user's private content cache; +\*(lqnever\*(rq, indicating that +.B mhstore +should never make use of +caching; and, \*(lqask\*(rq, indicating that +.B mhstore +should ask the user. +.PP There are two directories where contents may be cached: the profile entry -\fBnmh-cache\fR names a directory containing world-readable contents, and, -the profile entry \fBnmh-private-cache\fR names a directory containing +\*(lqnmh-cache\*(rq names a directory containing world-readable contents, and, +the profile entry \*(lqnmh-private-cache\*(rq names a directory containing private contents. The former should be an absolute (rooted) directory name. -.ne 6 +.PP For example, -.sp -.in +.5i +.PP +.RS 5 nmh-cache: /tmp -.in -.5i -.sp +.RE +.PP might be used if you didn't care that the cache got wiped after each reboot of the system. The latter is interpreted relative to the user's -nmh directory, if not rooted, -.ne 6 -e.g., -.sp -.in +.5i +nmh directory, if not rooted, e.g., +.PP +.RS 5 nmh-private-cache: .cache -.in -.5i -.sp +.RE +.PP (which is the default value). - -.Uh "User Environment" -Because the environment in which \fImhstore\fR operates may vary -for different machines, \fImhstore\fR will look for the environment -variable \fB$MHSTORE\fR. If present, this specifies the name of -an additional user profile which should be read. Hence, when a -user logs in on a machine, this environment variable should be set -to refer to a file containing definitions useful for that machine. -Finally, \fImhstore\fR will attempt to consult one other additional -user profile, -.ne 6 -e.g., -.sp -.in +.5i +.SS "User Environment" +Because the display environment in which +.B mhstore +operates may vary for +different machines, +.B mhstore +will look for the environment variable +.BE $MHSTORE . +If present, this specifies the name of an additional +user profile which should be read. Hence, when a user logs in on a +particular machine, this environment variable should be set to +refer to a file containing definitions useful for that machine. +Finally, +.B mhstore +will attempt to consult one other additional +user profile, e.g., +.PP +.RS 5 %etcdir%/mhn.defaults -.in -.5i -.sp -which is created automatically during nmh installation. -.Fi +.RE +.PP +which is created automatically during +.B nmh +installation. + +.SH FILES +.fc ^ ~ +.nf +.ta \w'/usr/local/nmh/etc/ExtraBigFileName 'u ^$HOME/\&.mh\(ruprofile~^The user profile ^$MHSTORE~^Additional profile entries ^%etcdir%/mhn.defaults~^System default MIME profile entries -.Pr +.fi + +.SH "PROFILE COMPONENTS" +.fc ^ ~ +.nf +.ta 2.4i +.ta \w'ExtraBigProfileName 'u ^Path:~^To determine the user's nmh directory -.Ps ^Current\-Folder:~^To find the default current folder -.Ps ^nmh-access-ftp:~^Program to retrieve contents via FTP -.Ps ^nmh-cache~^Public directory to store cached external contents -.Ps ^nmh-private-cache~^Personal directory to store cached external contents -.Ps ^nmh-storage~^Directory to store contents -.Ps ^mhstore-store-*~^Template for storing contents -.Sa +.fi + +.SH "SEE ALSO" mhbuild(1), mhlist(1), mhshow(1), sendfiles(1) -.br -RFC\-2045: -.br - \fIMultipurpose Internet Mail Extensions (MIME) Part One: -.br - Format of Internet Message Bodies\fR, -.br -RFC\-2046: -.br - \fIMultipurpose Internet Mail Extensions (MIME) Part Two: -.br - Media Types\fR, -.br -RFC\-2047: -.br - \fIMultipurpose Internet Mail Extensions (MIME) Part Three: -.br - Message Header Extensions for Non-ASCII Text\fR, -.br -RFC\-2048: -.br - \fIMultipurpose Internet Mail Extensions (MIME) Part Four: -.br - Registration Procedures\fR, -.br -RFC\-2049: -.br - \fIMultipurpose Internet Mail Extensions (MIME) Part Five: -.br - Conformance Criteria and Examples\fR. -.De -`+folder' defaults to the current folder -.Ds -`msgs' defaults to cur -.Ds -`\-noauto' -.Ds -`\-nocheck' -.Ds -`\-rcache ask' -.Ds -`\-wcache ask' -.Ds -`\-noverbose' -.Co + +.SH DEFAULTS +.nf +.RB ` +folder "' defaults to the current folder" +.RB ` msgs "' defaults to cur" +.RB ` \-noauto ' +.RB ` \-nocheck ' +.RB ` \-rcache ask ' +.RB ` \-wcache ask ' +.RB ` \-noverbose ' + +.SH CONTEXT If a folder is given, it will become the current folder. The last message selected will become the current message. -.Bu + +.SH BUGS Partial messages contained within a multipart content are not reassembled. -.En diff --git a/man/msgchk.man b/man/msgchk.man index 4c8a53a..7c8bf71 100644 --- a/man/msgchk.man +++ b/man/msgchk.man @@ -2,127 +2,223 @@ .\" %nmhwarning% .\" $Id$ .\" -.\" include the -mh macro file -.so %etcdir%/tmac.h -.\" .TH MSGCHK %manext1% "%nmhdate%" MH.6.8 [%nmhversion%] .SH NAME msgchk \- check for messages .SH SYNOPSIS -.in +.5i -.ti -.5i -msgchk -\%[\-date] \%[\-nodate] -\%[\-notify\ all/mail/nomail] -.br -\%[\-nonotify\ all/mail/nomail] -.br +.HP 5 +.B msgchk +.RB [ \-date " | " \-nodate ] +.RB [ \-notify +all/mail/nomail ] +.RB [ \-nonotify +all/mail/nomail ] %nmhbeginpop% -\%[\-host\ hostname] -\%[\-user\ username] -\%[\-apop] -\%[\-noapop] -\%[\-kpop] -\%[\-sasl] -\%[\-saslmech \mechanism] -\%[\-snoop] -.br +.RB [ \-host +.IR hostname ] +.RB [ \-user +.IR username ] +.RB [ \-apop " | " \-noapop ] +.RB [ \-kpop ] +.RB [ \-sasl ] +.RB [ \-saslmech +.IR mechanism ] +.RB [ \-snoop ] %nmhendpop% -\%[users\ ...] -\%[\-version] -\%[\-help] -.in -.5i +.RI [ users +... ] +.RB [ \-version ] +.RB [ \-help ] .SH DESCRIPTION -The \fImsgchk\fR program checks all known mail drops for mail waiting -for you. For those drops which have mail for you, \fImsgchk\fR will +The +.B msgchk +program checks all known mail drops for mail waiting +for you. For those drops which have mail for you, +.B msgchk +will indicate if it believes that you have seen the mail in question before. - -The `\-notify\ type' switch indicates under what circumstances -\fImsgchk\fR should produce a message. The default is `\-notify\ all' -which says that \fImsgchk\fR should always report the status of the +.PP +The +.B \-notify +.I type +switch indicates under what circumstances +.B msgchk +should produce a message. The default is +.B \-notify +.I all +which says that +.B msgchk +should always report the status of the users maildrop. Other values for `type' include `mail' which says that -\fImsgchk\fR should report the status of waiting mail; and, `nomail' -which says that \fImsgchk\fR should report the status of empty maildrops. -The `\-nonotify\ type' switch has the inverted sense, so -`\-nonotify\ all' directs \fImsgchk\fR to never report the status of -maildrops. This is useful if the user wishes to check \fImsgchk\fR's -exit status. A non\-zero exit status indicates that mail was \fBnot\fR +.B msgchk +should report the status of waiting mail; and, `nomail' +which says that +.B msgchk +should report the status of empty maildrops. +The +.B \-nonotify +.I type +switch has the inverted sense, so +.B \-nonotify +.I all +directs +.B msgchk +to never report the status of +maildrops. This is useful if the user wishes to check +.BR msgchk 's +exit status. A non\-zero exit status indicates that mail was +.B not waiting for at least one of the indicated users. - -If \fImsgchk\fR produces output, then the `\-date' switch directs -\fImsgchk\fR to print out the last date mail was read, if this can +.PP +If +.B msgchk +produces output, then the +.B \-date +switch directs +.B msgchk +to print out the last date mail was read, if this can be determined. %nmhbeginpop% -.Uh "Using POP" -\fImsgchk\fR will normally check all the local mail drops, but if +.SS "Using POP" +.B msgchk +will normally check all the local mail drops, but if the option \*(lqpophost:\*(rq is set in the mts configuration file -\*(lqmts.conf\*(rq, or if the `\-host\ hostname' switch is given, -\fImsgchk\fR will query this POP service host as to the status of +\*(lqmts.conf\*(rq, or if the +.B \-host +.I hostname +switch is given, +.B msgchk +will query this POP service host as to the status of mail waiting. - -The default is for \fImsgchk\fR to assume that your account name +.PP +The default is for +.B msgchk +to assume that your account name on the POP server is the same as your current username. To specify a different username, use the `\-user\ username' switch. - +.PP When using POP, you will normally need to type the password for your account on the POP server, in order to retrieve your messages. -It is possible to automate this process by creating a \*(lq.netrc\*(rq +It is possible to automate this process by creating a +.RI \*(lq \&.netrc \*(rq file containing your login account information for this POP server. For each POP server, this file should have a line of the following -form. Replace the words mypopserver, mylogin, and mypassword with +form. Replace the words +.IR mypopserver , +.IR mylogin , +and +.I mypassword +with your own account information. - -machine mypopserver login mylogin password mypassword - -This \*(lq.netrc\*(rq file should be owned and readable only by -you. - -For debugging purposes, there is also a switch `\-snoop', which will +.PP +.RS 5 +machine +.I mypopserver +login +.I mylogin +password +.I mypassword +.RE +.PP +This +.RI \*(lq \&.netrc \*(rq +file should be owned and readable only by you. +.PP +For debugging purposes, there is also a switch +.BR \-snoop , +which will allow you to watch the POP transaction take place between you and the POP server. - -If nmh has been compiled with APOP #defined, the `\-apop' switch will cause -\fImsgchk\fR to use APOP rather than standard POP3 authentication. Under APOP, +.PP +If +.B nmh +has been compiled with APOP support, the +.B \-apop +switch will cause +.B msgchk +to use APOP rather than standard POP3 authentication. Under APOP, a unique string (generally of the format -<\fIpid\fR.\fItimestamp\fR@\fIhostname\fR>) is announced by the POP server. -Rather than `USER \fIuser\fR', `PASS \fIpassword\fR', msgchk sends `APOP -\fIuser\fR \fIdigest\fR', where digest is the MD5 hash of the unique string +.RI < pid . timestamp @ hostname >) +is announced by the POP server. +Rather than `USER +.IR user ', +`PASS +.IR password ', +.B msgchk +sends `APOP +.I user +.IR digest ', +where digest is the MD5 hash of the unique string followed by a `secret' shared by client and server, essentially equivalent to the user's password (though an APOP-enabled POP3 server could have separate APOP -and plain POP3 passwords for a single user). `\-noapop' disables APOP in cases +and plain POP3 passwords for a single user). +.B \-noapop +disables APOP in cases where it'd otherwise be used. - -If nmh has been compiled with KPOP #defined, the `\-kpop' switch will allow -\fImsgchk\fR to use Kerberized POP rather than standard POP3 on a given -invocation. If POPSERVICE was also #defined to "kpop", \fImsgchk\fR will be +.PP +If +.B nmh +has been compiled with KPOP support, the +.B \-kpop +switch will allow +.B msgchk +to use Kerberized POP rather than standard POP3 on a given +invocation. If +.B POPSERVICE +was also #defined to "kpop", +.B msgchk +will be hardwired to always use KPOP. - -If nmh has been compiled with SASL support, the `\-sasl' switch will enable +.PP +If +.B nmh +has been compiled with SASL support, the +.B \-sasl +switch will enable the use of SASL authentication. Depending on the SASL mechanism used, this may require an additional password prompt from the user (but the -\*(lq.netrc\*(rq file can be used to store this password). The -`\-saslmech' switch can be used to select a particular SASL mechanism. - -If SASL authentication is successful, \fIinc\fR will attempt to negotiate +.RI \*(lq \&.netrc \*(rq +file can be used to store this password). The +.B \-saslmech +switch can be used to select a particular SASL mechanism. +.PP +If SASL authentication is successful, +.B inc +will attempt to negotiate a security layer for session encryption. Encrypted traffic is labelled with `(encrypted)' and `(decrypted)' when viewing the POP transaction -with the `\-snoop' switch. +with the +.B \-snoop +switch. %nmhendpop% -.Fi + +.SH FILES +.fc ^ ~ +.nf +.ta \w'/usr/local/nmh/etc/ExtraBigFileName 'u ^$HOME/\&.mh\(ruprofile~^The user profile ^%etcdir%/mts.conf~^nmh mts configuration file ^%mailspool%/$USER~^Location of mail drop -.Pr +.fi + +.SH "PROFILE COMPONENTS" +.fc ^ ~ +.nf +.ta 2.4i +.ta \w'ExtraBigProfileName 'u None -.Sa +.fi + +.SH "SEE ALSO" inc(1) -.De -`user' defaults to the current user -.Ds -`\-date' -.Ds -`\-notify\ all' -.Co + +.SH DEFAULTS +.nf +.RB ` user "' defaults to the current user" +.RB ` \-date ' +.RB ` "\-notify\ all" ' +.fi + +.SH CONTEXT None -.En diff --git a/man/msh.man b/man/msh.man index d5da462..2f01f6d 100644 --- a/man/msh.man +++ b/man/msh.man @@ -2,207 +2,353 @@ .\" %nmhwarning% .\" $Id$ .\" -.\" include the -mh macro file -.so %etcdir%/tmac.h -.\" .TH MSH %manext1% "%nmhdate%" MH.6.8 [%nmhversion%] .SH NAME msh \- nmh shell (and BBoard reader) .SH SYNOPSIS -.in +.5i -.ti -.5i -msh -\%[\-prompt\ string] -\%[\-scan] \%[\-noscan] -\%[\-topcur] \%[\-notopcur] -\%[file] -\%[\-version] -\%[\-help] -.in -.5i +.HP 5 +.B msh +.RB [ \-prompt +.IR string ] +.RB [ \-scan " | " \-noscan ] +.RB [ \-topcur " | " \-notopcur ] +.RI [ file ] +.RB [ \-version ] +.RB [ \-help ] .SH DESCRIPTION -\fImsh\fR is an interactive program that implements a subset of the normal -\fInmh\fR commands operating on a single file in \fIpackf\fR'd format. -That is, \fImsh\fR is used to read a file that contains a number -of messages, as opposed to the standard \fInmh\fR style of reading +.B msh +is an interactive program that implements a subset of the normal +.B nmh +commands operating on a single file in +.BR packf 'd format. +That is, +.B msh +is used to read a file that contains a number +of messages, as opposed to the standard +.B nmh +style of reading a number of files, each file being a separate message in a folder. -\fImsh\fR's chief advantage is that the normal \fInmh\fR style does not -allow a file to have more than one message in it. Hence, \fImsh\fR is -ideal for reading \fIBBoards\fR, as these files are delivered by the -transport system in this format. In addition, \fImsh\fR can be used on -other files, such as message archives which have been \fIpack\fRed (see -\fIpackf\fR\0(1)). Finally, \fImsh\fR is an excellent \fInmh\fR tutor. -As the only commands available to the user are \fInmh\fR commands, this -allows \fInmh\fR beginners to concentrate on how commands to \fInmh\fR +.BR msh 's +chief advantage is that the normal +.B nmh +style does not +allow a file to have more than one message in it. Hence, +.B msh +is +ideal for reading BBoards, as these files are delivered by the +transport system in this format. In addition, +.B msh +can be used on +other files, such as message archives which have been +.BR pack ed +(see +.BR packf (1)). +Finally, +.B msh +is an excellent +.B nmh +tutor. +As the only commands available to the user are +.B nmh +commands, this +allows +.B nmh +beginners to concentrate on how commands to +.B nmh are formed and (more or less) what they mean. - -When invoked, \fImsh\fR reads the named file, and enters a command loop. -The user may type most of the normal \fInmh\fR commands. The syntax and -semantics of these commands typed to \fImsh\fR are identical to their -\fInmh\fR counterparts. In cases where the nature of \fImsh\fR would be -inconsistent (e.g., specifying a `+folder' with some commands), \fImsh\fR -will duly inform the user. The commands that \fImsh\fR currently supports +.PP +When invoked, +.B msh +reads the named file, and enters a command loop. +The user may type most of the normal +.B nmh +commands. The syntax and +semantics of these commands typed to +.B msh +are identical to their +.B nmh +counterparts. In cases where the nature of +.B msh +would be +inconsistent (e.g., specifying a +.I +folder +with some commands), +.B msh +will duly inform the user. The commands that +.B msh +currently supports (in some slightly modified or restricted forms) are: -.sp 1 -.in +.5i +.PP +.RS 5 +.nf ali -.br burst -.br comp -.br dist -.br folder -.br forw -.br inc -.br mark -.br mhmail -.br mhn -.br msgchk -.br next -.br packf -.br pick -.br prev -.br refile -.br repl -.br rmm -.br scan -.br send -.br show -.br sortm -.br whatnow -.br whom -.in -.5i - -In addition, \fImsh\fR has a \*(lqhelp\*(rq command which gives a -brief overview. To terminate \fImsh\fR, type CTRL\-D, or use the -\*(lqquit\*(rq command. If \fImsh\fR is being invoked from \fIbbc\fR, -then typing CTRL\-D will also tell \fIbbc\fR to exit as well, while -using the \*(lqquit\*(rq command will return control to \fIbbc\fR, and -\fIbbc\fR will continue examining the list of BBoards that it is scanning. - -If the file is writable and has been modified, then using \*(lqquit\*(rq +.fi +.RE +.PP +In addition, +.B msh +has a +.B help +command which gives a +brief overview. To terminate +.BR msh , +type CTRL\-D, or use the +.B quit +command. If +.B msh +is being invoked from +.BR bbc , +then typing CTRL\-D will also tell +.B bbc +to exit as well, while +using the +.B quit +command will return control to +.BR bbc , +and +.B bbc +will continue examining the list of BBoards that it is scanning. +.PP +If the file is writable and has been modified, then using +.B quit will query the user if the file should be updated. - -The `\-prompt string' switch sets the prompting string for \fImsh\fR. - -You may wish to use an alternate \fInmh\fR profile for the commands that -\fImsh\fR executes; see \fImh-profile\fR\0(5) for details about the -\fB$MH\fR environment variable. - -When invoked from \fIbbc\fR, two special features are enabled: -First, the `\-scan' switch directs \fImsh\fR to do a `scan\0unseen' +.PP +The +.B \-prompt +.I string +switch sets the prompting string for +.BR msh . +.PP +You may wish to use an alternate +.B nmh +profile for the commands that +.B msh +executes; see +.BR mh-profile (5) +for details about the +.B $MH +environment variable. +.PP +When invoked from +.BR bbc , +two special features are enabled: +First, the +.B \-scan +switch directs +.B msh +to do a +.RB \*(lq scan +.BR unseen \*(rq on start\-up if new items are present in the BBoard. This feature is -best used from \fIbbc\fR, which correctly sets the stage. Second, the -\fImark\fR command in \fImsh\fR acts specially when you are reading a -BBoard, since \fImsh\fR will consult the sequence \*(lqunseen\*(rq in -determining what messages you have actually read. When \fImsh\fR exits, -it reports this information to \fIbbc\fR. In addition, if you give the -\fImark\fR command with no arguments, \fImsh\fR will interpret it as -`mark\0\-sequence\0unseen\0\-delete\0\-nozero\0all' Hence, to discard +best used from +.BR bbc , +which correctly sets the stage. Second, the +.B mark +command in +.B msh +acts specially when you are reading a +BBoard, since +.B msh +will consult the sequence \*(lqunseen\*(rq in +determining what messages you have actually read. When +.B msh +exits, +it reports this information to +.BR bbc . +In addition, if you give the +.B mark +command with no arguments, +.B msh +will interpret it as +.RB \*(lq mark +.B \-sequence +.B unseen +.B \-delete +.B \-nozero +.BR all \*(rq +Hence, to discard all of the messages in the current BBoard you're reading, just use the -\fImark\fR command with no arguments. - -Normally, the \*(lqexit\*(rq command is identical to the \*(lqquit\*(rq -command in \fImsh\fR. When run under \fIbbc\fR however, \*(lqexit\*(rq -directs \fImsh\fR to mark all messages as seen and then \*(lqquit\*(rq. +.B mark +command with no arguments. +.PP +Normally, the +.B exit +command is identical to the +.B quit +command in +.BR msh . +When run under +.B bbc +however, +.B exit +directs +.B msh +to mark all messages as seen and then +.BR quit . For speedy type\-in, this command is often abbreviated as just -\*(lqe\*(rq. - -When invoked from \fIvmh\fR, another special feature is enabled: -The `topcur' switch directs \fImsh\fR to have the current message -\*(lqtrack\*(rq the top line of the \fIvmh\fR scan window. Normally, -\fImsh\fR has the current message \*(lqtrack\*(rq the center of the window -(under `\-notopcur', which is the default). - -\fImsh\fR supports an output redirection facility. Commands may be +.BR qe . +.PP +When invoked from +.BR vmh , +another special feature is enabled: +The `topcur' switch directs +.B msh +to have the current message +\*(lqtrack\*(rq the top line of the +.B vmh +scan window. Normally, +.B msh +has the current message \*(lqtrack\*(rq the center of the window +(under +.BR \-notopcur , +which is the default). +.PP +.B msh +supports an output redirection facility. Commands may be followed by one of - +.PP +.RS 5 .nf -.in +.5i .ta \w'| \fIcommand\fR 'u ^> \fIfile\fR~^write output to \fIfile\fR ^>> \fIfile\fR~^append output to \fIfile\fR ^| \fIcommand\fR~^pipe output to UNIX \fIcommand\fR -.re -.in -.5i .fi - -If \fIfile\fR starts with a `\~' (tilde), then a \fIcsh\fR-like expansion -takes place. Note that \fIcommand\fR is interpreted by \fIsh\fR\0(1). -Also note that \fImsh\fR does NOT support history substitutions, variable +.RE +.PP +If +.I file +starts with a \*(lq\~\*(rq (tilde), then a +.BR csh \-like +expansion +takes place. Note that +.I command +is interpreted by +.BR sh . +Also note that +.B msh +does NOT support history substitutions, variable substitutions, or alias substitutions. - -When parsing commands to the left of any redirection symbol, \fImsh\fR +.PP +When parsing commands to the left of any redirection symbol, +.B msh will honor `\\' (back\-slash) as the quote next\-character symbol, and -`"' (double\-quote) as quote\-word delimiters. All other input tokens +`\*(lq' (double\-quote) as quote\-word delimiters. All other input tokens are separated by whitespace (spaces and tabs). -.Fi + +.SH FILES +.fc ^ ~ +.nf +.ta \w'/usr/local/nmh/etc/ExtraBigFileName 'u ^$HOME/\&.mh\(ruprofile~^The user profile ^%etcdir%/mts.conf~^nmh mts configuration file -.Pr +.fi + +.SH "PROFILE COMPONENTS" +.fc ^ ~ +.nf +.ta 2.4i +.ta \w'ExtraBigProfileName 'u ^Path:~^To determine the user's nmh directory -.Ps ^Msg\-Protect:~^To set mode when creating a new `file' -.Ps ^fileproc:~^Program to file messages -.Ps ^showproc:~^Program to show messages -.Sa -bbc(1) -.De -`file' defaults to \*(lq./msgbox\*(rq -.Ds -`\-prompt\ (msh)\ ' -.Ds -`\-noscan' -.Ds -`\-notopcur' -.Co -None -.Bu -The argument to the `\-prompt' switch must be interpreted as a single -token by the shell that invokes \fImsh\fR. Therefore, one must usually -place the argument to this switch inside double\-quotes. +.fi -There is a strict limit of messages per file in \fIpackf\fR'd format -which \fImsh\fR can handle. Usually, this limit is 1000 messages. +.SH "SEE ALSO" +bbc(1) -Please remember that \fImsh\fR is not the \fICShell\fR, and that a lot of -the nice facilities provided by the latter are not present in the former. +.SH DEFAULTS +.nf +.RB ` file "' defaults to \*(lq./msgbox\*(rq" +.RB ` "\-prompt\ (msh)\ "' +.RB ` \-noscan ' +.RB ` \-notopcur ' +.fi -In particular, \fImsh\fR does not understand back\-quoting, so the only -effective way to use \fIpick\fR inside \fImsh\fR is to always use the -`\-seq\0select' switch. Clever users of \fInmh\fR will put the line +.SH CONTEXT +None -.ti +.5i +.SH BUGS +The argument to the +.B \-prompt +switch must be interpreted as a single +token by the shell that invokes +.BR msh . +Therefore, one must usually +place the argument to this switch inside double\-quotes. +.PP +There is a strict limit of messages per file in +.BR packf 'd +format which +.B msh +can handle. Usually, this limit is 1000 messages. +.PP +Please remember that +.B msh +is not the C\-Shell, and that a lot of +the nice facilities provided by the latter are not present in the former. +.PP +In particular, +.B msh +does not understand back\-quoting, so the only +effective way to use +.B pick +inside +.B msh +is to always use the +.B \-seq +.I select +switch. Clever users of +.B nmh +will put the line +.P +.RS 5 pick:\0\-seq\0select\0\-list - -in their \&.mh\(ruprofile file so that \fIpick\fR works equally well -from both the shell and \fImsh\fR. - -\fIsortm\fR always uses \*(lq\-noverbose\*(rq and if -\*(lq\-textfield\ field\*(lq is used, \*(lq\-limit 0\*(rq. - -The \fImsh\fR program inherits most (if not all) of the bugs from the -\fInmh\fR commands it implements. -.En +.RE +.PP +in their +.I \&.mh\(ruprofile +file so that +.B pick +works equally well from both the shell and +.BR msh . +.PP +.B sortm +always uses +.B \-noverbose +and if +.B \-textfield +.I field +is used, +.B \-limit +.IR 0 . +.PP +The +.B msh +program inherits most (if not all) of the bugs from the +.B nmh +commands it implements. diff --git a/man/next.man b/man/next.man index b90fcbe..f1cf35b 100644 --- a/man/next.man +++ b/man/next.man @@ -2,61 +2,92 @@ .\" %nmhwarning% .\" $Id$ .\" -.\" include the -mh macro file -.so %etcdir%/tmac.h -.\" .TH NEXT %manext1% "%nmhdate%" MH.6.8 [%nmhversion%] .SH NAME next \- show the next message .SH SYNOPSIS -.in +.5i -.ti -.5i -next -\%[+folder] -\%[\-showproc\ program] -\%[\-showmimeproc\ program] -.br -\%[\-header] \%[\-noheader] -\%[\-checkmime] \%[\-nocheckmime] -.br -\%[switches\ for\ \fIshowproc\fR or\ \fIshowmimeproc\fR] -.br -\%[\-version] -\%[\-help] -.in -.5i +.HP 5 +.B next +.RI [ +folder ] +.RB [\-showproc +.IR program ] +.RB [ \-showmimeproc +.IR program ] +.RB [ \-header " | " \-noheader ] +.RB [ \-checkmime " | " \-nocheckmime ] +[switches\ for +.I showproc +or +.IR showmimeproc ] +.RB [ \-version ] +.RB [ \-help ] .SH DESCRIPTION -\fINext\fR performs a \fIshow\fR on the next message in the specified -(or current) folder. Like \fIshow\fR, it passes any switches on to -the program \fIshowproc\fR or \fIshowmimeproc\fR, which is called to list -the message. This command is almost exactly equivalent to \*(lqshow -next\*(rq. Consult the manual entry for \fIshow\fR\0(1) for all the +.B Next +performs a +.B show +on the next message in the specified +(or current) folder. Like +.BR show , +it passes any switches on to +the program +.I showproc +or +.IR showmimeproc , +which is called to list +the message. This command is almost exactly equivalent to +.RB \*(lq show +.BR next \*(rq. +Consult the manual entry for +.BR show (1) +for all the details. -.Fi + +.SH FILES +.fc ^ ~ +.nf +.ta \w'/usr/local/nmh/etc/ExtraBigFileName 'u ^$HOME/\&.mh\(ruprofile~^The user profile -.Pr +.fi + +.SH "PROFILE COMPONENTS" +.fc ^ ~ +.nf +.ta 2.4i +.ta \w'ExtraBigProfileName 'u ^Path:~^To determine the user's nmh directory -.Ps ^Current\-Folder:~^To find the default current folder -.Ps ^showproc:~^Program to show non-MIME messages -.Ps ^showmimeproc:~^Program to show MIME messages -.Sa +.fi + +.SH "SEE ALSO" show(1), prev(1) -.De -`+folder' defaults to the current folder -.Ds -`\-checkmime' -.Ds -`\-header' -.Co + +.SH DEFAULTS +.nf +.RB ` +folder "' defaults to the current folder" +.RB ` \-checkmime ' +.RB ` \-header ' + +.SH CONTEXT If a folder is specified, it will become the current folder. The message that is shown (i.e., the next message in sequence) will become the current message. -.Bu -\fInext\fR is really a link to the \fIshow\fR program. As a result, if -you make a link to \fInext\fR and that link is not called \fInext\fR, -your link will act like \fIshow\fR instead. To circumvent this, add a -profile\-entry for the link to your \fInmh\fR profile and add the argument -\fInext\fR to the entry. -.En + +.SH BUGS +.B next +is really a link to the +.B show +program. As a result, if +you make a link to +.B next +and that link is not called +.BR next , +your link will act like +.B show +instead. To circumvent this, add a +profile\-entry for the link to your +.B nmh +profile and add the argument +.I next +to the entry. diff --git a/man/nmh.man b/man/nmh.man index ed84838..03c4d8d 100644 --- a/man/nmh.man +++ b/man/nmh.man @@ -2,144 +2,202 @@ .\" %nmhwarning% .\" $Id$ .\" -.\" include the -mh macro file -.so %etcdir%/tmac.h -.\" -.if '\*(ZZ'-man' \{\ .TH NMH %manext1% "%nmhdate%" MH.6.8 [%nmhversion%] .SH NAME nmh \- new MH message system .SH SYNOPSIS -.in +.5i -.ti -.5i -any \fInmh\fR command -.in -.5i +any +.B nmh +command .SH DESCRIPTION -\fInmh\fR is the name of a powerful message handling system. Rather than -being a single comprehensive program, \fInmh\fR consists of a collection +.B nmh +is the name of a powerful message handling system. Rather than +being a single comprehensive program, +.B nmh +consists of a collection of fairly simple single-purpose programs to send, retrieve, save, and manipulate messages. - -Unlike most mail clients in UNIX, \fInmh\fR is not a closed system which +.PP +Unlike most mail clients in UNIX, +.B nmh +is not a closed system which must be explicitly run, then exited when you wish to return to the shell. -You may freely intersperse \fInmh\fR commands with other shell commands, +You may freely intersperse +.B nmh +commands with other shell commands, allowing you to read and answer your mail while you have (for example) a compilation running, or search for a file or run programs as needed to find the answer to someone's question before answering their mail. - +.PP The rest of this manual entry is a quick tutorial which will teach you -the basics of \fInmh\fR. You should read the manual entries for the +the basics of +.BR nmh . +You should read the manual entries for the individual programs for complete documentation. - -To get started using \fInmh\fR, put the directory \fB%bindir%\fR on your -\fB$PATH\fR. This is best done in one of the files: \fB\&.profile\fR, -\fB\&.login\fR, or \fB\&.cshrc\fR in your home directory. (Check the +.PP +To get started using +.BR nmh , +put the directory +.I %bindir% +on your +.BR $PATH . +This is best done in one of the files: +.IR \&.profile , +.IR \&.login , +or +.I \&.cshrc +in your home directory. (Check the manual entry for the shell you use, in case you don't know how to -do this.) Run the \fIinc\fR command. If you've never used \fInmh\fR +do this.) Run the +.B inc +command. If you've never used +.B nmh before, it will create the necessary default files and directories after asking you if you wish it to do so. - -\fIinc\fR moves mail from your system maildrop into your \fInmh\fR +.PP +.B inc +moves mail from your system maildrop into your +.B nmh `+inbox' folder, breaking it up into separate files and converting it -to \fInmh\fR format as it goes. It prints one line for each message it +to +.B nmh +format as it goes. It prints one line for each message it processes, containing the from field, the subject field and as much of the first line of the message as will fit. It leaves the first message -it processes as your current message. You'll need to run \fIinc\fR each -time you wish to incorporate new mail into your \fInmh\fR file. - -\fIscan\fR prints a list of the messages in your current folder. - -The commands: \fIshow\fR, \fInext\fR, and \fIprev\fR are used to read -specific messages from the current folder. \fIshow\fR displays the +it processes as your current message. You'll need to run +.B inc +each +time you wish to incorporate new mail into your +.B nmh +file. +.PP +.B scan +.B prints a list of the messages in your current folder. +.PP +The commands: +.BR show , +.BR next , +and +.B prev +are used to read +specific messages from the current folder. +.B show +displays the current message, or a specific message, which may be specified by its -number, which you pass as an argument to \fIshow\fR. \fInext\fR and -\fIprev\fR display, respectively, the message numerically after or before +number, which you pass as an argument to +.BR show . +.B next +and +.B prev +display, respectively, the message numerically after or before the current message. In all cases, the message displayed becomes the -current message. If there is no current message, \fIshow\fR may be -called with an argument, or \fInext\fR may be used to advance to the +current message. If there is no current message, +.B show +may be +called with an argument, or +.B next +may be used to advance to the first message. - -\fIrmm\fR (remove message) deletes the current message. It may be called +.PP +.B rmm +(remove message) deletes the current message. It may be called with message numbers passed as arguments, to delete specific messages. - -\fIrepl\fR is used to respond to the current message (by default). +.PP +.B repl +is used to respond to the current message (by default). It places you in the editor with a prototype response form. While you're in the editor, you may peruse the item you're responding to by reading -the file \fB@\fR. After completing your response, type \fBl\fR to list -(review) it, or \fBs\fR to send it. - -\fIcomp\fR allows you to compose a message by putting you in the editor +the file +.IR @ . +After completing your response, type +.B l +to +.B list +(review) it, or +.B s +to +.B send +it. +.PP +.B comp +allows you to compose a message by putting you in the editor on a prototype message form, and then lets you send it. - -All the \fInmh\fR commands may be run with the single argument: `\-help', +.PP +All the +.B nmh +commands may be run with the single argument: +.BR \-help , which causes them to print a list of the arguments they may be invoked with and then exit. - -All the \fInmh\fR commands may be run with the single argument: -`\-version', which cause them to print the version number of the \fInmh\fR +.PP +All the +.B nmh +commands may be run with the single argument: +.BR \-version , +which cause them to print the version number of the +.B nmh distribution, and then exit. - -Commands which take a message number as an argument (\fIscan\fR, -\fIshow\fR, \fIrepl\fR, ...) also take one of the words: \fIfirst\fR, -\fIprev\fR, \fIcur\fR, \fInext\fR, or \fIlast\fR to indicate +.PP +Commands which take a message number as an argument ( +.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 (respectively) the first, previous, current, next, or last message in the current folder (assuming they are defined). -Commands which take a range of message numbers (\fIrmm\fR, \fIscan\fR, -\fIshow\fR, ...) also take any of the abbreviations: -.sp -.in +5 -.ti -3 -.I - -- Indicates all messages in the range to , inclusive. The range -.B must -be nonempty. -.sp -.ti -3 -.I :+N -.ti -3 -.I :-N -- Up to +Commands which take a range of message numbers ( +.BR rmm , +.BR scan , +.BR show , +\&...) also take any of the abbreviations: +.PP +.RS 5 +.IP \fI\fR\-\fI\fR 15 +Indicates all messages in the range to , inclusive. The range must be nonempty. +.IP \fI\fR:+\fIN\fR 15 +.IP \fI\fR:\-\fIN\fR 15 +Up to .I N messages beginning with (or ending with) message -.I num. +.IR num . .I Num may be any of the pre-defined symbols: -.I first, prev, cur, next +.IR first , +.IR prev , +.IR cur , +.I next or -.I last. -.sp -.ti -3 -.I first:N -.ti -3 -.I prev:N -.ti -3 -.I next:N -.ti -3 -.I last:N -- The first, previous, next or last -.I N +.IR last . +.IP first:\fIN\fR 15 +.IP prev:\fIN\fR 15 +.IP next:\fIN\fR 15 +.IP last:\fIN\fR 15 +The first, previous, next or last messages, if they exist. -.in -5 - +.RE +.PP There are many other possibilities such as creating multiple folders for different topics, and automatically refiling messages according to subject, source, destination, or content. These are beyond the scope of this manual entry. - -Following is a list of all the \fInmh\fR commands: -.\} - +,PP +Following is a list of all the +.B nmh +commands: +.PP +.RS 5 +.fc ^ ~ .nf -.in .5i .ta 1.5i ^ali (1)~^\- list mail aliases ^anno (1)~^\- annotate messages ^burst (1)~^\- explode digests into messages ^comp (1)~^\- compose a message ^dist (1)~^\- redistribute a message to additional addresses -^flist (1)~^\- list folders that contain messages in given sequence(s) -^flists (1)~^\- list all folders that contain messages in given sequence(s) +^flist (1)~^\- list folders with messages in given sequence(s) +^flists (1)~^\- list all folders with messages in given sequence(s) ^folder (1)~^\- set/list current folder/message ^folders (1)~^\- list all folders ^forw (1)~^\- forward messages @@ -177,59 +235,62 @@ Following is a list of all the \fInmh\fR commands: ^sortm (1)~^\- sort messages ^whatnow (1)~^\- prompting front\-end for send ^whom (1)~^\- report to whom a message would go -.if '\*(ZZ'-man' \{\ -.sp 1 +.sp ^mh\-alias (5)~^\- alias file for nmh message system ^mh\-draft (5)~^\- draft folder facility ^mh\-format (5)~^\- format file for nmh message system ^mh\-mail (5)~^\- message format for nmh message system ^mh\-profile (5)~^\- user customization for nmh message system ^mh\-sequence (5)~^\- sequence specification for nmh message system -.sp 1 +^mh\-tailor (5)~^\- mail transport customization for nmh message system +.sp ^ap (8)~^\- parse addresses 822\-style ^conflict (8)~^\- search for alias/password conflicts ^dp (8)~^\- parse dates 822\-style ^fmtdump (8)~^\- decode \fInmh\fP format files ^install\-mh (8)~^\- initialize the nmh environment ^post (8)~^\- deliver a message -.\} .fi -.re +.RE -.if '\*(ZZ'-man' \{\ -.Fi -^%bindir%~^directory containing \fInmh\fR commands -^%etcdir%~^directory containing \fInmh\fR format files -^%libdir%~^\fInmh\fR library commands -.Bu -If problems are encountered with an \fInmh\fR program, the problems should -be reported to the local maintainers of \fInmh\fR. When doing this, the +.SH FILES +.fc ^ ~ +.nf +.ta \w'/usr/local/nmh/etc/ExtraBigFileName 'u +^%bindir%~^contains \fInmh\fR commands +^%etcdir%~^contains \fInmh\fR format files +^%libdir%~^contains \fInmh\fR library commands +^$HOME/\&.mh\(ruprofile~^The user profile +.fi + +.SH "PROFILE COMPONENTS" +.fc ^ ~ +.nf +.ta 2.4i +.ta \w'ExtraBigProfileName 'u +^Path:~^To determine the user's nmh directory +.fi + +.SH BUGS +If problems are encountered with an +.B nmh +program, the problems should +be reported to the local maintainers of +.BR nmh . +When doing this, the name of the program should be reported, along with the version information for the program. .br -To find out what version of an \fInmh\fR program is being run, invoke -the program with the `\-version' switch. This information includes -the version of \fInmh\fR, the host it was generated on, and the date the +To find out what version of an +.B nmh +program is being run, invoke +the program with the +.B \-version +switch. This information includes +the version of +.BR nmh , +the host it was generated on, and the date the program was loaded. - -Send bug reports and suggestions to \fBnmh-workers@mhost.com\fR. -.Fi -^$HOME/\&.mh\(ruprofile~^The user profile -.Pr -^Path:~^To determine the user's nmh directory -.\" .Ps -.\" for each additional profile entry -.\" .Sa -.\" the see\-also's go here -.\" .De -.\" the first default goes here -.\" .Ds -.\" for each additional default -.\" .Co -.\" context changes go here -.\" You can also have -.\" .Hh \- the helpful hints section -.\" .Hi \- the history section -.\" .Bu \- the bugs section -.En -.\} +.PP +Send bug reports and suggestions to +.IR nmh-workers@mhost.com . diff --git a/man/packf.man b/man/packf.man index ef0c2e5..d61879e 100644 --- a/man/packf.man +++ b/man/packf.man @@ -2,73 +2,91 @@ .\" %nmhwarning% .\" $Id$ .\" -.\" include the -mh macro file -.so %etcdir%/tmac.h -.\" .TH PACKF %manext1% "%nmhdate%" MH.6.8 [%nmhversion%] .SH NAME packf \- pack messages in nmh folder into a single file .SH SYNOPSIS -.in +.5i -.ti -.5i -packf -\%[+folder] \%[msgs] -\%[\-file\ name] -\%[\-mbox] \%[-mmdf] -.br -\%[\-version] -\%[\-help] -.in -.5i +.HP 5 +.B packf +.RI [ +folder ] +.RI [ msgs ] +.RB [ \-file +.IR name ] +.RB [ \-mbox ] +.RB [ \-mmdf ] +.RB [ \-version ] +.RB [ \-help ] .SH DESCRIPTION -\fIPackf\fR will pack copies of messages from a folder, into a single +.B Packf +will pack copies of messages from a folder, into a single file. - -If the `-mbox' switch is given (the default), then the messages are +.PP +If the +.B \-mbox +switch is given (the default), then the messages are separated using mbox (uucp) style delimiters. This is the format used by most mail clients (elm, mailx, etc.). - -If the `-mmdf' switch is given, then the messages are separated by +.PP +If the +.B \-mmdf +switch is given, then the messages are separated by mmdf style delimiters. Each message in the file is separated by four CTRL\-A's and a newline. - +.PP You may specify the name of the file in which to use with the -`\-file\ name' switch. If you do not specify the name of the file, it -will default to `msgbox'. - +.B \-file +.I name +switch. If you do not specify the name of the file, it +will default to +.RI \*(lq msgbox \*(rq. +.PP If the given file name points to an existing file, then the specified messages will be appended to the end of the file, otherwise the file will be created and the messages appended. - -\fIpackf\fR makes an mbox-style delimiter by examining the first line -of the message. If the first line is a \*(lqReturn-Path:\*(rq +.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 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 \*(lqX-Envelope-From\*(rq 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 +Messages that are packed by +.B packf +can be unpacked using +.BR inc . -Messages that are packed by \fIpackf\fR can be unpacked using -\fIinc\fR. - -.Fi +.SH FILES +.fc ^ ~ +.nf +.ta \w'/usr/local/nmh/etc/ExtraBigFileName 'u ^$HOME/\&.mh\(ruprofile~^The user profile ^\&.msgbox\&.map~^A binary index of the file -.Pr +.fi + +.SH "PROFILE COMPONENTS" +.fc ^ ~ +.nf +.ta 2.4i +.ta \w'ExtraBigProfileName 'u ^Path:~^To determine the user's nmh directory -.Ps ^Current\-Folder:~^To find the default current folder -.Ps ^Msg\-Protect:~^To set mode when creating a new `file' -.Sa +.fi + +.SH "SEE ALSO" inc(1) -.De -`+folder' defaults to the current folder -.Ds -`msgs' defaults to all -.Ds -`\-mbox' -.Ds -`\-file ./msgbox' -.Co + +.SH DEFAULTS +.nf +.RB ` +folder "' defaults to the current folder" +.RB ` msgs "' defaults to all" +.RB ` \-mbox ' +.RB ` "\-file ./msgbox" ' +.fi + +.SH CONTEXT If a folder is given, it will become the current folder. The first message packed will become the current message. .En diff --git a/man/pick.man b/man/pick.man index 6195cf9..1ef4156 100644 --- a/man/pick.man +++ b/man/pick.man @@ -2,263 +2,429 @@ .\" %nmhwarning% .\" $Id$ .\" -.\" include the -mh macro file -.so %etcdir%/tmac.h -.\" .TH PICK %manext1% "%nmhdate%" MH.6.8 [%nmhversion%] .SH NAME pick \- search for messages by content .SH SYNOPSIS -.in +.5i -.ti -.5i -pick -\%[+folder] \%[msgs] -\%[\-and\ ...] \%[\-or\ ...] \%[\-not\ ...] -.br -\%[\-lbrace\ ...\ \-rbrace] -\%[\-\|\-component\ pattern] -.br -\%[\-cc\ pattern] -\%[\-date\ pattern] -\%[\-from\ pattern] -.br -\%[\-search\ pattern] -\%[\-subject\ pattern] -\%[\-to\ pattern] -.br -\%[\-after\ date] -\%[\-before\ date] -\%[\-datefield\ field] -.br -\%[\-sequence\ name\ ...] -\%[\-public] \%[\-nopublic] -\%[\-zero] -.br -\%[\-nozero] -\%[\-list] \%[\-nolist] -\%[\-version] -\%[\-help] -.ti .5i - +.HP 5 +.B pick +.RI [ +folder ] +.RI [ msgs ] +.RB [ \-and +\&...] +.RB [ \-or +\&...] +.RB [ \-not +\&...] +.RB [ \-lbrace +\&... +.BR \-rbrace ] +.RB [ \-\|\-component +.IR pattern ] +.RB [ \-cc +.IR pattern ] +.RB [ \-date +.IR pattern ] +.RB [ \-from +.IR pattern ] +.RB [ \-search +.IR pattern ] +.RB [ \-subject +.IR pattern ] +.RB [ \-to +.IR pattern ] +.RB [ \-after +.IR date ] +.RB [ \-before +.IR date ] +.RB [ \-datefield +.IR field ] +.RB [ \-sequence +.I name +\&...] +.RB [ \-public " | " \-nopublic ] +.RB [ \-zero " | " \-nozero ] +.RB [ \-list " | " \-nolist ] +.RB [ \-version ] +.RB [ \-help ] +.PP typical usage: -.br +.PP +.RS 5 +.nf scan\0`pick\0\-from\0jones` -.br pick\0\-to\0holloway\0\-sequence\0select -.br show\0`pick\0\-before\0friday` -.in -.5i +.fi +.RE + .SH DESCRIPTION -\fIPick\fR searches within a folder for messages with the specified +.B Pick +searches within a folder for messages with the specified contents, and then identifies those messages. Two types of search primitives are available: pattern matching and date constraint operations. - -A modified \fIgrep\fR(1) is used to perform the matching, so the -full regular expression (see \fIed\fR(1)) facility is available -within `pattern'. With `\-search', `pattern' is used directly, -and with the others, the grep pattern constructed is: - -.ti +.5i -\*(lqcomponent[ \\t]*:\&.*pattern\*(rq - -This means that the pattern specified for a `\-search' will be found +.PP +A modified +.BR grep (1) +is used to perform the matching, so the +full regular expression (see +.BR ed (1)) +facility is available +within +.IR pattern . +With +.BR \-search , +.I pattern +is used directly, and with the others, the grep pattern constructed is: +.PP +.RS 5 +`component[ \\t]*:\&.*pattern' +.RE +.PP +This means that the pattern specified for a +.B \-search +will be found everywhere in the message, including the header and the body, while the other pattern matching requests are limited to the single specified component. The expression - -.ti +.5i +.PP +.RS 5 `\-\|\-component\ pattern' - +.RE +.PP is a shorthand for specifying - -.ti +.5i +.PP +.RS 5 `\-search \*(lqcomponent[ \\t]*:\&.*pattern\*(rq\ ' - +.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. -An example is `pick\0\-\|\-reply\-to\0pooh'. - +An example is +.RB \*(lq "pick\0\-\|\-reply\-to\0pooh" \*(rq. +.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 body, each line is separate. Lower\-case letters in the search pattern will match either lower or upper case in the message, while upper case will match only upper case. - -Note that since the `\-date' switch is a pattern matching operation (as +.PP +Note that since 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. - +.PP Independent of any pattern matching operations requested, the switches -`\-after date' or `\-before date' may also be used to introduce date/time +.B \-after +.I date +or +.B \-before +.I date +may also be used to introduce date/time constraints on all of the messages. By default, the \*(lqDate:\*(rq field is consulted, but if another date yielding field (such as \*(lqBB\-Posted:\*(rq or \*(lqDelivery\-Date:\*(rq) should be used, the -`\-datefield\ field' switch may be used. - -With `\-before' and `\-after', \fIpick\fR will actually parse the date +.B \-datefield +.I field +switch may be used. +.PP +With +.B \-before +and +.BR \-after , +.B pick +will actually parse the date fields in each of the messages specified in `msgs' and compare them -to the date/time specified. If `\-after' is given, then only those +to the date/time specified. If +.B \-after +is given, then only those messages whose \*(lqDate:\*(rq field value is chronologically after the -date specified will be considered. The `\-before' switch specifies the +date specified will be considered. The +.B \-before +switch specifies the complimentary action. - -Both the `\-after' and `\-before' switches take legal 822\-style date -specifications as arguments. \fIPick\fR will default certain missing +.PP +Both the +.B \-after +and +.B \-before +switches take legal 822\-style date +specifications as arguments. +.B Pick +will default certain missing fields so that the entire date need not be specified. These fields are (in order of defaulting): timezone, time and timezone, date, date and timezone. All defaults are taken from the current date, time, and timezone. - -In addition to 822\-style dates, \fIpick\fR will also recognize any of +.PP +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 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). - -Finally, in addition to these special specifications, \fIpick\fR will +.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. - -\fIPick\fR supports complex boolean operations on the searching primitives -with the `\-and', `\-or', `\-not', and `\-lbrace\ ...\ \-rbrace' switches. +.PP +.B Pick +supports complex boolean operations on the searching primitives +with the +.BR \-and , +.BR \-or , +.BR \-not , +and +.B \-lbrace +.B \&... +.B \-rbrace +switches. For example, - -.ti +.5i -.ie t \{\ -pick\0\-after\0yesterday\0\-and\0\-lbrace\0\-from\0freida\0\-or\0\-from\0fear\0\-rbrace -.\} -.el \{\ +.PP +.RS 5 +.nf pick\0\-after\0yesterday\0\-and -.br -.ti +1i -\-lbrace\0\-from\0freida\0\-or\0\-from\0fear\0\-rbrace -.\} - + \-lbrace\0\-from\0freida\0\-or\0\-from\0fear\0\-rbrace +.fi +.RE +.PP identifies messages recently sent by \*(lqfrieda\*(rq or \*(lqfear\*(rq. - -The matching primitives take precedence over the `\-not' switch, which -in turn takes precedence over `\-and' which in turn takes precedence -over `\-or'. To override the default precedence, the `\-lbrace' and -`\-rbrace' switches are provided, which act just like opening and closing +.PP +The matching primitives take precedence over the +.B \-not +switch, which in turn takes precedence over +.B \-and +which in turn takes precedence +over +.BR \-or . +To override the default precedence, the +.B \-lbrace +and +.B \-rbrace +switches are provided, which act just like opening and closing 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). - -Once the search has been performed, if the `\-list' switch is given, the +.PP +Once the search has been performed, if the +.B \-list +switch is given, the message numbers of the selected messages are written to the standard -output separated by newlines. This is \fIextremely\fR useful for -quickly generating arguments for other \fInmh\fR programs by using the +output separated by newlines. This is +.B extremely +useful for +quickly generating arguments for other +.B nmh +programs by using the \*(lqbackquoting\*(rq syntax of the shell. For example, the command - -.ti +.5i +.PP +.RS 5 scan\0`pick\0+todo\0\-after\0\*(lq31 Mar 83 0123 PST\*(rq` - -says to \fIscan\fR those messages in the indicated folder which meet the -appropriate criterion. Note that since \fIpick\fR\0's context changes -are written out prior to \fIscan\fR\0's invocation, you need not give -the folder argument to \fIscan\fR as well. - -Regardless of the operation of the `\-list' switch, the `\-sequence name' +.RE +.PP +says to +.B scan +those messages in the indicated folder which meet the +appropriate criterion. Note that since +.BR pick 's +context changes +are written out prior to +.BR scan 's +invocation, you need not give +the folder argument to +.B scan +as well. +.PP +Regardless of the operation of the +.B \-list +switch, the +.B \-sequence +.I name switch may be given once for each sequence the user wishes to define. For each sequence named, that sequence will be defined to mean exactly -those messages selected by \fIpick\fR. For example, - -.ti +.5i +those messages selected by +.BR pick . +For example, +.PP +.RS 5 pick\0\-from\0frated\0\-seq\0fred - +.RE +.PP defines a new message sequence for the current folder called \*(lqfred\*(rq which contains exactly those messages that were selected. - -Note that whenever \fIpick\fR processes a `\-sequence\ name' switch, it -sets `\-nolist'. - -By default, \fIpick\fR will zero the sequence before adding it. This -action can be disabled with the `\-nozero' switch, which means that the -messages selected by \fIpick\fR will be added to the sequence, if it +.PP +Note that whenever +.B pick +processes a +.B \-sequence +.I name +switch, it +sets +.BR \-nolist . +.PP +By default, +.B pick +will zero the sequence before adding it. This +action can be disabled with the +.B \-nozero +switch, which means that the +messages selected by +.B pick +will be added to the sequence, if it already exists, and any messages already a part of that sequence will remain so. - -The `\-public' and `\-nopublic' switches are used by \fIpick\fR in the -same way \fImark\fR uses them. -.Fi +.PP +The +.B \-public +and +.B \-nopublic +switches are used by +.B pick +in the +same way +.B mark +uses them. + +.SH FILES +.fc ^ ~ +.nf +.ta \w'/usr/local/nmh/etc/ExtraBigFileName 'u ^$HOME/\&.mh\(ruprofile~^The user profile -.Pr +.fi + +.SH "PROFILE COMPONENTS" +.fc ^ ~ +.nf +.ta 2.4i +.ta \w'ExtraBigProfileName 'u ^Path:~^To determine the user's nmh directory -.Ps ^Current\-Folder:~^To find the default current folder -.Sa +.fi + +.SH "SEE ALSO" mark(1) -.De -`+folder' defaults to the current folder -.Ds -`msgs' defaults to all -.Ds -`\-datefield date' -.Ds -`\-zero' -.Ds -`\-list' is the default if no `\-sequence', `\-nolist' otherwise -.Co + +.SH DEFAULTS +.nf +.RB ` +folder "' defaults to the current folder" +.RB ` msgs "' defaults to all" +.RB ` "\-datefield date" ' +.RB ` \-zero ' +.RB ` \-list "' is the default if no `\-sequence', `\-nolist' otherwise" +.fi + +.SH CONTEXT If a folder is given, it will become the current folder. -.Hi -In previous versions of \fIMH\fR, the \fIpick\fR command would \fIshow\fR, -\fIscan\fR, or \fIrefile\fR the selected messages. This was rather -\*(lqinverted logic\*(rq from the UNIX point of view, so \fIpick\fR was -changed to define sequences and output those sequences. Hence, \fIpick\fR -can be used to generate the arguments for all other \fIMH\fR commands, -instead of giving \fIpick\fR endless switches for invoking those commands -itself. -Also, previous versions of \fIpick\fR balked if you didn't specify +.SH HISTORY +In previous versions of +.BR MH , +the +.B pick +command would +.BR show , +.BR scan , +or +.B refile +the selected messages. This was rather +\*(lqinverted logic\*(rq from the UNIX point of view, so +.B pick +was changed to define sequences and output those sequences. Hence, +.B pick +can be used to generate the arguments for all other +.B MH +commands, instead of giving +.B pick +endless switches for invoking those commands +itself. +.PP +Also, previous versions of +.B pick +balked if you didn't specify a search string or a date/time constraint. The current version does not, and merely matches the messages you specify. This lets you type something like: - -.ti +.5i +.PP +.RS 5 show\0`pick\0last:20\0\-seq\0fear` - +.RE +.PP instead of typing - -.in +.5i +.PP +.RS 5 .nf mark\0\-add\0\-nozero\0\-seq\0fear\0last:20 show\0fear .fi -.in -.5i - +.RE +.PP Finally, timezones used to be ignored when comparing dates: they aren't any more. -.Hh -Use \*(lqpick sequence \-list\*(rq to enumerate the messages in a sequence -(such as for use by a shell script). -.Bu -The argument to the `\-after' and `\-before' switches must be interpreted -as a single token by the shell that invokes \fIpick\fR. Therefore, one -must usually place the argument to this switch inside double\-quotes. -Furthermore, any occurrence of `\-datefield' must occur prior to the -`\-after' or `\-before' switch it applies to. -If \fIpick\fR is used in a back\-quoted operation, such as +.SH "HELPFUL HINTS" +Use +.RB \*(lq "pick sequence \-list" \*(rq +to enumerate the messages in a sequence +(such as for use by a shell script). -.ti +.5i +.SH BUGS +The argument to the +.B \-after +and +.B \-before +switches must be interpreted +as a single token by the shell that invokes +.BR pick . +Therefore, one +must usually place the argument to this switch inside double\-quotes. +Furthermore, any occurrence of +.B \-datefield +must occur prior to the +.B \-after +or +.B \-before +switch it applies to. +.PP +If +.B pick +is used in a back\-quoted operation, such as +.PP +.RS 5 scan\0`pick\0\-from\0jones` - -and \fIpick\fR selects no messages (e.g., no messages are from +.RE +.PP +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., -\*(lqscan\*(rq). Since no messages were matched, \fIpick\fR produced +.BR scan ). +Since no messages were matched, +.B pick +produced no output, and the argument given to the outer command as a result of -backquoting \fIpick\fR is empty. In the case of \fInmh\fR programs, +backquoting +.B pick +is empty. In the case of +.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 \fIscan\fR\0). To prevent this -unexpected behavior, if `\-list' was given, and if its standard output is -not a tty, then \fIpick\fR outputs the illegal message number \*(lq0\*(rq +used (e.g., \*(lqall\*(rq 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 when it fails. This lets the outer command fail gracefully as well. - -.sp +.PP The pattern syntax \*(lq[l-r]\*(rq is not supported; each letter to be matched must be included within the square brackets. -.En diff --git a/man/post.man b/man/post.man index ca40604..311d2f3 100644 --- a/man/post.man +++ b/man/post.man @@ -2,165 +2,249 @@ .\" %nmhwarning% .\" $Id$ .\" -.\" include the -mh macro file -.so %etcdir%/tmac.h -.\" .TH POST %manext8% "%nmhdate%" MH.6.8 [%nmhversion%] .SH NAME post \- deliver a message .SH SYNOPSIS -.in +.5i -.ti -.5i -%libdir%/post -\%[\-alias\ aliasfile] -.br -\%[\-filter\ filterfile] \%[\-nofilter] -\%[\-format] \%[\-noformat] -.br -\%[\-mime] \%[\-nomime] -\%[\-msgid] \%[\-nomsgid] -\%[\-verbose] -.br -\%[\-noverbose] -\%[\-watch] \%[\-nowatch] -\%[\-width\ columns] -\%[\-sasl] \%[\-saslmech\ mechanism] \%[\-user\ username] -.br -file -\%[\-version] -\%[\-help] -.in -.5i +.HP 5 +.B %libdir%/post +.RB [ \-alias +.IR aliasfile ] +.RB [ \-filter +.IR filterfile ] +.RB [ \-nofilter ] +.RB [ \-format " | " \-noformat ] +.RB [ \-mime " | " \-nomime ] +.RB [ \-msgid " | " \-nomsgid ] +.RB [ \-verbose " | " \-noverbose ] +.RB [ \-watch " | " \-nowatch ] +.RB [ \-width +.IR columns ] +.RB [ \-sasl ] +.RB [ \-saslmech +.IR mechanism ] +.RB [ \-user +.IR username ] +.I file +.RB [ \-version ] +.RB [ \-help ] .SH DESCRIPTION -\fIPost\fR is the default program called by \fIsend\fR\0(1) to deliver -the message in \fIfile\fR to local and remote users. In fact, most of -the features attributed to \fIsend\fR in its manual page are performed by -\fIpost\fR, with \fIsend\fR acting as a relatively simple preprocessor. -Thus, it is \fIpost\fR which parses the various header fields, appends -From: and Date: lines, and interacts with the mail transport system. -\fIPost\fR will not normally be called directly by the user. - -\fIPost\fR searches the \*(lqTo:\*(rq, \*(lqcc:\*(rq, \*(lqBcc:\*(rq, +.B Post +is the default program called by +.B send +to deliver +the message in +.I file +to local and remote users. In fact, most of +the features attributed to +.B send +in its manual page are performed by +.BR post , +with +.B send +acting as a relatively simple preprocessor. +Thus, it is +.B post +which parses the various header fields, appends +\*(lqFrom:\*(rq and \*(lqDate:\*(rq lines, and interacts with the mail transport system. +.B Post +will not normally be called directly by the user. +.PP +.B Post +searches the \*(lqTo:\*(rq, \*(lqcc:\*(rq, \*(lqBcc:\*(rq, \*(lqFcc:\*(rq, and \*(lqResent\-xxx:\*(rq header lines of the specified message for destination addresses, checks these addresses for validity, and formats them so as to conform to ARPAnet Internet Message Format -protocol, unless the `\-noformat' flag is set. This will normally cause +protocol, unless the +.B \-noformat +flag is set. This will normally cause \*(lq@\fIlocal\-site\fR\*(rq to be appended to each local destination -address, as well as any local return addresses. The `\-width\ columns' +address, as well as any local return addresses. The +.B \-width +.I columns switch can be used to indicate the preferred length of the header components that contain 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 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. -If `\-filter\ filterfile' is specified, then this copy is filtered -(re\-formatted) by \fImhl\fR prior to being sent to the blind recipients. -Alternately, if the `\-mime' switch is given, then \fIpost\fR will use +If +.B \-filter +.I filterfile +is specified, then this copy is filtered +(re\-formatted) by +.B mhl +prior to being sent to the blind recipients. +Alternately, if the +.B \-mime +switch is given, then +.B post +will use the MIME rules for encapsulation. - -The `\-alias\ aliasfile' switch can be used to specify a file that post +.PP +The +.B \-alias +.I aliasfile +switch can be used to specify a file that post should take aliases from. More than one file can be specified, each -being preceded with `\-alias'. In any event, the primary alias file is +being preceded with +.BR \-alias . +In any event, the primary alias file is read first. - -The `\-msgid' switch indicates that a \*(lqMessage\-ID:\*(rq or +.PP +The +.B \-msgid +switch indicates that a \*(lqMessage\-ID:\*(rq or \*(lqResent\-Message\-ID:\*(rq field should be added to the header. - -The `\-verbose' switch indicates that the user should be informed of +.PP +The +.B \-verbose +switch indicates that the user should be informed of each step of the posting/filing process. - -The `\-watch' switch indicates that the user would like to watch the +.PP +The +.B \-watch +switch indicates that the user would like to watch the transport system's handling of the message (e.g., local and \*(lqfast\*(rq delivery). - -Under normal circumstances, \fIpost\fR constructs the "From:" line of the +.PP +Under normal circumstances, +.B post +constructs the \*(lqFrom:\*(rq line of the message from the user's login name, the full name from the GECOS field of the -passwd file, and the fully\-qualified name of the local machine (or the value of -"localname" in mts.conf, if set). An example is "From: Dan Harkless -". There are four ways to override these values, -however. Note that they apply equally to "Resent\-From:" lines in messages sent -with \fIdist\fR. - -The first way is GECOS\-based username masquerading. If the "masquerade:" line -in mts.conf contains "mmailid", this processing is activated. If a user's GECOS -field in the passwd file is of the form "Full Name " then "fakename" -will be used in place of the real username. For instance, a GECOS field of "Dan -Harkless " would result in "From: Dan Harkless -". Naturally if you were doing something like +passwd file, and the fully\-qualified name of the local machine (or the +value of +\*(lqlocalname\*(rq in +.IR mts.conf , +if set). An example is \*(lqFrom: Dan Harkless +\*(rq. There are four ways to override these values, +however. Note that they apply equally to \*(lqResent\-From:\*(rq lines in messages sent +with +.BR dist . +.PP +The first way is GECOS\-based username masquerading. If the \*(lqmasquerade:\*(rq line +in +.I mts.conf +contains \*(lqmmailid\*(rq, this processing is activated. If a user's GECOS +field in the passwd file is of the form \*(lqFull Name \*(rq then \*(lqfakename\*(rq +will be used in place of the real username. For instance, a GECOS field of \*(lqDan +Harkless \*(rq would result in \*(lqFrom: Dan Harkless +\*(rq. Naturally if you were doing something like this you'd want to set up an MTA alias (e.g. in /etc/aliases) from, for -instance, "Dan.Harkless" to "dan". - -The second way to override default construction of "From:" is to set the -\fB$SIGNATURE\fR environment variable. This variable overrides the full name +instance, \*(lqDan.Harkless\*(rq to \*(lqdan\*(rq. +.PP +The second way to override default construction of \*(lqFrom:\*(rq is to set the +.B $SIGNATURE +environment variable. This variable overrides the full name from the GECOS field, even if GECOS\-based masquerading is being done. This -processing is always active, and does not need to be enabled from mts.conf. - -The third way is controlled by the "user_extension" value of "masquerade:" line -of mts.conf. When that's turned on, setting the \fB$USERNAME_EXTENSION\fR +processing is always active, and does not need to be enabled from +.IR mts.conf . +.PP +The third way is controlled by the \*(lquser_extension\*(rq value of \*(lqmasquerade:\*(rq line +of +.IR mts.conf . +When that's turned on, setting the +.B $USERNAME_EXTENSION environment variable will result in its value being appended the user's login -name. For instance, if I set \fB$USERNAME_EXTENSION\fR to "+www", my "From:" -line will contain "Dan Harkless " (or -"Dan.Harkless+www" if I'm using mmailid masquerading as well). Recent versions -of sendmail automatically deliver all mail sent to \fIuser\fR+\fIstring\fR to -\fIuser\fR. qmail has a similar feature which uses '\-' as the delimiter by +name. For instance, if I set +.B $USERNAME_EXTENSION +to \*(lq+www\*(rq, my \*(lqFrom:\*(rq +line will contain \*(lqDan Harkless \*(rq (or +\*(lqDan.Harkless+www\*(rq if I'm using mmailid masquerading as well). Recent versions +of +.B sendmail +automatically deliver all mail sent to +.IR user + string +to +.IR user . +.B qmail +has a similar feature which uses '\-' as the delimiter by default, but can use other characters as well. - -The fourth method of address masquerading is to specify a "From:" line manually +.PP +The fourth method of address masquerading is to specify a \*(lqFrom:\*(rq line manually in the message draft. It will be used as provided (after alias substitution), -but normally, to discourage email forgery, the user's \fIreal\fR address will be -used in the SMTP envelope "From:" and in a "Sender:" header. However, if the -"masquerade:" line of mts.conf contains "draft_from", the SMTP envelope "From:" -will use the address given in the draft "From:", and there will be no "Sender:" -header. This is useful in pretending to send mail "directly" from a remote POP3 +but normally, to discourage email forgery, the user's +.B real +address will be +used in the SMTP envelope \*(lqFrom:\*(rq and in a \*(lqSender:\*(rq header. However, if the +\*(lqmasquerade:\*(rq line of +.I mts.conf +contains \*(lqdraft_from\*(rq, the SMTP envelope \*(lqFrom:\*(rq +will use the address given in the draft \*(lqFrom:\*(rq, and there will be no \*(lqSender:\*(rq +header. This is useful in pretending to send mail \*(lqdirectly\*(rq from a remote POP3 account, or when remote email robots give improper precedence to the envelope -"From:". Note that your MTA may still reveal your real identity (e.g. -sendmail's "X\-Authentication\-Warning:" header). - -If nmh has been compiled with SASL support, the `\-sasl' switch will enable +\*(lqFrom:\*(rq. Note that your MTA may still reveal your real identity (e.g. +.BR sendmail 's +\*(lqX\-Authentication\-Warning:\*(rq header). +.PP +If +.B nmh +has been compiled with SASL support, the +.B \-sasl +switch will enable the use of SASL authentication with the SMTP MTA. Depending on the SASL mechanism used, this may require an additional password prompt from the -user (but the \*(lq.netrc\*(rq file can be used to store this password). -`\-saslmech' switch can be used to select a particular SASL mechanism, -and the the `\-user' switch can be used to select a authorization userid +user (but the +.RI \*(lq \&.netrc \*(rq +file can be used to store this password). +.B \-saslmech +switch can be used to select a particular SASL mechanism, +and the the +.B \-user +switch can be used to select a authorization userid to provide to SASL other than the default. - -Currently SASL security layers are not supported for SMTP. nmh's SMTP SASL code +.PP +Currently SASL security layers are not supported for SMTP. +.BR nmh 's +SMTP SASL code will always negotiate an unencrypted connection. This means that while the SMTP authentication can be encrypted, the subsequent data stream can not. This is in -contrast to nmh's POP3 SASL support, where encryption is supported for both the +contrast to +.BR nmh 's +POP3 SASL support, where encryption is supported for both the authentication and the data stream. -.Fi +.SH FILES +.fc ^ ~ +.nf +.ta \w'/usr/local/nmh/etc/ExtraBigFileName 'u ^%etcdir%/mts.conf~^nmh mts configuration file ^%etcdir%/MailAliases~^global nmh alias file ^%bindir%/refile~^Program to process Fcc:s ^%libdir%/mhl~^Program to process Bcc:s -.Pr -\fIpost\fR does \fBNOT\fR consult the user's \&.mh\(ruprofile -.Sa -\fIStandard for the Format of ARPA Internet Text Messages\fR (RFC\-822), -.br -mhmail(1), send(1), mh\-mail(5), mh\-alias(5), mh\-tailor(5) -.De -`\-alias %etcdir%/MailAliases' -.Ds -`\-format' -.Ds -`\-nomime' -.Ds -`\-nomsgid' -.Ds -`\-noverbose' -.Ds -`\-nowatch' -.Ds -`\-width\ 72' -.Ds -`\-nofilter' -.Co +.fi + +.SH "PROFILE COMPONENTS" +.B post +does +.B NOT +consult the user's +.I \&.mh\(ruprofile + +.SH "SEE ALSO" +mhmail(1), send(1), mh\-mail(5), mh\-alias(5), mh\-tailor(5), +.I "Standard for the Format of ARPA Internet Text Messages" +(RFC\-822) + +.SH DEFAULTS +.nf +.RB ` \-alias "' defaults to %etcdir%/MailAliases" +.RB ` \-format ' +.RB ` \-nomime ' +.RB ` \-nomsgid ' +.RB ` \-noverbose ' +.RB ` \-nowatch ' +.RB ` "\-width\ 72" ' +.RB ` \-nofilter ' +.fi + +.SH CONTEXT None + .Bu \*(lqReply\-To:\*(rq fields are allowed to have groups in them according -to the 822 specification, but \fIpost\fR won't let you use them. -.En +to the 822 specification, but +.B post +won't let you use them. diff --git a/man/prev.man b/man/prev.man index e58e523..f5ddc47 100644 --- a/man/prev.man +++ b/man/prev.man @@ -2,61 +2,91 @@ .\" %nmhwarning% .\" $Id$ .\" -.\" include the -mh macro file -.so %etcdir%/tmac.h -.\" .TH PREV %manext1% "%nmhdate%" MH.6.8 [%nmhversion%] .SH NAME prev \- show the previous message .SH SYNOPSIS -.in +.5i -.ti -.5i -prev -\%[+folder] -\%[\-showproc\ program] -\%[\-showmimeproc\ program] -.br -\%[\-header] \%[\-noheader] -\%[\-checkmime] \%[\-nocheckmime] -.br -\%[\-switches\ for\ \fIshowproc\fR or\ \fIshowmimeproc\fR] -.br -\%[\-version] -\%[\-help] -.in -.5i +.HP 5 +.B prev +.RI [ +folder ] +.RB [\-showproc +.IR program ] +.RB [ \-showmimeproc +.IR program ] +.RB [ \-header " | " \-noheader ] +.RB [ \-checkmime " | " \-nocheckmime ] +[switches\ for +.I showproc +or +.IR showmimeproc ] +.RB [ \-version ] +.RB [ \-help ] .SH DESCRIPTION -\fIPrev\fR performs a \fIshow\fR on the previous message in the specified -(or current) folder. Like \fIshow\fR, it passes any switches on to -the program named by \fIshowproc\fR or \fIshowmimeproc\fR, which is called +.B Prev +performs a +.B show +on the previous message in the specified +(or current) folder. Like +.BR show , +it passes any switches on to +the program named by +.I showproc +or +.IR showmimeproc , +which is called to list the message. This command is almost exactly equivalent to -\*(lqshow prev\*(rq. Consult the manual entry for \fIshow\fR\0(1) for -all the details. -.Fi +.RB \*(lq "show prev" \*(rq. +Consult the manual entry for +.BR show (1) +for all the details. + +.SH FILES +.fc ^ ~ +.nf +.ta \w'/usr/local/nmh/etc/ExtraBigFileName 'u ^$HOME/\&.mh\(ruprofile~^The user profile -.Pr +.fi + +.SH "PROFILE COMPONENTS" +.fc ^ ~ +.nf +.ta 2.4i +.ta \w'ExtraBigProfileName 'u ^Path:~^To determine the user's nmh directory -.Ps ^Current\-Folder:~^To find the default current folder -.Ps ^showproc:~^Program to show non-MIME messages -.Ps ^showmimeproc:~^Program to show MIME messages -.Sa +.fi + +.SH "SEE ALSO" show(1), next(1) -.De -`+folder' defaults to the current folder -.Ds -`\-checkmime' -.Ds -`\-header' -.Co + +.SH DEFAULTS +.nf +.RB ` +folder "' defaults to the current folder" +.RB ` \-checkmime ' +.RB ` \-header ' +.fi + +.SH CONTEXT If a folder is specified, it will become the current folder. The message that is shown (i.e., the previous message in sequence) will become the current message. -.Bu -\fIprev\fR is really a link to the \fIshow\fR program. As a result, if -you make a link to \fIprev\fR and that link is not called \fIprev\fR, -your link will act like \fIshow\fR instead. To circumvent this, add a -profile\-entry for the link to your \fInmh\fR profile and add the argument -\fIprev\fR to the entry. -.En + +.SH BUGS +.B prev +is really a link to the +.B show +program. As a result, if +you make a link to +.B prev +and that link is not called +.BR prev , +your link will act like +.B show +instead. To circumvent this, add a +profile\-entry for the link to your +.B nmh +profile and add the argument +.B prev +to the entry.