-.TH MH-FORMAT %manext5% "December 18, 2016" "%nmhversion%"
-.\"
+.TH MH-FORMAT %manext5% 2015-01-10 "%nmhversion%"
+.
.\" %nmhwarning%
-.\"
+.
.SH NAME
mh-format \- format file for nmh message system
.SH DESCRIPTION
.nf
.RI "%< " condition " " "format-text"
.RI "%? " condition " " "format-text"
- \&...
+ ...
.RI "%| " "format-text"
%>
.fi
.PP
(Extra white space is shown here only for clarity.)
These constructs, which may be nested without ambiguity, form a general
-.B if\-elseif\-else\-endif
+.B if-elseif-else-endif
block where only one of the format-texts is interpreted. In other
words, `%<' is like the "if", `%?' is like the "elseif", `%|' is like
"else", and `%>' is like "endif".
.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)
strlen integer length of \fIstr\fR
width integer column width of terminal
charleft integer bytes left in output buffer
-timenow integer seconds since the UNIX epoch
+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
date2local date coerce date to local timezone
date2gmt date coerce date to GMT
dst date integer daylight savings in effect? (0 or 1)
-clock date integer seconds since the UNIX epoch
+clock date integer seconds since the Unix epoch
rclock date integer seconds prior to current time
tws date string official RFC 822 rendering
pretty date string user-friendly rendering
If you need to create an address list that includes previously-seen
addresses you may use the (\fIconcataddr\fR\^) function, which is identical
to (\fIformataddr\fR\^) in all other respects. Note that (\fIconcataddr\fR\^)
-does NOT add addresses to the duplicate-suppression cache.
+does
+.I not
+add addresses to the duplicate-suppression cache.
.SS Other Hints and Tips
Sometimes, the writer of a format function is confused because output is
duplicated. The general rule to remember is simple: If a function or
.fi
.RE
.PP
-Unfortunately, if the Reply-to: header is NOT present, the output line
+Unfortunately, if the Reply-to: header is
+.I not
+present, the output line
will be something like:
.PP
.RS 5
statement (so the rule about not starting with % applies). But the component
escape in our
.B else
-statement (everything after the `%|') is NOT an argument to anything;
+statement (everything after the `%|') is
+.I not
+an argument to anything;
it begins with a %, and thus the value of that component is output.
This also has the side effect of setting the
.I str
.PP
It should be noted here that the side effects of function and component
escapes are still in force and, as a result, each component test in the
-.B if\-elseif\-else\-endif
+.B if-elseif-else-endif
clause sets the
.I str
register.