${filter{a:b:c}{!eq{$item}{b}}}
.endd
yields &`a:c`&. At the end of the expansion, the value of &$item$& is restored
-to what it was before. See also the &*map*& and &*reduce*& expansion items.
+to what it was before. See also the &%map%& and &%reduce%& expansion items.
.vitem &*${hash{*&<&'string1'&>&*}{*&<&'string2'&>&*}{*&<&'string3'&>&*}}*&
${map{a:b:c}{[$item]}} ${map{<- x-y-z}{($item)}}
.endd
expands to &`[a]:[b]:[c] (x)-(y)-(z)`&. At the end of the expansion, the
-value of &$item$& is restored to what it was before. See also the &*filter*&
-and &*reduce*& expansion items.
+value of &$item$& is restored to what it was before. See also the &%filter%&
+and &%reduce%& expansion items.
.vitem &*${nhash{*&<&'string1'&>&*}{*&<&'string2'&>&*}{*&<&'string3'&>&*}}*&
.cindex "expansion" "numeric hash"
list is assigned to &$item$&, in turn, and <&'string3'&> is expanded for each of
them. The result of that expansion is assigned to &$value$& before the next
iteration. When the end of the list is reached, the final value of &$value$& is
-added to the expansion output. The &*reduce*& expansion item can be used in a
+added to the expansion output. The &%reduce%& expansion item can be used in a
number of ways. For example, to add up a list of numbers:
.code
${reduce {<, 1,2,3}{0}{${eval:$value+$item}}}
${reduce {3:0:9:4:6}{0}{${if >{$item}{$value}{$item}{$value}}}}
.endd
At the end of a &*reduce*& expansion, the values of &$item$& and &$value$& are
-restored to what they were before. See also the &*filter*& and &*map*&
+restored to what they were before. See also the &%filter%& and &%map%&
expansion items.
.vitem &*$rheader_*&<&'header&~name'&>&*:*&&~or&~&*$rh_*&<&'header&~name'&>&*:*&
${addresses:>:$h_from:}
.endd
-Compare the &*address*& (singular)
+Compare the &%address%& (singular)
expansion item, which extracts the working address from a single RFC2822
-address. See the &*filter*&, &*map*&, and &*reduce*& items for ways of
+address. See the &%filter%&, &%map%&, and &%reduce%& items for ways of
processing lists.
To clarify "list of addresses in RFC 2822 format" mentioned above, Exim follows
.code
${if forany{<, $recipients}{match{$item}{^user3@}}{yes}{no}}
.endd
-The value of &$item$& is saved and restored while &*forany*& or &*forall*& is
+The value of &$item$& is saved and restored while &%forany%& or &%forall%& is
being processed, to enable these expansion items to be nested.
To scan a named list, expand it with the &*listnamed*& operator.
.cindex authentication "expansion item"
Performing these checks sets up information used by the
-&$authresults$& expansion item.
+&%authresults%& expansion item.
.vitem &$host_lookup_failed$&
.cindex authentication "expansion item"
Successful authentication sets up information used by the
-&$authresults$& expansion item.
+&%authresults%& expansion item.
.cindex authentication "expansion item"
Performing verification sets up information used by the
-&$authresults$& expansion item.
+&%authresults%& expansion item.
.new
For most purposes the default option settings suffice and the remainder
For verification, an ACL condition and an expansion lookup are provided.
.cindex authentication "expansion item"
Performing verification sets up information used by the
-&$authresults$& expansion item.
+&%authresults%& expansion item.
.cindex SPF "ACL condition"