.\" %nmhwarning%
.
.SH NAME
-mh-format \- format file for nmh message system
+mh-format \- formatting language for nmh message system
.SH DESCRIPTION
Several
.B nmh
.RS 5
.nf
.ta \w'Fformataddr 'u +\w'Aboolean 'u +\w'Rboolean 'u
-.I "Function Argument Result Description"
+.I "Function Argument Return Description"
msg integer message number
cur integer message is current (0 or 1)
unseen integer message is unseen (0 or 1)
lit literal string Set \fIstr\fR to \fIarg\fR.
lit string Clear \fIstr\fR.
getenv literal string Set \fIstr\fR to environment value of \fIarg\fR
-profile literal string Set \fIstr\fR to profile component \fIarg\fR
- value
+profile literal string Set \fIstr\fR to profile or context
+ component \fIarg\fR value
.\" dat literal int return value of dat[arg]
nonzero expr boolean \fInum\fR is non-zero
zero expr boolean \fInum\fR is zero
component
unquote expr string remove RFC 2822 quotes from \fIstr\fR
trim expr trim trailing whitespace from \fIstr\fR
+trimr expr string Like %(trim), also returns string
kilo expr string express in SI units: 15.9K, 2.3M, etc.
%(kilo) scales by factors of 1000,
kibi expr string express in IEC units: 15.5Ki, 2.2Mi.
%(kibi) scales by factors of 1024.
+ordinal expr string Output ordinal suffix based on value
+ of \fInum\fR (st, nd, rd, th)
putstr expr print \fIstr\fR
putstrf expr print \fIstr\fR in a fixed width
putnum expr print \fInum\fR
if the \*(lq\fIcomp\fR\*(rq header is not present in the message.
If needed, the (\fInull\fR\^) function can be used to explicitly
test for this case.)
+.PP
+The \fIfriendly\fR\^{\fIcomp\fR\^}) call will return any double-quoted
+\*(lqpersonal name\*(rq (that is, anything before <>), then it will return
+that. If there's no personal name but there is a
+\*(lqnote\*(rq (comments string after an email address), it will return
+that. If there is neither of those it will just return the bare email address.
+
.SS Formatting
When a function or component escape is interpreted and the result will
be printed immediately, an optional field width can be specified to
size in a field six characters wide filled with leading zeros;
%14(\fIputstrf\^\fR{\fIfrom\^\fR}) will print the \*(lqFrom:\*(rq header
component in fourteen characters with trailing spaces added as needed.
-For \fIputstrf\fR, using a negative value for the field width causes
-right-justification of the string within the field, with padding on
+Using a negative value for the field width causes
+right-justification within the field, with padding on
the left up to the field width.
+Padding is with spaces except for a left-padded
+.I putnumf
+when the width starts with zero.
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
.SH "SEE ALSO"
.IR scan (1),
.IR repl (1),
-.IR fmttest (1),
+.IR fmttest (1)
.SH CONTEXT
None