+.TH MH-FORMAT %manext5% "November 4, 2012" "%nmhversion%"
.\"
.\" %nmhwarning%
.\"
-.TH MH-FORMAT %manext5% "%nmhdate%" MH.6.8 [%nmhversion%]
.SH NAME
mh-format \- format file for nmh message system
.SH DESCRIPTION
string, the usual C backslash characters are honored: `\\b', `\\f',
`\\n', `\\r', and `\\t'. Continuation lines in format files end with
`\\' followed by the newline character.
-
.\" TALK ABOUT SYNTAX FIRST, THEN SEMANTICS
.SS SYNTAX
Format strings are built around
component, they are listed without a leading `%'. When control escapes
are used as function arguments, they written as normally, with
a leading `%';
-
.SS "Control escapes"
.PP
A
For string valued functions or components, the condition is true
if the function return or component value is
a non-empty string, and false for an empty string.
-
.PP
The `%?' control escape is optional, and may there may be more
than one `%?' control escape in a conditional block.
The `%|' control escape
is also optional, but may be included at most once.
-
.SS "Function escapes"
Functions expecting an argument generally
require an argument of a particular type.
.RS 5
.nf
.ta +\w'Argument 'u +\w'An optional component, 'u
-.I Argument Description Example Syntax
+.I "Argument Description Example Syntax"
literal A literal number %(\fIfunc\fR 1234)
or string %(\fIfunc\fR text string)
comp Any component %(\fIfunc\fR\^{\fIin-reply-to\fR\^})
.RS 5
.nf
.ta \w'Fformataddr 'u +\w'Aboolean 'u +\w'Rboolean 'u
-.I Function Argument Result Description
+.I "Function Argument Result Description"
msg integer message number
cur integer message is current (0 or 1)
unseen integer message is unseen (0 or 1)
charleft integer bytes left in output buffer
timenow integer seconds since the UNIX epoch
me string the user's mailbox (username)
-myhost string the user's local hostname
-myname string the user's name
+myhost string the user's local hostname
+myname string the user's name
+localmbox string the complete local mailbox
eq literal boolean \fInum\fR == \fIarg\fR
ne literal boolean \fInum\fR != \fIarg\fR
gt literal boolean \fInum\fR > \fIarg\fR
putnumf expr print \fInum\fR in a fixed width
.\" addtoseq literal add msg to sequence (LBL option)
putlit expr print \fIstr\fR without space compression
-nodate string integer Argument not a date string (0 or 1)
+zputlit expr print \fIstr\fR without space compression;
+ \fIstr\fR must occupy no width on display
formataddr expr append \fIarg\fR to \fIstr\fR as a
(comma separated) address list
concataddr expr append \fIarg\fR to \fIstr\fR as a
is not configured. The (\fImyname\fR\^) function will return the value of
the
.B SIGNATURE
-environment variable if set, otherwise will return the passwd GECOS field for
-the current user.
+environment variable if set, otherwise will return the passwd GECOS field
+(truncated at the first comma if it contains one) for
+the current user. The (\fIlocalmbox\fR\^) function will return the complete
+form of the local mailbox, suitable for use in a \*(lqFrom\*(rq header.
+It will return the
+.RI \*(lq Local-Mailbox \*(rq
+profile entry if it is set; if it is not, it will be equivalent to:
+.PP
+.RS 5
+.nf
+%(myname) <%(me)@%(myhost)>
+.fi
+.RE
.PP
The following functions require a date component as an argument:
.PP
.RS 5
.nf
.ta \w'Fformataddr 'u +\w'Aboolean 'u +\w'Rboolean 'u
-.I Function Argument Return Description
+.I "Function Argument Return Description"
sec date integer seconds of the minute
min date integer minutes of the hour
hour date integer hours of the day (0-23)
.RS 5
.nf
.ta \w'Fformataddr 'u +\w'Aboolean 'u +\w'Rboolean 'u
-.I Function Argument Return Description
+.I "Function Argument Return Description"
proper addr string official 822 rendering
friendly addr string user-friendly rendering
addr addr string mbox@host or host!mbox rendering*
The functions (\fIputnum\fR\^) and
(\fIputstr\fR\^) are somewhat special: they print their result in the minimum number of characters
required, and ignore any leading field width argument. The (\fIputlit\fR\^)
-function outputs the exact contents of str register without any changes
+function outputs the exact contents of the str register without any changes
such as duplicate space removal or control character conversion.
+The (\fIzputlit\fR\^) function similarly outputs the exact contents of
+the str register, but requires that those contents not occupy any
+output width. It can therefore be used for outputting terminal escape
+sequences.
.PP
The available output width is kept in an internal register; any output
past this width will be truncated.
.PP
.RS 5
.nf
-My From User <from@user.com>To: My From User <from@user.com>
+My From User <from@example.com>To: My From User <from@example.com>
.fi
.RE
.PP
switch was given to
.B repl
(see
-.BR repl (1)
+.IR repl (1)
for more details about %{\fIfcc\fR\^}),
an \*(lqFcc:\*(rq header is output.
.PP
is used to test whether the message number
has 5
or more digits.
-If so, it is printed at full width: otherwise
+If so, it is printed at full width, otherwise
at 4 digits.
.SH "SEE ALSO"
-scan(1), repl(1), ap(8), dp(8)
-
+.IR scan (1),
+.IR repl (1),
+.IR ap (8),
+.IR dp (8)
.SH CONTEXT
None