# Some fixed variables
exim_path: $exim_path
+config_dir: $config_dir
+config_file: $config_file
primary_hostname: $primary_hostname
primary_hostname: ${primary_hostname}
qualify_domain: $qualify_domain
listcount: ${listcount:<;a;b;c}
listcount: ${listcount:${listnamed:dlist}}
+listextract: ${listextract{ 2}{a:b:c:d}}
+listextract: ${listextract{-2}{<,a,b,c,d}{X${value}X}}
+listextract: ${listextract{ 5}{a:b:c:d}}
+listextract: ${listextract{-5}{a:b:c:d}}
+listextract: ${listextract{ 5}{a:b:c:d}{}{fail}}
+listextract: ${listextract{ 5}{a:b:c:d}{}fail}
+
+sort: ${sort{3:2:1:4}{<}{$item}}
+sort: ${sort {<, 3,2,1,4}{>}{$item}}
+sort: ${sort{c:B:a:aa}{lti}{$item}}
+sort: ${sort{666 r99.ex.com:10 smtp.ex.com:100 r2.ex.com}{<}{${sg {$item}{([0-9]*).*\$}{\$1}}}}
+sort: ${sort{666,r99.ex.com:10,smtp.ex.com:100,r2.ex.com}{<}{${listextract{1}{<,$item}}}}
+sort: "${sort{}{<}{$item}}"
+
# Tests with iscntrl() and illegal separators
map: ${map{<\n a\n\nb\nc}{'$item'}}
# Numeric overflow
# >32b should work, >64b not
-4096M ${if >{1}{4096M}{y}{n}}
-4096000000 ${if >{1}{4096000000}{y}{n}}
-4611686018427387904 ${if >{1}{4611686018427387904} {y}{n}}
-46116860184273879040 ${if >{1}{46116860184273879040}{y}{n}}
+1 > 2047M ${if >{1}{2047M}{y}{n}}
+1 > 2048M ${if >{1}{2048M}{y}{n}}
+1 > 4096000000 ${if >{1}{4096000000}{y}{n}}
+1 > 4096M ${if >{1}{4096M}{y}{n}}
+1 > 4611686018427387904 ${if >{1}{4611686018427387904} {y}{n}}
+1 > 46116860184273879040 ${if >{1}{46116860184273879040}{y}{n}}
# Conditions
5>3m: ${if >{5 } {3m }{y}{n}}
5>3z: ${if >{5 } {3z }{y}{n}}
5>a: ${if >{ 5 } {a}{y}{n}}
+5>bad: ${if >{5 } {${lookup{trick}lsearch{DIR/aux-fixed/0002.lsearch}}} {y}{n}}
>0: ${if > {}{0}{y}{n}}
=: ${if = {}{}{y}{n}}
" yes" ${if bool{ yes}{true}{false}} EXPECT: true
" no" ${if bool{ no}{true}{false}} EXPECT: false
"yes " ${if bool{yes }{true}{false}} EXPECT: true
-"-1" ${if bool{-1}{true}{false}} EXPECT: error
+"-1" ${if bool{-1}{true}{false}} EXPECT: true
"0" ${if bool{0}{true}{false}} EXPECT: false
"1" ${if bool{1}{true}{false}} EXPECT: true
" 0 " ${if bool{ 0 }{true}{false}} EXPECT: false
" " ${if bool{ }{true}{false}} EXPECT: false
"text" ${if bool{text}{true}{false}} EXPECT: error
" text" ${if bool{ text}{true}{false}} EXPECT: error
+"-text" ${if bool{-text}{true}{false}} EXPECT: error
"text " ${if bool{text }{true}{false}} EXPECT: error
" text " ${if bool{ text }{true}{false}} EXPECT: error
"00" ${if bool{00}{true}{false}} EXPECT: false