[exim-cvs] Debug: more gentle line-drawing chars

Top Page
Delete this message
Reply to this message
Author: Exim Git Commits Mailing List
Date:  
To: exim-cvs
Subject: [exim-cvs] Debug: more gentle line-drawing chars
Gitweb: https://git.exim.org/exim.git/commitdiff/bff2d6435aecaf2701ba12c4dd99c7f395953f19
Commit:     bff2d6435aecaf2701ba12c4dd99c7f395953f19
Parent:     3ff0668bf4565e7f8ea4b843474ddb49cce46fed
Author:     Jeremy Harris <jgh146exb@???>
AuthorDate: Mon Jun 24 15:15:55 2019 +0100
Committer:  Jeremy Harris <jgh146exb@???>
CommitDate: Wed Jun 26 11:08:20 2019 +0100


    Debug: more gentle line-drawing chars
---
 src/src/macros.h |   5 +-
 test/stderr/0002 | 180 +++++++++++++++---------------
 test/stderr/0092 |  24 ++--
 test/stderr/0402 | 112 +++++++++----------
 test/stderr/0544 | 120 ++++++++++----------
 test/stderr/3000 |  44 ++++----
 test/stderr/5410 | 332 +++++++++++++++++++++++++++----------------------------
 test/stderr/5420 | 332 +++++++++++++++++++++++++++----------------------------
 test/stdout/0574 |   4 +-
 9 files changed, 577 insertions(+), 576 deletions(-)


diff --git a/src/src/macros.h b/src/src/macros.h
index 4189b6b..4359e21 100644
--- a/src/src/macros.h
+++ b/src/src/macros.h
@@ -1037,10 +1037,11 @@ enum { FILTER_UNSET, FILTER_FORWARD, FILTER_EXIM, FILTER_SIEVE };

/* UTF-8 chars for line-drawing */

-#define UTF8_DOWN_RIGHT        "\xE2\x94\x8c"
+#define UTF8_DOWN_RIGHT        "\xE2\x95\xAD"
+#define UTF8_VERT        "\xE2\x94\x82"
 #define UTF8_HORIZ        "\xE2\x94\x80"
 #define UTF8_VERT_RIGHT        "\xE2\x94\x9C"
-#define UTF8_UP_RIGHT        "\xE2\x94\x94"
+#define UTF8_UP_RIGHT        "\xE2\x95\xB0"
 #define UTF8_VERT_2DASH        "\xE2\x95\x8E"



diff --git a/test/stderr/0002 b/test/stderr/0002
index ee53aec..41bf884 100644
--- a/test/stderr/0002
+++ b/test/stderr/0002
@@ -2,85 +2,85 @@ Exim version x.yz ....
 configuration file is TESTSUITE/test-config
 admin user
 dropping to exim gid; retaining priv uid
- ┌considering: primary_hostname: $primary_hostname
+ ╭considering: primary_hostname: $primary_hostname
  ├──expanding: primary_hostname: $primary_hostname
- └─────result: primary_hostname: myhost.test.ex
- ┌considering: match:  ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
-  ┌considering: abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ ╰─────result: primary_hostname: myhost.test.ex
+ ╭considering: match:  ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+  ╭considering: abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
   ├──expanding: abcd
-  └─────result: abcd
-  ┌considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
+  ╰─────result: abcd
+  ╭considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
   ├──expanding: \N^([ab]+)(\w+)$\N
-  └─────result: ^([ab]+)(\w+)$
+  ╰─────result: ^([ab]+)(\w+)$
  ├──condition: match{abcd}{\N^([ab]+)(\w+)$\N}
  ├─────result: true
-  ┌considering: $2$1}fail}
+  ╭considering: $2$1}fail}
   ├──expanding: $2$1
-  └─────result: cdab
+  ╰─────result: cdab
  ├──expanding: match:  ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
- └─────result: match:  cdab
- ┌considering: match:  ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
-  ┌considering: wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ ╰─────result: match:  cdab
+ ╭considering: match:  ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+  ╭considering: wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
   ├──expanding: wxyz
-  └─────result: wxyz
-  ┌considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
+  ╰─────result: wxyz
+  ╭considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
   ├──expanding: \N^([ab]+)(\w+)$\N
-  └─────result: ^([ab]+)(\w+)$
+  ╰─────result: ^([ab]+)(\w+)$
  ├──condition: match{wxyz}{\N^([ab]+)(\w+)$\N}
  ├─────result: false
-  ┌───scanning: $2$1}fail}
+  ╭───scanning: $2$1}fail}
   ├──expanding: $2$1
   ├─────result: 
-  └───skipping: result is not used
+  ╰───skipping: result is not used
  ├failed to expand: match:  ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
  ├───error message: "if" failed and "fail" requested
- └failure was forced
- ┌considering: ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
-  ┌considering: 1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
+ ╰failure was forced
+ ╭considering: ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
+  ╭considering: 1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
   ├──expanding: 1
-  └─────result: 1
-  ┌considering: 1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
+  ╰─────result: 1
+  ╭considering: 1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
   ├──expanding: 1
-  └─────result: 1
+  ╰─────result: 1
  ├──condition: eq {1}{1}
  ├─────result: true
-  ┌considering: yes}{${lookup{xx}lsearch{/non/exist}}}}
+  ╭considering: yes}{${lookup{xx}lsearch{/non/exist}}}}
   ├──expanding: yes
-  └─────result: yes
-  ┌───scanning: ${lookup{xx}lsearch{/non/exist}}}}
-   ┌───scanning: xx}lsearch{/non/exist}}}}
+  ╰─────result: yes
+  ╭───scanning: ${lookup{xx}lsearch{/non/exist}}}}
+   ╭───scanning: xx}lsearch{/non/exist}}}}
    ├──expanding: xx
    ├─────result: xx
-   └───skipping: result is not used
-   ┌───scanning: /non/exist}}}}
+   ╰───skipping: result is not used
+   ╭───scanning: /non/exist}}}}
    ├──expanding: /non/exist
    ├─────result: /non/exist
-   └───skipping: result is not used
+   ╰───skipping: result is not used
   ├──expanding: ${lookup{xx}lsearch{/non/exist}}
   ├─────result: 
-  └───skipping: result is not used
+  ╰───skipping: result is not used
  ├──expanding: ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
- └─────result: yes
- ┌considering: match_address:   ${if match_address{a.b.c}{a.b.c}{yes}{no}}
-  ┌considering: a.b.c}{a.b.c}{yes}{no}}
+ ╰─────result: yes
+ ╭considering: match_address:   ${if match_address{a.b.c}{a.b.c}{yes}{no}}
+  ╭considering: a.b.c}{a.b.c}{yes}{no}}
   ├──expanding: a.b.c
-  └─────result: a.b.c
-  ┌considering: a.b.c}{yes}{no}}
+  ╰─────result: a.b.c
+  ╭considering: a.b.c}{yes}{no}}
   ├──expanding: a.b.c
-  └─────result: a.b.c
+  ╰─────result: a.b.c
 LOG: MAIN PANIC
   no @ found in the subject of an address list match: subject="a.b.c" pattern="a.b.c"
  ├──condition: match_address{a.b.c}{a.b.c}
  ├─────result: false
-  ┌───scanning: yes}{no}}
+  ╭───scanning: yes}{no}}
   ├──expanding: yes
   ├─────result: yes
-  └───skipping: result is not used
-  ┌considering: no}}
+  ╰───skipping: result is not used
+  ╭considering: no}}
   ├──expanding: no
-  └─────result: no
+  ╰─────result: no
  ├──expanding: a.b.c
- └─────result: match_address:   no
+ ╰─────result: match_address:   no

>>>>>>>>>>>>>>>> Exim pid=pppp (main: expansion test) terminating with rc=0 >>>>>>>>>>>>>>>>

 Exim version x.yz ....
 configuration file is TESTSUITE/test-config
@@ -170,82 +170,82 @@ Exim version x.yz ....
 configuration file is TESTSUITE/test-config
 admin user
 dropping to exim gid; retaining priv uid
- ┌considering: -oMa  sender_host_address = $sender_host_address
+ ╭considering: -oMa  sender_host_address = $sender_host_address
  ├──expanding: -oMa  sender_host_address = $sender_host_address
- └─────result: -oMa  sender_host_address = V4NET.0.0.1
- ┌considering:       sender_host_port = $sender_host_port
+ ╰─────result: -oMa  sender_host_address = V4NET.0.0.1
+ ╭considering:       sender_host_port = $sender_host_port
  ├──expanding:       sender_host_port = $sender_host_port
- └─────result:       sender_host_port = 1234
- ┌considering: -oMaa sender_host_authenticated = $sender_host_authenticated
+ ╰─────result:       sender_host_port = 1234
+ ╭considering: -oMaa sender_host_authenticated = $sender_host_authenticated
  ├──expanding: -oMaa sender_host_authenticated = $sender_host_authenticated
- └─────result: -oMaa sender_host_authenticated = AAA
- ┌considering: -oMai authenticated_id = $authenticated_id
+ ╰─────result: -oMaa sender_host_authenticated = AAA
+ ╭considering: -oMai authenticated_id = $authenticated_id
  ├──expanding: -oMai authenticated_id = $authenticated_id
- └─────result: -oMai authenticated_id = philip
- ┌considering: -oMas authenticated_sender = $authenticated_sender
+ ╰─────result: -oMai authenticated_id = philip
+ ╭considering: -oMas authenticated_sender = $authenticated_sender
  ├──expanding: -oMas authenticated_sender = $authenticated_sender
- └─────result: -oMas authenticated_sender = xx@???
- ┌considering: -oMi  interface_address = $interface_address
+ ╰─────result: -oMas authenticated_sender = xx@???
+ ╭considering: -oMi  interface_address = $interface_address
  ├──expanding: -oMi  interface_address = $interface_address
- └─────result: -oMi  interface_address = 1.1.1.1
- ┌considering:       interface_port = $interface_port
+ ╰─────result: -oMi  interface_address = 1.1.1.1
+ ╭considering:       interface_port = $interface_port
  ├──expanding:       interface_port = $interface_port
- └─────result:       interface_port = 99
- ┌considering: -oMr  received_protocol = $received_protocol
+ ╰─────result:       interface_port = 99
+ ╭considering: -oMr  received_protocol = $received_protocol
  ├──expanding: -oMr  received_protocol = $received_protocol
- └─────result: -oMr  received_protocol = special
- ┌considering: -oMt  sender_ident = $sender_ident
+ ╰─────result: -oMr  received_protocol = special
+ ╭considering: -oMt  sender_ident = $sender_ident
  ├──expanding: -oMt  sender_ident = $sender_ident
- └─────result: -oMt  sender_ident = me
+ ╰─────result: -oMt  sender_ident = me

>>>>>>>>>>>>>>>> Exim pid=pppp (main: expansion test) terminating with rc=0 >>>>>>>>>>>>>>>>

 1999-03-02 09:44:33 no host name found for IP address V4NET.11.12.13
 Exim version x.yz ....
 configuration file is TESTSUITE/test-config
 admin user
 dropping to exim gid; retaining priv uid
- ┌considering: -oMa  sender_host_address = $sender_host_address
+ ╭considering: -oMa  sender_host_address = $sender_host_address
  ├──expanding: -oMa  sender_host_address = $sender_host_address
- └─────result: -oMa  sender_host_address = V4NET.0.0.1
- ┌considering:       sender_host_port = $sender_host_port
+ ╰─────result: -oMa  sender_host_address = V4NET.0.0.1
+ ╭considering:       sender_host_port = $sender_host_port
  ├──expanding:       sender_host_port = $sender_host_port
- └─────result:       sender_host_port = 1234
- ┌considering: -oMaa sender_host_authenticated = $sender_host_authenticated
+ ╰─────result:       sender_host_port = 1234
+ ╭considering: -oMaa sender_host_authenticated = $sender_host_authenticated
  ├──expanding: -oMaa sender_host_authenticated = $sender_host_authenticated
- └─────result: -oMaa sender_host_authenticated = AAA
- ┌considering: -oMai authenticated_id = $authenticated_id
+ ╰─────result: -oMaa sender_host_authenticated = AAA
+ ╭considering: -oMai authenticated_id = $authenticated_id
  ├──expanding: -oMai authenticated_id = $authenticated_id
- └─────result: -oMai authenticated_id = philip
- ┌considering: -oMas authenticated_sender = $authenticated_sender
+ ╰─────result: -oMai authenticated_id = philip
+ ╭considering: -oMas authenticated_sender = $authenticated_sender
  ├──expanding: -oMas authenticated_sender = $authenticated_sender
- └─────result: -oMas authenticated_sender = xx@???
- ┌considering: -oMi  interface_address = $interface_address
+ ╰─────result: -oMas authenticated_sender = xx@???
+ ╭considering: -oMi  interface_address = $interface_address
  ├──expanding: -oMi  interface_address = $interface_address
- └─────result: -oMi  interface_address = 1.1.1.1
- ┌considering:       interface_port = $interface_port
+ ╰─────result: -oMi  interface_address = 1.1.1.1
+ ╭considering:       interface_port = $interface_port
  ├──expanding:       interface_port = $interface_port
- └─────result:       interface_port = 99
- ┌considering: -oMr  received_protocol = $received_protocol
+ ╰─────result:       interface_port = 99
+ ╭considering: -oMr  received_protocol = $received_protocol
  ├──expanding: -oMr  received_protocol = $received_protocol
- └─────result: -oMr  received_protocol = special
- ┌considering: ----> No lookup yet: ${if eq{black}{white}{$sender_host_name}{No}}
-  ┌considering: black}{white}{$sender_host_name}{No}}
+ ╰─────result: -oMr  received_protocol = special
+ ╭considering: ----> No lookup yet: ${if eq{black}{white}{$sender_host_name}{No}}
+  ╭considering: black}{white}{$sender_host_name}{No}}
   ├──expanding: black
-  └─────result: black
-  ┌considering: white}{$sender_host_name}{No}}
+  ╰─────result: black
+  ╭considering: white}{$sender_host_name}{No}}
   ├──expanding: white
-  └─────result: white
+  ╰─────result: white
  ├──condition: eq{black}{white}
  ├─────result: false
-  ┌───scanning: $sender_host_name}{No}}
+  ╭───scanning: $sender_host_name}{No}}
   ├──expanding: $sender_host_name
   ├─────result: 
-  └───skipping: result is not used
-  ┌considering: No}}
+  ╰───skipping: result is not used
+  ╭considering: No}}
   ├──expanding: No
-  └─────result: No
+  ╰─────result: No
  ├──expanding: ----> No lookup yet: ${if eq{black}{white}{$sender_host_name}{No}}
- └─────result: ----> No lookup yet: No
- ┌considering: -oMs  sender_host_name = $sender_host_name
+ ╰─────result: ----> No lookup yet: No
+ ╭considering: -oMs  sender_host_name = $sender_host_name
 looking up host name for V4NET.0.0.1
 IP address lookup yielded "ten-1.test.ex"
 ten-1.test.ex V4NET.0.0.1 mx=-1 sort=xx 
@@ -254,10 +254,10 @@ checking addresses for ten-1.test.ex
 sender_fullhost = ten-1.test.ex [V4NET.0.0.1]
 sender_rcvhost = ten-1.test.ex ([V4NET.0.0.1] ident=me)
  ├──expanding: -oMs  sender_host_name = $sender_host_name
- └─────result: -oMs  sender_host_name = ten-1.test.ex
- ┌considering: -oMt  sender_ident = $sender_ident
+ ╰─────result: -oMs  sender_host_name = ten-1.test.ex
+ ╭considering: -oMt  sender_ident = $sender_ident
  ├──expanding: -oMt  sender_ident = $sender_ident
- └─────result: -oMt  sender_ident = me
+ ╰─────result: -oMt  sender_ident = me

>>>>>>>>>>>>>>>> Exim pid=pppp (main: expansion test) terminating with rc=0 >>>>>>>>>>>>>>>>

Exim version x.yz ....
changed uid/gid: forcing real = effective
diff --git a/test/stderr/0092 b/test/stderr/0092
index f4cda6f..715ca79 100644
--- a/test/stderr/0092
+++ b/test/stderr/0092
@@ -48,33 +48,33 @@ LOG: smtp_connection MAIN
SMTP connection from [V4NET.0.0.1]
host in host_lookup? no (option unset)
set_process_info: pppp handling incoming connection from [V4NET.0.0.1]
- ┌considering: ${if eq {V4NET.0.0.1} {$sender_host_address} {2} {30}}s
- ┌considering: V4NET.0.0.1} {$sender_host_address} {2} {30}}s
+ ╭considering: ${if eq {V4NET.0.0.1} {$sender_host_address} {2} {30}}s
+ ╭considering: V4NET.0.0.1} {$sender_host_address} {2} {30}}s
├──expanding: V4NET.0.0.1
- └─────result: V4NET.0.0.1
- ┌considering: $sender_host_address} {2} {30}}s
+ ╰─────result: V4NET.0.0.1
+ ╭considering: $sender_host_address} {2} {30}}s
├──expanding: $sender_host_address
- └─────result: V4NET.0.0.1
+ ╰─────result: V4NET.0.0.1
├──condition: eq {V4NET.0.0.1} {$sender_host_address}
├─────result: true
- ┌considering: 2} {30}}s
+ ╭considering: 2} {30}}s
├──expanding: 2
- └─────result: 2
- ┌───scanning: 30}}s
+ ╰─────result: 2
+ ╭───scanning: 30}}s
├──expanding: 30
├─────result: 30
- └───skipping: result is not used
+ ╰───skipping: result is not used
├──expanding: ${if eq {V4NET.0.0.1} {$sender_host_address} {2} {30}}s
- └─────result: 2s
+ ╰─────result: 2s
host in host_reject_connection? no (option unset)
host in sender_unqualified_hosts? no (option unset)
host in recipient_unqualified_hosts? no (option unset)
host in helo_verify_hosts? no (option unset)
host in helo_try_verify_hosts? no (option unset)
host in helo_accept_junk_hosts? no (option unset)
- ┌considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- └─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
SMTP>> 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000

smtp_setup_msg entered
SMTP<< mail from:userx@???
diff --git a/test/stderr/0402 b/test/stderr/0402
index 9f6f626..3d90308 100644
--- a/test/stderr/0402
+++ b/test/stderr/0402
@@ -36,10 +36,10 @@ F From: CALLER_NAME <CALLER@???>

 Data file name: TESTSUITE/spool//input//10HmaX-0005vi-00-D
 Data file written for message 10HmaX-0005vi-00
- ┌considering: ${tod_full}
+ ╭considering: ${tod_full}
  ├──expanding: ${tod_full}
- └─────result: Tue, 2 Mar 1999 09:44:33 +0000
- ┌considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╭considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
      }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
      }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
      }}(Exim $version_number)
@@ -48,7 +48,7 @@ Data file written for message 10HmaX-0005vi-00
      for $received_for}}
  ├──condition: def:sender_rcvhost
  ├─────result: false
-  ┌───scanning: from $sender_rcvhost
+  ╭───scanning: from $sender_rcvhost
       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
       }}(Exim $version_number)
@@ -59,8 +59,8 @@ Data file written for message 10HmaX-0005vi-00

    
├─────result: from
    
-  └───skipping: result is not used
-  ┌considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+  ╰───skipping: result is not used
+  ╭considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
       }}(Exim $version_number)
       ${if def:sender_address {(envelope-from <$sender_address>)
@@ -68,25 +68,25 @@ Data file written for message 10HmaX-0005vi-00
       for $received_for}}
   ├──condition: def:sender_ident
   ├─────result: true
-   ┌considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+   ╭considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
        }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
        }}(Exim $version_number)
        ${if def:sender_address {(envelope-from <$sender_address>)
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
-   ╎┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+   ╎╭considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
    ╎    }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
    ╎    }}(Exim $version_number)
    ╎    ${if def:sender_address {(envelope-from <$sender_address>)
    ╎    }}id $message_exim_id${if def:received_for {
    ╎    for $received_for}}
    ╎├──expanding: $sender_ident
-   ╎└─────result: CALLER
+   ╎╰─────result: CALLER
    ├──expanding: from ${quote_local_part:$sender_ident} 
-   └─────result: from CALLER 
+   ╰─────result: from CALLER 
   ├──condition: def:sender_helo_name
   ├─────result: false
-   ┌───scanning: (helo=$sender_helo_name)
+   ╭───scanning: (helo=$sender_helo_name)
        }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
        }}(Exim $version_number)
        ${if def:sender_address {(envelope-from <$sender_address>)
@@ -96,22 +96,22 @@ Data file written for message 10HmaX-0005vi-00

    
    ├─────result: (helo=)

    
-   └───skipping: result is not used
+   ╰───skipping: result is not used
   ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
       }}
-  └─────result: from CALLER 
+  ╰─────result: from CALLER 
  ├──condition: def:received_protocol
  ├─────result: true
-  ┌considering: with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+  ╭considering: with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
       }}(Exim $version_number)
       ${if def:sender_address {(envelope-from <$sender_address>)
       }}id $message_exim_id${if def:received_for {
       for $received_for}}
   ├──expanding: with $received_protocol 
-  └─────result: with local 
+  ╰─────result: with local 
  ├──condition: def:tls_in_cipher_std
  ├─────result: false
-  ┌───scanning:  tls $tls_in_cipher_std
+  ╭───scanning:  tls $tls_in_cipher_std
       }}(Exim $version_number)
       ${if def:sender_address {(envelope-from <$sender_address>)
       }}id $message_exim_id${if def:received_for {
@@ -120,25 +120,25 @@ Data file written for message 10HmaX-0005vi-00

    
├─────result: tls
    
-  └───skipping: result is not used
+  ╰───skipping: result is not used
  ├──condition: def:sender_address
  ├─────result: true
-  ┌considering: (envelope-from <$sender_address>)
+  ╭considering: (envelope-from <$sender_address>)
       }}id $message_exim_id${if def:received_for {
       for $received_for}}
   ├──expanding: (envelope-from <$sender_address>)

    
- └─────result: (envelope-from <CALLER@???>)
+ ╰─────result: (envelope-from <CALLER@???>)
    
  ├──condition: def:received_for
  ├─────result: false
-  ┌───scanning: 
+  ╭───scanning: 
       for $received_for}}
   ├──expanding: 
       for $received_for
   ├─────result: 
       for 
-  └───skipping: result is not used
+  ╰───skipping: result is not used
  ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
      }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
      }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
@@ -146,16 +146,16 @@ Data file written for message 10HmaX-0005vi-00
      ${if def:sender_address {(envelope-from <$sender_address>)
      }}id $message_exim_id${if def:received_for {
      for $received_for}}
- └─────result: Received: from CALLER by mail.test.ex with local (Exim x.yz)
+ ╰─────result: Received: from CALLER by mail.test.ex with local (Exim x.yz)
      (envelope-from <CALLER@???>)
      id 10HmaX-0005vi-00

>>Generated Received: header line

 P Received: from CALLER by mail.test.ex with local (Exim x.yz)
     (envelope-from <CALLER@???>)
     id 10HmaX-0005vi-00; Tue, 2 Mar 1999 09:44:33 +0000
- ┌considering: ${tod_full}
+ ╭considering: ${tod_full}
  ├──expanding: ${tod_full}
- └─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
 Writing spool header file: TESTSUITE/spool//input//hdr.10HmaX-0005vi-00
 DSN: Write SPOOL :-dsn_envid NULL
 DSN: Write SPOOL :-dsn_ret 0
@@ -281,9 +281,9 @@ local_part=rd+usery domain=test.ex
 stripped prefix rd+
 checking local_parts
 usery in "usery"? yes (matched "usery")
- ┌considering: /non-exist/$domain
+ ╭considering: /non-exist/$domain
  ├──expanding: /non-exist/$domain
- └─────result: /non-exist/test.ex
+ ╰─────result: /non-exist/test.ex
 calling r5 router
 rda_interpret (string): TESTSUITE/test-mail/junk
 expanded: TESTSUITE/test-mail/junk
@@ -320,9 +320,9 @@ local_part=rd+CALLER domain=test.ex
 stripped prefix rd+
 checking local_parts
 CALLER in "CALLER"? yes (matched "CALLER")
- ┌considering: /non-exist/$local_part
+ ╭considering: /non-exist/$local_part
  ├──expanding: /non-exist/$local_part
- └─────result: /non-exist/CALLER
+ ╰─────result: /non-exist/CALLER
 calling r4 router
 rda_interpret (string): TESTSUITE/test-mail/junk
 expanded: TESTSUITE/test-mail/junk
@@ -353,9 +353,9 @@ r2 router skipped: local_parts mismatch
 local_part=userz domain=test.ex
 checking local_parts
 userz in "userz"? yes (matched "userz")
- ┌considering: /non-exist/$domain
+ ╭considering: /non-exist/$domain
  ├──expanding: /non-exist/$domain
- └─────result: /non-exist/test.ex
+ ╰─────result: /non-exist/test.ex
 calling r3 router
 r3 router called for userz@???
   domain = test.ex
@@ -378,9 +378,9 @@ r1 router skipped: local_parts mismatch
 local_part=usery domain=test.ex
 checking local_parts
 usery in "usery"? yes (matched "usery")
- ┌considering: /non-exist/$domain
+ ╭considering: /non-exist/$domain
  ├──expanding: /non-exist/$domain
- └─────result: /non-exist/test.ex
+ ╰─────result: /non-exist/test.ex
 calling r2 router
 r2 router called for usery@???
   domain = test.ex
@@ -398,9 +398,9 @@ routing CALLER@???
 local_part=CALLER domain=test.ex
 checking local_parts
 CALLER in "CALLER"? yes (matched "CALLER")
- ┌considering: /non-exist/$local_part
+ ╭considering: /non-exist/$local_part
  ├──expanding: /non-exist/$local_part
- └─────result: /non-exist/CALLER
+ ╰─────result: /non-exist/CALLER
 calling r1 router
 r1 router called for CALLER@???
   domain = test.ex
@@ -446,18 +446,18 @@ search_tidyup called
  returned from EXIM_DBOPEN: (nil)
  failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
 no retry data available
- ┌considering: /non-exist/$local_part
+ ╭considering: /non-exist/$local_part
  ├──expanding: /non-exist/$local_part
- └─────result: /non-exist/usery
+ ╰─────result: /non-exist/usery
 search_tidyup called
 changed uid/gid: local delivery to TESTSUITE/test-mail/junk <TESTSUITE/test-mail/junk> transport=ft1
   uid=CALLER_UID gid=CALLER_GID pid=pppp
   home=/non-exist/usery current=/
 set_process_info: pppp delivering 10HmaX-0005vi-00 to TESTSUITE/test-mail/junk using ft1
 appendfile transport entered
- ┌considering: $address_file
+ ╭considering: $address_file
  ├──expanding: $address_file
- └─────result: TESTSUITE/test-mail/junk
+ ╰─────result: TESTSUITE/test-mail/junk
 appendfile: mode=600 notify_comsat=0 quota=0 warning=0
   file=TESTSUITE/test-mail/junk format=unix
   message_prefix=From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}\n
@@ -469,22 +469,22 @@ hitch name: TESTSUITE/test-mail/junk.lock.test.ex.dddddddd.pppppppp
 lock file created
 mailbox TESTSUITE/test-mail/junk is locked
 writing to file TESTSUITE/test-mail/junk
- ┌considering: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+ ╭considering: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}


├──condition: def:return_path
├─────result: true
- ┌considering: $return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+ ╭considering: $return_path}{MAILER-DAEMON}} ${tod_bsdinbox}

├──expanding: $return_path
- └─────result: CALLER@???
- ┌───scanning: MAILER-DAEMON}} ${tod_bsdinbox}
+ ╰─────result: CALLER@???
+ ╭───scanning: MAILER-DAEMON}} ${tod_bsdinbox}

├──expanding: MAILER-DAEMON
├─────result: MAILER-DAEMON
- └───skipping: result is not used
+ ╰───skipping: result is not used
├──expanding: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}

- └─────result: From CALLER@??? Tue Mar 02 09:44:33 1999
+ ╰─────result: From CALLER@??? Tue Mar 02 09:44:33 1999

writing data block fd=dddd size=sss timeout=0
cannot use sendfile for body: spoolfile not wireformat
@@ -512,9 +512,9 @@ changed uid/gid: local delivery to TESTSUITE/test-mail/junk <TESTSUITE/test-mail
home=/non-exist/CALLER current=/
set_process_info: pppp delivering 10HmaX-0005vi-00 to TESTSUITE/test-mail/junk using ft1
appendfile transport entered
- ┌considering: $address_file
+ ╭considering: $address_file
├──expanding: $address_file
- └─────result: TESTSUITE/test-mail/junk
+ ╰─────result: TESTSUITE/test-mail/junk
appendfile: mode=600 notify_comsat=0 quota=0 warning=0
file=TESTSUITE/test-mail/junk format=unix
message_prefix=From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}\n
@@ -526,22 +526,22 @@ hitch name: TESTSUITE/test-mail/junk.lock.test.ex.dddddddd.pppppppp
lock file created
mailbox TESTSUITE/test-mail/junk is locked
writing to file TESTSUITE/test-mail/junk
- ┌considering: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+ ╭considering: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}

├──condition: def:return_path
├─────result: true
- ┌considering: $return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+ ╭considering: $return_path}{MAILER-DAEMON}} ${tod_bsdinbox}

├──expanding: $return_path
- └─────result: CALLER@???
- ┌───scanning: MAILER-DAEMON}} ${tod_bsdinbox}
+ ╰─────result: CALLER@???
+ ╭───scanning: MAILER-DAEMON}} ${tod_bsdinbox}

├──expanding: MAILER-DAEMON
├─────result: MAILER-DAEMON
- └───skipping: result is not used
+ ╰───skipping: result is not used
├──expanding: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}

- └─────result: From CALLER@??? Tue Mar 02 09:44:33 1999
+ ╰─────result: From CALLER@??? Tue Mar 02 09:44:33 1999

 writing data block fd=dddd size=sss timeout=0
 cannot use sendfile for body: spoolfile not wireformat
@@ -589,9 +589,9 @@ LOG: MAIN
  returned from EXIM_DBOPEN: (nil)
  failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
 no retry data available
- ┌considering: /non-exist/$local_part
+ ╭considering: /non-exist/$local_part
  ├──expanding: /non-exist/$local_part
- └─────result: /non-exist/usery
+ ╰─────result: /non-exist/usery
 search_tidyup called
 changed uid/gid: local delivery to usery <usery@???> transport=t1
   uid=CALLER_UID gid=CALLER_GID pid=pppp
@@ -618,9 +618,9 @@ LOG: MAIN
  returned from EXIM_DBOPEN: (nil)
  failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
 no retry data available
- ┌considering: /$local_part
+ ╭considering: /$local_part
  ├──expanding: /$local_part
- └─────result: /userz
+ ╰─────result: /userz
 search_tidyup called
 changed uid/gid: local delivery to userz <userz@???> transport=t2
   uid=CALLER_UID gid=CALLER_GID pid=pppp
diff --git a/test/stderr/0544 b/test/stderr/0544
index 2dc0c92..c90d9b1 100644
--- a/test/stderr/0544
+++ b/test/stderr/0544
@@ -1,10 +1,10 @@
 Exim version x.yz ....
 configuration file is TESTSUITE/test-config
 admin user
- ┌considering: ${tod_full}
+ ╭considering: ${tod_full}
  ├──expanding: ${tod_full}
- └─────result: Tue, 2 Mar 1999 09:44:33 +0000
- ┌considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╭considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
      }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
      }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
      }}(Exim $version_number)
@@ -13,7 +13,7 @@ admin user
      for $received_for}}
  ├──condition: def:sender_rcvhost
  ├─────result: false
-  ┌───scanning: from $sender_rcvhost
+  ╭───scanning: from $sender_rcvhost
       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
       }}(Exim $version_number)
@@ -24,8 +24,8 @@ admin user

    
├─────result: from
    
-  └───skipping: result is not used
-  ┌considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+  ╰───skipping: result is not used
+  ╭considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
       }}(Exim $version_number)
       ${if def:sender_address {(envelope-from <$sender_address>)
@@ -33,25 +33,25 @@ admin user
       for $received_for}}
   ├──condition: def:sender_ident
   ├─────result: true
-   ┌considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+   ╭considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
        }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
        }}(Exim $version_number)
        ${if def:sender_address {(envelope-from <$sender_address>)
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
-   ╎┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+   ╎╭considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
    ╎    }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
    ╎    }}(Exim $version_number)
    ╎    ${if def:sender_address {(envelope-from <$sender_address>)
    ╎    }}id $message_exim_id${if def:received_for {
    ╎    for $received_for}}
    ╎├──expanding: $sender_ident
-   ╎└─────result: CALLER
+   ╎╰─────result: CALLER
    ├──expanding: from ${quote_local_part:$sender_ident} 
-   └─────result: from CALLER 
+   ╰─────result: from CALLER 
   ├──condition: def:sender_helo_name
   ├─────result: false
-   ┌───scanning: (helo=$sender_helo_name)
+   ╭───scanning: (helo=$sender_helo_name)
        }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
        }}(Exim $version_number)
        ${if def:sender_address {(envelope-from <$sender_address>)
@@ -61,22 +61,22 @@ admin user

    
    ├─────result: (helo=)

    
-   └───skipping: result is not used
+   ╰───skipping: result is not used
   ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
       }}
-  └─────result: from CALLER 
+  ╰─────result: from CALLER 
  ├──condition: def:received_protocol
  ├─────result: true
-  ┌considering: with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+  ╭considering: with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
       }}(Exim $version_number)
       ${if def:sender_address {(envelope-from <$sender_address>)
       }}id $message_exim_id${if def:received_for {
       for $received_for}}
   ├──expanding: with $received_protocol 
-  └─────result: with local 
+  ╰─────result: with local 
  ├──condition: def:tls_in_cipher_std
  ├─────result: false
-  ┌───scanning:  tls $tls_in_cipher_std
+  ╭───scanning:  tls $tls_in_cipher_std
       }}(Exim $version_number)
       ${if def:sender_address {(envelope-from <$sender_address>)
       }}id $message_exim_id${if def:received_for {
@@ -85,25 +85,25 @@ admin user

    
├─────result: tls
    
-  └───skipping: result is not used
+  ╰───skipping: result is not used
  ├──condition: def:sender_address
  ├─────result: true
-  ┌considering: (envelope-from <$sender_address>)
+  ╭considering: (envelope-from <$sender_address>)
       }}id $message_exim_id${if def:received_for {
       for $received_for}}
   ├──expanding: (envelope-from <$sender_address>)

    
- └─────result: (envelope-from <CALLER@???>)
+ ╰─────result: (envelope-from <CALLER@???>)
    
  ├──condition: def:received_for
  ├─────result: false
-  ┌───scanning: 
+  ╭───scanning: 
       for $received_for}}
   ├──expanding: 
       for $received_for
   ├─────result: 
       for 
-  └───skipping: result is not used
+  ╰───skipping: result is not used
  ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
      }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
      }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
@@ -111,12 +111,12 @@ admin user
      ${if def:sender_address {(envelope-from <$sender_address>)
      }}id $message_exim_id${if def:received_for {
      for $received_for}}
- └─────result: Received: from CALLER by the.local.host.name with local (Exim x.yz)
+ ╰─────result: Received: from CALLER by the.local.host.name with local (Exim x.yz)
      (envelope-from <CALLER@???>)
      id 10HmaX-0005vi-00
- ┌considering: ${tod_full}
+ ╭considering: ${tod_full}
  ├──expanding: ${tod_full}
- └─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
 LOG: MAIN
   <= CALLER@??? U=CALLER P=local S=sss
 created log directory TESTSUITE/spool/log
@@ -125,43 +125,43 @@ configuration file is TESTSUITE/test-config
 trusted user
 admin user
 dropping to exim gid; retaining priv uid
- ┌considering: $domain
+ ╭considering: $domain
  ├──expanding: $domain
- └─────result: domain1.ex
+ ╰─────result: domain1.ex
 LOG: MAIN
   == userx@??? R=smarthost T=smtp defer (-1): domain matches queue_smtp_domains, or -odqs set
 LOG: MAIN
   == userx@??? R=smarthost T=smtp defer (-1): domain matches queue_smtp_domains, or -odqs set
- ┌considering: ${if or {{ !eq{$h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
-  ┌considering: $h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
+ ╭considering: ${if or {{ !eq{$h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
+  ╭considering: $h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
   ├──expanding: $h_list-id:$h_list-post:$h_list-subscribe:
-  └─────result: 
-  ┌considering: } }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
+  ╰─────result: 
+  ╭considering: } }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
   ├──expanding: 
-  └─────result: 
-  ┌considering: $h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
+  ╰─────result: 
+  ╭considering: $h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
   ├──expanding: $h_precedence:
-  └─────result: 
-  ┌considering: (?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
+  ╰─────result: 
+  ╭considering: (?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
   ├──expanding: (?i)bulk|list|junk
-  └─────result: (?i)bulk|list|junk
-  ┌considering: $h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
+  ╰─────result: (?i)bulk|list|junk
+  ╭considering: $h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
   ├──expanding: $h_auto-submitted:
-  └─────result: 
-  ┌considering: (?i)auto-generated|auto-replied} }} {no}{yes}}
+  ╰─────result: 
+  ╭considering: (?i)auto-generated|auto-replied} }} {no}{yes}}
   ├──expanding: (?i)auto-generated|auto-replied
-  └─────result: (?i)auto-generated|auto-replied
+  ╰─────result: (?i)auto-generated|auto-replied
  ├──condition: or {{ !eq{$h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }}
  ├─────result: false
-  ┌───scanning: no}{yes}}
+  ╭───scanning: no}{yes}}
   ├──expanding: no
   ├─────result: no
-  └───skipping: result is not used
-  ┌considering: yes}}
+  ╰───skipping: result is not used
+  ╭considering: yes}}
   ├──expanding: yes
-  └─────result: yes
+  ╰─────result: yes
  ├──expanding: ${if or {{ !eq{$h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
- └─────result: yes
+ ╰─────result: yes

>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>

Exim version x.yz ....
@@ -169,32 +169,32 @@ configuration file is TESTSUITE/test-config
admin user
LOG: smtp_connection MAIN
SMTP connection from CALLER
- ┌considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- └─────result: the.local.host.name ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
- ┌considering: ${if match_domain {$sender_helo_name}{+dlist}}
- ┌considering: $sender_helo_name}{+dlist}}
+ ╰─────result: the.local.host.name ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ╭considering: ${if match_domain {$sender_helo_name}{+dlist}}
+ ╭considering: $sender_helo_name}{+dlist}}
├──expanding: $sender_helo_name
- └─────result: ehlo.domain
- ┌considering: +dlist}}
+ ╰─────result: ehlo.domain
+ ╭considering: +dlist}}
├──expanding: +dlist
- └─────result: +dlist
- ┌considering: $domain
+ ╰─────result: +dlist
+ ╭considering: $domain
├──expanding: $domain
- └─────result: ehlo.domain
+ ╰─────result: ehlo.domain
├──condition: match_domain {$sender_helo_name}{+dlist}
├─────result: true
├──expanding: ${if match_domain {$sender_helo_name}{+dlist}}
- └─────result: true
- ┌considering: domain=$domain/sender_domain=$sender_address_domain
+ ╰─────result: true
+ ╭considering: domain=$domain/sender_domain=$sender_address_domain
├──expanding: domain=$domain/sender_domain=$sender_address_domain
- └─────result: domain=/sender_domain=sender.domain
- ┌considering: domain=$domain/sender_domain=$sender_address_domain
+ ╰─────result: domain=/sender_domain=sender.domain
+ ╭considering: domain=$domain/sender_domain=$sender_address_domain
├──expanding: domain=$domain/sender_domain=$sender_address_domain
- └─────result: domain=recipient.domain/sender_domain=sender.domain
- ┌considering: domain=$domain/sender_domain=$sender_address_domain
+ ╰─────result: domain=recipient.domain/sender_domain=sender.domain
+ ╭considering: domain=$domain/sender_domain=$sender_address_domain
├──expanding: domain=$domain/sender_domain=$sender_address_domain
- └─────result: domain=recipient.domain/sender_domain=sender.domain
+ ╰─────result: domain=recipient.domain/sender_domain=sender.domain
LOG: smtp_connection MAIN
SMTP connection from CALLER closed by QUIT
>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>>

diff --git a/test/stderr/3000 b/test/stderr/3000
index 6e27cfc..9ba2a62 100644
--- a/test/stderr/3000
+++ b/test/stderr/3000
@@ -3,45 +3,45 @@ Exim version x.yz ....
configuration file is TESTSUITE/test-config
admin user
dropping to exim gid; retaining priv uid
- ┌considering: ${perl{foo}{arg1}}
- ┌considering: foo}{arg1}}
+ ╭considering: ${perl{foo}{arg1}}
+ ╭considering: foo}{arg1}}
├──expanding: foo
- └─────result: foo
- ┌considering: arg1}}
+ ╰─────result: foo
+ ╭considering: arg1}}
├──expanding: arg1
- └─────result: arg1
+ ╰─────result: arg1
Starting Perl interpreter
├──expanding: ${perl{foo}{arg1}}
- └─────result: Subroutine foo called with args: arg1
- ┌considering: ${perl{foo_undef}}
- ┌considering: foo_undef}}
+ ╰─────result: Subroutine foo called with args: arg1
+ ╭considering: ${perl{foo_undef}}
+ ╭considering: foo_undef}}
├──expanding: foo_undef
- └─────result: foo_undef
+ ╰─────result: foo_undef
├failed to expand: ${perl{foo_undef}}
├───error message: Perl subroutine "foo_undef" returned undef to force failure
- └failure was forced
- ┌considering: ${perl{debug_write}{debug from Perl\n}}
- ┌considering: debug_write}{debug from Perl\n}}
+ ╰failure was forced
+ ╭considering: ${perl{debug_write}{debug from Perl\n}}
+ ╭considering: debug_write}{debug from Perl\n}}
├──expanding: debug_write
- └─────result: debug_write
- ┌considering: debug from Perl\n}}
+ ╰─────result: debug_write
+ ╭considering: debug from Perl\n}}
├──expanding: debug from Perl\n
- └─────result: debug from Perl
+ ╰─────result: debug from Perl

debug from Perl
├──expanding: ${perl{debug_write}{debug from Perl\n}}
- └─────result: Wrote debug
- ┌considering: ${perl{log_write}{log from Perl}}
- ┌considering: log_write}{log from Perl}}
+ ╰─────result: Wrote debug
+ ╭considering: ${perl{log_write}{log from Perl}}
+ ╭considering: log_write}{log from Perl}}
├──expanding: log_write
- └─────result: log_write
- ┌considering: log from Perl}}
+ ╰─────result: log_write
+ ╭considering: log from Perl}}
├──expanding: log from Perl
- └─────result: log from Perl
+ ╰─────result: log from Perl
LOG: MAIN
log from Perl
├──expanding: ${perl{log_write}{log from Perl}}
- └─────result: Wrote log
+ ╰─────result: Wrote log
>>>>>>>>>>>>>>>> Exim pid=pppp (main: expansion test) terminating with rc=0 >>>>>>>>>>>>>>>>

 LOG: smtp_connection MAIN
   SMTP connection from CALLER
diff --git a/test/stderr/5410 b/test/stderr/5410
index 8e6e7bb..5774680 100644
--- a/test/stderr/5410
+++ b/test/stderr/5410
@@ -4,40 +4,40 @@ admin user
  in hosts_connection_nolog? no (option unset)
 LOG: smtp_connection MAIN
   SMTP connection from CALLER
- ┌considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
  ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- └─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
  in dsn_advertise_hosts? no (option unset)
  in pipelining_advertise_hosts? yes (matched "*")
  in chunking_advertise_hosts? no (end of list)
  in tls_advertise_hosts? yes (matched "*")
- ┌considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
-  ┌considering: SERVER}{server}{queue}{cutthrough}}
+ ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+  ╭considering: SERVER}{server}{queue}{cutthrough}}
   ├──expanding: SERVER
-  └─────result: SERVER
-  ┌considering: server}{queue}{cutthrough}}
+  ╰─────result: SERVER
+  ╭considering: server}{queue}{cutthrough}}
   ├──expanding: server
-  └─────result: server
+  ╰─────result: server
  ├──condition: eq {SERVER}{server}
  ├─────result: false
-  ┌───scanning: queue}{cutthrough}}
+  ╭───scanning: queue}{cutthrough}}
   ├──expanding: queue
   ├─────result: queue
-  └───skipping: result is not used
-  ┌considering: cutthrough}}
+  ╰───skipping: result is not used
+  ╭considering: cutthrough}}
   ├──expanding: cutthrough
-  └─────result: cutthrough
+  ╰─────result: cutthrough
  ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
- └─────result: cutthrough
+ ╰─────result: cutthrough
 using ACL "cutthrough"
 processing "accept" (TESTSUITE/test-config 22)
 check control = cutthrough_delivery
 check verify = recipient
 domain.com in "test.ex : *.test.ex"? no (end of list)
 domain.com in "! +local_domains"? yes (end of list)
- ┌considering: $local_part
+ ╭considering: $local_part
  ├──expanding: $local_part
- └─────result: userx
+ ╰─────result: userx
 domain.com in "*"? yes (matched "*")
 ----------- end verify ------------
 accept: condition test succeeded in ACL "cutthrough"
@@ -45,14 +45,14 @@ end of ACL "cutthrough": ACCEPT
 ----------- start cutthrough setup ------------
 domain.com in "test.ex : *.test.ex"? no (end of list)
 domain.com in "! +local_domains"? yes (end of list)
- ┌considering: $local_part
+ ╭considering: $local_part
  ├──expanding: $local_part
- └─────result: userx
+ ╰─────result: userx
 domain.com in "*"? yes (matched "*")
 Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ... connected
- ┌considering: $primary_hostname
+ ╭considering: $primary_hostname
  ├──expanding: $primary_hostname
- └─────result: myhost.test.ex
+ ╰─────result: myhost.test.ex
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 127.0.0.1 in hosts_avoid_esmtp? no (option unset)
   SMTP>> EHLO myhost.test.ex
@@ -63,43 +63,43 @@ cmd buf flush ddd bytes
          250-PIPELINING
          250-STARTTLS
          250 HELP
- ┌considering: ${if eq {$address_data}{usery}{*}{:}}
-  ┌considering: $address_data}{usery}{*}{:}}
+ ╭considering: ${if eq {$address_data}{usery}{*}{:}}
+  ╭considering: $address_data}{usery}{*}{:}}
   ├──expanding: $address_data
-  └─────result: userx
-  ┌considering: usery}{*}{:}}
+  ╰─────result: userx
+  ╭considering: usery}{*}{:}}
   ├──expanding: usery
-  └─────result: usery
+  ╰─────result: usery
  ├──condition: eq {$address_data}{usery}
  ├─────result: false
-  ┌───scanning: *}{:}}
+  ╭───scanning: *}{:}}
   ├──expanding: *
   ├─────result: *
-  └───skipping: result is not used
-  ┌considering: :}}
+  ╰───skipping: result is not used
+  ╭considering: :}}
   ├──expanding: :
-  └─────result: :
+  ╰─────result: :
  ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
- └─────result: :
+ ╰─────result: :
 127.0.0.1 in hosts_avoid_tls? no (end of list)
- ┌considering: ${if eq {$address_data}{userz}{*}{:}}
-  ┌considering: $address_data}{userz}{*}{:}}
+ ╭considering: ${if eq {$address_data}{userz}{*}{:}}
+  ╭considering: $address_data}{userz}{*}{:}}
   ├──expanding: $address_data
-  └─────result: userx
-  ┌considering: userz}{*}{:}}
+  ╰─────result: userx
+  ╭considering: userz}{*}{:}}
   ├──expanding: userz
-  └─────result: userz
+  ╰─────result: userz
  ├──condition: eq {$address_data}{userz}
  ├─────result: false
-  ┌───scanning: *}{:}}
+  ╭───scanning: *}{:}}
   ├──expanding: *
   ├─────result: *
-  └───skipping: result is not used
-  ┌considering: :}}
+  ╰───skipping: result is not used
+  ╭considering: :}}
   ├──expanding: :
-  └─────result: :
+  ╰─────result: :
  ├──expanding: ${if eq {$address_data}{userz}{*}{:}}
- └─────result: :
+ ╰─────result: :
 127.0.0.1 in hosts_verify_avoid_tls? no (end of list)
   SMTP>> STARTTLS
 cmd buf flush ddd bytes
@@ -131,10 +131,10 @@ accept: condition test succeeded in inline ACL
 end of inline ACL: ACCEPT
   SMTP>> DATA
   SMTP<< 354 Enter message, ending with "." on a line by itself
- ┌considering: ${tod_full}
+ ╭considering: ${tod_full}
  ├──expanding: ${tod_full}
- └─────result: Tue, 2 Mar 1999 09:44:33 +0000
- ┌considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╭considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
      }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
      }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
      }}(Exim $version_number)
@@ -143,7 +143,7 @@ end of inline ACL: ACCEPT
      for $received_for}}
  ├──condition: def:sender_rcvhost
  ├─────result: false
-  ┌───scanning: from $sender_rcvhost
+  ╭───scanning: from $sender_rcvhost
       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
       }}(Exim $version_number)
@@ -154,8 +154,8 @@ end of inline ACL: ACCEPT

    
├─────result: from
    
-  └───skipping: result is not used
-  ┌considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+  ╰───skipping: result is not used
+  ╭considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
       }}(Exim $version_number)
       ${if def:sender_address {(envelope-from <$sender_address>)
@@ -163,25 +163,25 @@ end of inline ACL: ACCEPT
       for $received_for}}
   ├──condition: def:sender_ident
   ├─────result: true
-   ┌considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+   ╭considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
        }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
        }}(Exim $version_number)
        ${if def:sender_address {(envelope-from <$sender_address>)
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
-   ╎┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+   ╎╭considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
    ╎    }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
    ╎    }}(Exim $version_number)
    ╎    ${if def:sender_address {(envelope-from <$sender_address>)
    ╎    }}id $message_exim_id${if def:received_for {
    ╎    for $received_for}}
    ╎├──expanding: $sender_ident
-   ╎└─────result: CALLER
+   ╎╰─────result: CALLER
    ├──expanding: from ${quote_local_part:$sender_ident} 
-   └─────result: from CALLER 
+   ╰─────result: from CALLER 
   ├──condition: def:sender_helo_name
   ├─────result: true
-   ┌considering: (helo=$sender_helo_name)
+   ╭considering: (helo=$sender_helo_name)
        }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
        }}(Exim $version_number)
        ${if def:sender_address {(envelope-from <$sender_address>)
@@ -189,24 +189,24 @@ end of inline ACL: ACCEPT
        for $received_for}}
    ├──expanding: (helo=$sender_helo_name)

    
- └─────result: (helo=myhost.test.ex)
+ ╰─────result: (helo=myhost.test.ex)
    
   ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
       }}
-  └─────result: from CALLER (helo=myhost.test.ex)
+  ╰─────result: from CALLER (helo=myhost.test.ex)

    
  ├──condition: def:received_protocol
  ├─────result: true
-  ┌considering: with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+  ╭considering: with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
       }}(Exim $version_number)
       ${if def:sender_address {(envelope-from <$sender_address>)
       }}id $message_exim_id${if def:received_for {
       for $received_for}}
   ├──expanding: with $received_protocol 
-  └─────result: with local-esmtp 
+  ╰─────result: with local-esmtp 
  ├──condition: def:tls_in_cipher_std
  ├─────result: false
-  ┌───scanning:  tls $tls_in_cipher_std
+  ╭───scanning:  tls $tls_in_cipher_std
       }}(Exim $version_number)
       ${if def:sender_address {(envelope-from <$sender_address>)
       }}id $message_exim_id${if def:received_for {
@@ -215,23 +215,23 @@ end of inline ACL: ACCEPT

    
├─────result: tls
    
-  └───skipping: result is not used
+  ╰───skipping: result is not used
  ├──condition: def:sender_address
  ├─────result: true
-  ┌considering: (envelope-from <$sender_address>)
+  ╭considering: (envelope-from <$sender_address>)
       }}id $message_exim_id${if def:received_for {
       for $received_for}}
   ├──expanding: (envelope-from <$sender_address>)

    
- └─────result: (envelope-from <CALLER@???>)
+ ╰─────result: (envelope-from <CALLER@???>)
    
  ├──condition: def:received_for
  ├─────result: true
-  ┌considering: 
+  ╭considering: 
       for $received_for}}
   ├──expanding: 
       for $received_for
-  └─────result: 
+  ╰─────result: 
       for userx@???
  ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
      }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
@@ -240,16 +240,16 @@ end of inline ACL: ACCEPT
      ${if def:sender_address {(envelope-from <$sender_address>)
      }}id $message_exim_id${if def:received_for {
      for $received_for}}
- └─────result: Received: from CALLER (helo=myhost.test.ex)
+ ╰─────result: Received: from CALLER (helo=myhost.test.ex)
      by myhost.test.ex with local-esmtp (Exim x.yz)
      (envelope-from <CALLER@???>)
      id 10HmaX-0005vi-00
      for userx@???
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
- ┌considering: ${tod_full}
+ ╭considering: ${tod_full}
  ├──expanding: ${tod_full}
- └─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
   SMTP>> .
   SMTP<< 250 OK id=10HmaY-0005vi-00
 LOG: MAIN
@@ -271,40 +271,40 @@ admin user
  in hosts_connection_nolog? no (option unset)
 LOG: smtp_connection MAIN
   SMTP connection from CALLER
- ┌considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
  ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- └─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
  in dsn_advertise_hosts? no (option unset)
  in pipelining_advertise_hosts? yes (matched "*")
  in chunking_advertise_hosts? no (end of list)
  in tls_advertise_hosts? yes (matched "*")
- ┌considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
-  ┌considering: SERVER}{server}{queue}{cutthrough}}
+ ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+  ╭considering: SERVER}{server}{queue}{cutthrough}}
   ├──expanding: SERVER
-  └─────result: SERVER
-  ┌considering: server}{queue}{cutthrough}}
+  ╰─────result: SERVER
+  ╭considering: server}{queue}{cutthrough}}
   ├──expanding: server
-  └─────result: server
+  ╰─────result: server
  ├──condition: eq {SERVER}{server}
  ├─────result: false
-  ┌───scanning: queue}{cutthrough}}
+  ╭───scanning: queue}{cutthrough}}
   ├──expanding: queue
   ├─────result: queue
-  └───skipping: result is not used
-  ┌considering: cutthrough}}
+  ╰───skipping: result is not used
+  ╭considering: cutthrough}}
   ├──expanding: cutthrough
-  └─────result: cutthrough
+  ╰─────result: cutthrough
  ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
- └─────result: cutthrough
+ ╰─────result: cutthrough
 using ACL "cutthrough"
 processing "accept" (TESTSUITE/test-config 22)
 check control = cutthrough_delivery
 check verify = recipient
 domain.com in "test.ex : *.test.ex"? no (end of list)
 domain.com in "! +local_domains"? yes (end of list)
- ┌considering: $local_part
+ ╭considering: $local_part
  ├──expanding: $local_part
- └─────result: usery
+ ╰─────result: usery
 domain.com in "*"? yes (matched "*")
 ----------- end verify ------------
 accept: condition test succeeded in ACL "cutthrough"
@@ -312,14 +312,14 @@ end of ACL "cutthrough": ACCEPT
 ----------- start cutthrough setup ------------
 domain.com in "test.ex : *.test.ex"? no (end of list)
 domain.com in "! +local_domains"? yes (end of list)
- ┌considering: $local_part
+ ╭considering: $local_part
  ├──expanding: $local_part
- └─────result: usery
+ ╰─────result: usery
 domain.com in "*"? yes (matched "*")
 Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ... connected
- ┌considering: $primary_hostname
+ ╭considering: $primary_hostname
  ├──expanding: $primary_hostname
- └─────result: myhost.test.ex
+ ╰─────result: myhost.test.ex
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 127.0.0.1 in hosts_avoid_esmtp? no (option unset)
   SMTP>> EHLO myhost.test.ex
@@ -330,24 +330,24 @@ cmd buf flush ddd bytes
          250-PIPELINING
          250-STARTTLS
          250 HELP
- ┌considering: ${if eq {$address_data}{usery}{*}{:}}
-  ┌considering: $address_data}{usery}{*}{:}}
+ ╭considering: ${if eq {$address_data}{usery}{*}{:}}
+  ╭considering: $address_data}{usery}{*}{:}}
   ├──expanding: $address_data
-  └─────result: usery
-  ┌considering: usery}{*}{:}}
+  ╰─────result: usery
+  ╭considering: usery}{*}{:}}
   ├──expanding: usery
-  └─────result: usery
+  ╰─────result: usery
  ├──condition: eq {$address_data}{usery}
  ├─────result: true
-  ┌considering: *}{:}}
+  ╭considering: *}{:}}
   ├──expanding: *
-  └─────result: *
-  ┌───scanning: :}}
+  ╰─────result: *
+  ╭───scanning: :}}
   ├──expanding: :
   ├─────result: :
-  └───skipping: result is not used
+  ╰───skipping: result is not used
  ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
- └─────result: *
+ ╰─────result: *
 127.0.0.1 in hosts_avoid_tls? yes (matched "*")
 127.0.0.1 in hosts_avoid_pipelining? no (option unset)
 using PIPELINING
@@ -367,10 +367,10 @@ accept: condition test succeeded in inline ACL
 end of inline ACL: ACCEPT
   SMTP>> DATA
   SMTP<< 354 Enter message, ending with "." on a line by itself
- ┌considering: ${tod_full}
+ ╭considering: ${tod_full}
  ├──expanding: ${tod_full}
- └─────result: Tue, 2 Mar 1999 09:44:33 +0000
- ┌considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╭considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
      }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
      }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
      }}(Exim $version_number)
@@ -379,7 +379,7 @@ end of inline ACL: ACCEPT
      for $received_for}}
  ├──condition: def:sender_rcvhost
  ├─────result: false
-  ┌───scanning: from $sender_rcvhost
+  ╭───scanning: from $sender_rcvhost
       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
       }}(Exim $version_number)
@@ -390,8 +390,8 @@ end of inline ACL: ACCEPT

    
├─────result: from
    
-  └───skipping: result is not used
-  ┌considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+  ╰───skipping: result is not used
+  ╭considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
       }}(Exim $version_number)
       ${if def:sender_address {(envelope-from <$sender_address>)
@@ -399,25 +399,25 @@ end of inline ACL: ACCEPT
       for $received_for}}
   ├──condition: def:sender_ident
   ├─────result: true
-   ┌considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+   ╭considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
        }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
        }}(Exim $version_number)
        ${if def:sender_address {(envelope-from <$sender_address>)
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
-   ╎┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+   ╎╭considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
    ╎    }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
    ╎    }}(Exim $version_number)
    ╎    ${if def:sender_address {(envelope-from <$sender_address>)
    ╎    }}id $message_exim_id${if def:received_for {
    ╎    for $received_for}}
    ╎├──expanding: $sender_ident
-   ╎└─────result: CALLER
+   ╎╰─────result: CALLER
    ├──expanding: from ${quote_local_part:$sender_ident} 
-   └─────result: from CALLER 
+   ╰─────result: from CALLER 
   ├──condition: def:sender_helo_name
   ├─────result: true
-   ┌considering: (helo=$sender_helo_name)
+   ╭considering: (helo=$sender_helo_name)
        }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
        }}(Exim $version_number)
        ${if def:sender_address {(envelope-from <$sender_address>)
@@ -425,24 +425,24 @@ end of inline ACL: ACCEPT
        for $received_for}}
    ├──expanding: (helo=$sender_helo_name)

    
- └─────result: (helo=myhost.test.ex)
+ ╰─────result: (helo=myhost.test.ex)
    
   ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
       }}
-  └─────result: from CALLER (helo=myhost.test.ex)
+  ╰─────result: from CALLER (helo=myhost.test.ex)

    
  ├──condition: def:received_protocol
  ├─────result: true
-  ┌considering: with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+  ╭considering: with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
       }}(Exim $version_number)
       ${if def:sender_address {(envelope-from <$sender_address>)
       }}id $message_exim_id${if def:received_for {
       for $received_for}}
   ├──expanding: with $received_protocol 
-  └─────result: with local-esmtp 
+  ╰─────result: with local-esmtp 
  ├──condition: def:tls_in_cipher_std
  ├─────result: false
-  ┌───scanning:  tls $tls_in_cipher_std
+  ╭───scanning:  tls $tls_in_cipher_std
       }}(Exim $version_number)
       ${if def:sender_address {(envelope-from <$sender_address>)
       }}id $message_exim_id${if def:received_for {
@@ -451,23 +451,23 @@ end of inline ACL: ACCEPT

    
├─────result: tls
    
-  └───skipping: result is not used
+  ╰───skipping: result is not used
  ├──condition: def:sender_address
  ├─────result: true
-  ┌considering: (envelope-from <$sender_address>)
+  ╭considering: (envelope-from <$sender_address>)
       }}id $message_exim_id${if def:received_for {
       for $received_for}}
   ├──expanding: (envelope-from <$sender_address>)

    
- └─────result: (envelope-from <CALLER@???>)
+ ╰─────result: (envelope-from <CALLER@???>)
    
  ├──condition: def:received_for
  ├─────result: true
-  ┌considering: 
+  ╭considering: 
       for $received_for}}
   ├──expanding: 
       for $received_for
-  └─────result: 
+  ╰─────result: 
       for usery@???
  ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
      }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
@@ -476,16 +476,16 @@ end of inline ACL: ACCEPT
      ${if def:sender_address {(envelope-from <$sender_address>)
      }}id $message_exim_id${if def:received_for {
      for $received_for}}
- └─────result: Received: from CALLER (helo=myhost.test.ex)
+ ╰─────result: Received: from CALLER (helo=myhost.test.ex)
      by myhost.test.ex with local-esmtp (Exim x.yz)
      (envelope-from <CALLER@???>)
      id 10HmaZ-0005vi-00
      for usery@???
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
- ┌considering: ${tod_full}
+ ╭considering: ${tod_full}
  ├──expanding: ${tod_full}
- └─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
   SMTP>> .
   SMTP<< 250 OK id=10HmbA-0005vi-00
 LOG: MAIN
@@ -507,40 +507,40 @@ admin user
  in hosts_connection_nolog? no (option unset)
 LOG: smtp_connection MAIN
   SMTP connection from CALLER
- ┌considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
  ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- └─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
  in dsn_advertise_hosts? no (option unset)
  in pipelining_advertise_hosts? yes (matched "*")
  in chunking_advertise_hosts? no (end of list)
  in tls_advertise_hosts? yes (matched "*")
- ┌considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
-  ┌considering: SERVER}{server}{queue}{cutthrough}}
+ ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+  ╭considering: SERVER}{server}{queue}{cutthrough}}
   ├──expanding: SERVER
-  └─────result: SERVER
-  ┌considering: server}{queue}{cutthrough}}
+  ╰─────result: SERVER
+  ╭considering: server}{queue}{cutthrough}}
   ├──expanding: server
-  └─────result: server
+  ╰─────result: server
  ├──condition: eq {SERVER}{server}
  ├─────result: false
-  ┌───scanning: queue}{cutthrough}}
+  ╭───scanning: queue}{cutthrough}}
   ├──expanding: queue
   ├─────result: queue
-  └───skipping: result is not used
-  ┌considering: cutthrough}}
+  ╰───skipping: result is not used
+  ╭considering: cutthrough}}
   ├──expanding: cutthrough
-  └─────result: cutthrough
+  ╰─────result: cutthrough
  ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
- └─────result: cutthrough
+ ╰─────result: cutthrough
 using ACL "cutthrough"
 processing "accept" (TESTSUITE/test-config 22)
 check control = cutthrough_delivery
 check verify = recipient
 domain.com in "test.ex : *.test.ex"? no (end of list)
 domain.com in "! +local_domains"? yes (end of list)
- ┌considering: $local_part
+ ╭considering: $local_part
  ├──expanding: $local_part
- └─────result: usery
+ ╰─────result: usery
 domain.com in "*"? yes (matched "*")
 ----------- end verify ------------
 accept: condition test succeeded in ACL "cutthrough"
@@ -548,14 +548,14 @@ end of ACL "cutthrough": ACCEPT
 ----------- start cutthrough setup ------------
 domain.com in "test.ex : *.test.ex"? no (end of list)
 domain.com in "! +local_domains"? yes (end of list)
- ┌considering: $local_part
+ ╭considering: $local_part
  ├──expanding: $local_part
- └─────result: usery
+ ╰─────result: usery
 domain.com in "*"? yes (matched "*")
 Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ... connected
- ┌considering: $primary_hostname
+ ╭considering: $primary_hostname
  ├──expanding: $primary_hostname
- └─────result: myhost.test.ex
+ ╰─────result: myhost.test.ex
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 127.0.0.1 in hosts_avoid_esmtp? no (option unset)
   SMTP>> EHLO myhost.test.ex
@@ -566,24 +566,24 @@ cmd buf flush ddd bytes
          250-PIPELINING
          250-STARTTLS
          250 HELP
- ┌considering: ${if eq {$address_data}{usery}{*}{:}}
-  ┌considering: $address_data}{usery}{*}{:}}
+ ╭considering: ${if eq {$address_data}{usery}{*}{:}}
+  ╭considering: $address_data}{usery}{*}{:}}
   ├──expanding: $address_data
-  └─────result: usery
-  ┌considering: usery}{*}{:}}
+  ╰─────result: usery
+  ╭considering: usery}{*}{:}}
   ├──expanding: usery
-  └─────result: usery
+  ╰─────result: usery
  ├──condition: eq {$address_data}{usery}
  ├─────result: true
-  ┌considering: *}{:}}
+  ╭considering: *}{:}}
   ├──expanding: *
-  └─────result: *
-  ┌───scanning: :}}
+  ╰─────result: *
+  ╭───scanning: :}}
   ├──expanding: :
   ├─────result: :
-  └───skipping: result is not used
+  ╰───skipping: result is not used
  ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
- └─────result: *
+ ╰─────result: *
 127.0.0.1 in hosts_avoid_tls? yes (matched "*")
 127.0.0.1 in hosts_avoid_pipelining? no (option unset)
 using PIPELINING
@@ -603,10 +603,10 @@ accept: condition test succeeded in inline ACL
 end of inline ACL: ACCEPT
   SMTP>> DATA
   SMTP<< 354 Enter message, ending with "." on a line by itself
- ┌considering: ${tod_full}
+ ╭considering: ${tod_full}
  ├──expanding: ${tod_full}
- └─────result: Tue, 2 Mar 1999 09:44:33 +0000
- ┌considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╭considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
      }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
      }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
      }}(Exim $version_number)
@@ -615,7 +615,7 @@ end of inline ACL: ACCEPT
      for $received_for}}
  ├──condition: def:sender_rcvhost
  ├─────result: false
-  ┌───scanning: from $sender_rcvhost
+  ╭───scanning: from $sender_rcvhost
       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
       }}(Exim $version_number)
@@ -626,8 +626,8 @@ end of inline ACL: ACCEPT

    
├─────result: from
    
-  └───skipping: result is not used
-  ┌considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+  ╰───skipping: result is not used
+  ╭considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
       }}(Exim $version_number)
       ${if def:sender_address {(envelope-from <$sender_address>)
@@ -635,25 +635,25 @@ end of inline ACL: ACCEPT
       for $received_for}}
   ├──condition: def:sender_ident
   ├─────result: true
-   ┌considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+   ╭considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
        }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
        }}(Exim $version_number)
        ${if def:sender_address {(envelope-from <$sender_address>)
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
-   ╎┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+   ╎╭considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
    ╎    }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
    ╎    }}(Exim $version_number)
    ╎    ${if def:sender_address {(envelope-from <$sender_address>)
    ╎    }}id $message_exim_id${if def:received_for {
    ╎    for $received_for}}
    ╎├──expanding: $sender_ident
-   ╎└─────result: CALLER
+   ╎╰─────result: CALLER
    ├──expanding: from ${quote_local_part:$sender_ident} 
-   └─────result: from CALLER 
+   ╰─────result: from CALLER 
   ├──condition: def:sender_helo_name
   ├─────result: true
-   ┌considering: (helo=$sender_helo_name)
+   ╭considering: (helo=$sender_helo_name)
        }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
        }}(Exim $version_number)
        ${if def:sender_address {(envelope-from <$sender_address>)
@@ -661,24 +661,24 @@ end of inline ACL: ACCEPT
        for $received_for}}
    ├──expanding: (helo=$sender_helo_name)

    
- └─────result: (helo=myhost.test.ex)
+ ╰─────result: (helo=myhost.test.ex)
    
   ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
       }}
-  └─────result: from CALLER (helo=myhost.test.ex)
+  ╰─────result: from CALLER (helo=myhost.test.ex)

    
  ├──condition: def:received_protocol
  ├─────result: true
-  ┌considering: with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+  ╭considering: with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
       }}(Exim $version_number)
       ${if def:sender_address {(envelope-from <$sender_address>)
       }}id $message_exim_id${if def:received_for {
       for $received_for}}
   ├──expanding: with $received_protocol 
-  └─────result: with local-esmtp 
+  ╰─────result: with local-esmtp 
  ├──condition: def:tls_in_cipher_std
  ├─────result: false
-  ┌───scanning:  tls $tls_in_cipher_std
+  ╭───scanning:  tls $tls_in_cipher_std
       }}(Exim $version_number)
       ${if def:sender_address {(envelope-from <$sender_address>)
       }}id $message_exim_id${if def:received_for {
@@ -687,23 +687,23 @@ end of inline ACL: ACCEPT

    
├─────result: tls
    
-  └───skipping: result is not used
+  ╰───skipping: result is not used
  ├──condition: def:sender_address
  ├─────result: true
-  ┌considering: (envelope-from <$sender_address>)
+  ╭considering: (envelope-from <$sender_address>)
       }}id $message_exim_id${if def:received_for {
       for $received_for}}
   ├──expanding: (envelope-from <$sender_address>)

    
- └─────result: (envelope-from <CALLER@???>)
+ ╰─────result: (envelope-from <CALLER@???>)
    
  ├──condition: def:received_for
  ├─────result: true
-  ┌considering: 
+  ╭considering: 
       for $received_for}}
   ├──expanding: 
       for $received_for
-  └─────result: 
+  ╰─────result: 
       for usery@???
  ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
      }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
@@ -712,16 +712,16 @@ end of inline ACL: ACCEPT
      ${if def:sender_address {(envelope-from <$sender_address>)
      }}id $message_exim_id${if def:received_for {
      for $received_for}}
- └─────result: Received: from CALLER (helo=myhost.test.ex)
+ ╰─────result: Received: from CALLER (helo=myhost.test.ex)
      by myhost.test.ex with local-esmtp (Exim x.yz)
      (envelope-from <CALLER@???>)
      id 10HmbB-0005vi-00
      for usery@???
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
- ┌considering: ${tod_full}
+ ╭considering: ${tod_full}
  ├──expanding: ${tod_full}
- └─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
   SMTP>> .
   SMTP<< 250 OK id=10HmbC-0005vi-00
 LOG: MAIN
diff --git a/test/stderr/5420 b/test/stderr/5420
index 5bc80bb..39e9632 100644
--- a/test/stderr/5420
+++ b/test/stderr/5420
@@ -4,40 +4,40 @@ admin user
  in hosts_connection_nolog? no (option unset)
 LOG: smtp_connection MAIN
   SMTP connection from CALLER
- ┌considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
  ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- └─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
  in dsn_advertise_hosts? no (option unset)
  in pipelining_advertise_hosts? yes (matched "*")
  in chunking_advertise_hosts? no (end of list)
  in tls_advertise_hosts? yes (matched "*")
- ┌considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
-  ┌considering: SERVER}{server}{queue}{cutthrough}}
+ ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+  ╭considering: SERVER}{server}{queue}{cutthrough}}
   ├──expanding: SERVER
-  └─────result: SERVER
-  ┌considering: server}{queue}{cutthrough}}
+  ╰─────result: SERVER
+  ╭considering: server}{queue}{cutthrough}}
   ├──expanding: server
-  └─────result: server
+  ╰─────result: server
  ├──condition: eq {SERVER}{server}
  ├─────result: false
-  ┌───scanning: queue}{cutthrough}}
+  ╭───scanning: queue}{cutthrough}}
   ├──expanding: queue
   ├─────result: queue
-  └───skipping: result is not used
-  ┌considering: cutthrough}}
+  ╰───skipping: result is not used
+  ╭considering: cutthrough}}
   ├──expanding: cutthrough
-  └─────result: cutthrough
+  ╰─────result: cutthrough
  ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
- └─────result: cutthrough
+ ╰─────result: cutthrough
 using ACL "cutthrough"
 processing "accept" (TESTSUITE/test-config 22)
 check control = cutthrough_delivery
 check verify = recipient
 domain.com in "test.ex : *.test.ex"? no (end of list)
 domain.com in "! +local_domains"? yes (end of list)
- ┌considering: $local_part
+ ╭considering: $local_part
  ├──expanding: $local_part
- └─────result: userx
+ ╰─────result: userx
 domain.com in "*"? yes (matched "*")
 ----------- end verify ------------
 accept: condition test succeeded in ACL "cutthrough"
@@ -45,14 +45,14 @@ end of ACL "cutthrough": ACCEPT
 ----------- start cutthrough setup ------------
 domain.com in "test.ex : *.test.ex"? no (end of list)
 domain.com in "! +local_domains"? yes (end of list)
- ┌considering: $local_part
+ ╭considering: $local_part
  ├──expanding: $local_part
- └─────result: userx
+ ╰─────result: userx
 domain.com in "*"? yes (matched "*")
 Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ... connected
- ┌considering: $primary_hostname
+ ╭considering: $primary_hostname
  ├──expanding: $primary_hostname
- └─────result: myhost.test.ex
+ ╰─────result: myhost.test.ex
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 127.0.0.1 in hosts_avoid_esmtp? no (option unset)
   SMTP>> EHLO myhost.test.ex
@@ -63,43 +63,43 @@ cmd buf flush ddd bytes
          250-PIPELINING
          250-STARTTLS
          250 HELP
- ┌considering: ${if eq {$address_data}{usery}{*}{:}}
-  ┌considering: $address_data}{usery}{*}{:}}
+ ╭considering: ${if eq {$address_data}{usery}{*}{:}}
+  ╭considering: $address_data}{usery}{*}{:}}
   ├──expanding: $address_data
-  └─────result: userx
-  ┌considering: usery}{*}{:}}
+  ╰─────result: userx
+  ╭considering: usery}{*}{:}}
   ├──expanding: usery
-  └─────result: usery
+  ╰─────result: usery
  ├──condition: eq {$address_data}{usery}
  ├─────result: false
-  ┌───scanning: *}{:}}
+  ╭───scanning: *}{:}}
   ├──expanding: *
   ├─────result: *
-  └───skipping: result is not used
-  ┌considering: :}}
+  ╰───skipping: result is not used
+  ╭considering: :}}
   ├──expanding: :
-  └─────result: :
+  ╰─────result: :
  ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
- └─────result: :
+ ╰─────result: :
 127.0.0.1 in hosts_avoid_tls? no (end of list)
- ┌considering: ${if eq {$address_data}{userz}{*}{:}}
-  ┌considering: $address_data}{userz}{*}{:}}
+ ╭considering: ${if eq {$address_data}{userz}{*}{:}}
+  ╭considering: $address_data}{userz}{*}{:}}
   ├──expanding: $address_data
-  └─────result: userx
-  ┌considering: userz}{*}{:}}
+  ╰─────result: userx
+  ╭considering: userz}{*}{:}}
   ├──expanding: userz
-  └─────result: userz
+  ╰─────result: userz
  ├──condition: eq {$address_data}{userz}
  ├─────result: false
-  ┌───scanning: *}{:}}
+  ╭───scanning: *}{:}}
   ├──expanding: *
   ├─────result: *
-  └───skipping: result is not used
-  ┌considering: :}}
+  ╰───skipping: result is not used
+  ╭considering: :}}
   ├──expanding: :
-  └─────result: :
+  ╰─────result: :
  ├──expanding: ${if eq {$address_data}{userz}{*}{:}}
- └─────result: :
+ ╰─────result: :
 127.0.0.1 in hosts_verify_avoid_tls? no (end of list)
   SMTP>> STARTTLS
 cmd buf flush ddd bytes
@@ -132,10 +132,10 @@ accept: condition test succeeded in inline ACL
 end of inline ACL: ACCEPT
   SMTP>> DATA
   SMTP<< 354 Enter message, ending with "." on a line by itself
- ┌considering: ${tod_full}
+ ╭considering: ${tod_full}
  ├──expanding: ${tod_full}
- └─────result: Tue, 2 Mar 1999 09:44:33 +0000
- ┌considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╭considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
      }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
      }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
      }}(Exim $version_number)
@@ -144,7 +144,7 @@ end of inline ACL: ACCEPT
      for $received_for}}
  ├──condition: def:sender_rcvhost
  ├─────result: false
-  ┌───scanning: from $sender_rcvhost
+  ╭───scanning: from $sender_rcvhost
       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
       }}(Exim $version_number)
@@ -155,8 +155,8 @@ end of inline ACL: ACCEPT

    
├─────result: from
    
-  └───skipping: result is not used
-  ┌considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+  ╰───skipping: result is not used
+  ╭considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
       }}(Exim $version_number)
       ${if def:sender_address {(envelope-from <$sender_address>)
@@ -164,25 +164,25 @@ end of inline ACL: ACCEPT
       for $received_for}}
   ├──condition: def:sender_ident
   ├─────result: true
-   ┌considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+   ╭considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
        }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
        }}(Exim $version_number)
        ${if def:sender_address {(envelope-from <$sender_address>)
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
-   ╎┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+   ╎╭considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
    ╎    }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
    ╎    }}(Exim $version_number)
    ╎    ${if def:sender_address {(envelope-from <$sender_address>)
    ╎    }}id $message_exim_id${if def:received_for {
    ╎    for $received_for}}
    ╎├──expanding: $sender_ident
-   ╎└─────result: CALLER
+   ╎╰─────result: CALLER
    ├──expanding: from ${quote_local_part:$sender_ident} 
-   └─────result: from CALLER 
+   ╰─────result: from CALLER 
   ├──condition: def:sender_helo_name
   ├─────result: true
-   ┌considering: (helo=$sender_helo_name)
+   ╭considering: (helo=$sender_helo_name)
        }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
        }}(Exim $version_number)
        ${if def:sender_address {(envelope-from <$sender_address>)
@@ -190,24 +190,24 @@ end of inline ACL: ACCEPT
        for $received_for}}
    ├──expanding: (helo=$sender_helo_name)

    
- └─────result: (helo=myhost.test.ex)
+ ╰─────result: (helo=myhost.test.ex)
    
   ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
       }}
-  └─────result: from CALLER (helo=myhost.test.ex)
+  ╰─────result: from CALLER (helo=myhost.test.ex)

    
  ├──condition: def:received_protocol
  ├─────result: true
-  ┌considering: with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+  ╭considering: with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
       }}(Exim $version_number)
       ${if def:sender_address {(envelope-from <$sender_address>)
       }}id $message_exim_id${if def:received_for {
       for $received_for}}
   ├──expanding: with $received_protocol 
-  └─────result: with local-esmtp 
+  ╰─────result: with local-esmtp 
  ├──condition: def:tls_in_cipher_std
  ├─────result: false
-  ┌───scanning:  tls $tls_in_cipher_std
+  ╭───scanning:  tls $tls_in_cipher_std
       }}(Exim $version_number)
       ${if def:sender_address {(envelope-from <$sender_address>)
       }}id $message_exim_id${if def:received_for {
@@ -216,23 +216,23 @@ end of inline ACL: ACCEPT

    
├─────result: tls
    
-  └───skipping: result is not used
+  ╰───skipping: result is not used
  ├──condition: def:sender_address
  ├─────result: true
-  ┌considering: (envelope-from <$sender_address>)
+  ╭considering: (envelope-from <$sender_address>)
       }}id $message_exim_id${if def:received_for {
       for $received_for}}
   ├──expanding: (envelope-from <$sender_address>)

    
- └─────result: (envelope-from <CALLER@???>)
+ ╰─────result: (envelope-from <CALLER@???>)
    
  ├──condition: def:received_for
  ├─────result: true
-  ┌considering: 
+  ╭considering: 
       for $received_for}}
   ├──expanding: 
       for $received_for
-  └─────result: 
+  ╰─────result: 
       for userx@???
  ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
      }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
@@ -241,16 +241,16 @@ end of inline ACL: ACCEPT
      ${if def:sender_address {(envelope-from <$sender_address>)
      }}id $message_exim_id${if def:received_for {
      for $received_for}}
- └─────result: Received: from CALLER (helo=myhost.test.ex)
+ ╰─────result: Received: from CALLER (helo=myhost.test.ex)
      by myhost.test.ex with local-esmtp (Exim x.yz)
      (envelope-from <CALLER@???>)
      id 10HmaX-0005vi-00
      for userx@???
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
- ┌considering: ${tod_full}
+ ╭considering: ${tod_full}
  ├──expanding: ${tod_full}
- └─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
   SMTP>> .
   SMTP<< 250 OK id=10HmaY-0005vi-00
 LOG: MAIN
@@ -272,40 +272,40 @@ admin user
  in hosts_connection_nolog? no (option unset)
 LOG: smtp_connection MAIN
   SMTP connection from CALLER
- ┌considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
  ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- └─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
  in dsn_advertise_hosts? no (option unset)
  in pipelining_advertise_hosts? yes (matched "*")
  in chunking_advertise_hosts? no (end of list)
  in tls_advertise_hosts? yes (matched "*")
- ┌considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
-  ┌considering: SERVER}{server}{queue}{cutthrough}}
+ ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+  ╭considering: SERVER}{server}{queue}{cutthrough}}
   ├──expanding: SERVER
-  └─────result: SERVER
-  ┌considering: server}{queue}{cutthrough}}
+  ╰─────result: SERVER
+  ╭considering: server}{queue}{cutthrough}}
   ├──expanding: server
-  └─────result: server
+  ╰─────result: server
  ├──condition: eq {SERVER}{server}
  ├─────result: false
-  ┌───scanning: queue}{cutthrough}}
+  ╭───scanning: queue}{cutthrough}}
   ├──expanding: queue
   ├─────result: queue
-  └───skipping: result is not used
-  ┌considering: cutthrough}}
+  ╰───skipping: result is not used
+  ╭considering: cutthrough}}
   ├──expanding: cutthrough
-  └─────result: cutthrough
+  ╰─────result: cutthrough
  ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
- └─────result: cutthrough
+ ╰─────result: cutthrough
 using ACL "cutthrough"
 processing "accept" (TESTSUITE/test-config 22)
 check control = cutthrough_delivery
 check verify = recipient
 domain.com in "test.ex : *.test.ex"? no (end of list)
 domain.com in "! +local_domains"? yes (end of list)
- ┌considering: $local_part
+ ╭considering: $local_part
  ├──expanding: $local_part
- └─────result: usery
+ ╰─────result: usery
 domain.com in "*"? yes (matched "*")
 ----------- end verify ------------
 accept: condition test succeeded in ACL "cutthrough"
@@ -313,14 +313,14 @@ end of ACL "cutthrough": ACCEPT
 ----------- start cutthrough setup ------------
 domain.com in "test.ex : *.test.ex"? no (end of list)
 domain.com in "! +local_domains"? yes (end of list)
- ┌considering: $local_part
+ ╭considering: $local_part
  ├──expanding: $local_part
- └─────result: usery
+ ╰─────result: usery
 domain.com in "*"? yes (matched "*")
 Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ... connected
- ┌considering: $primary_hostname
+ ╭considering: $primary_hostname
  ├──expanding: $primary_hostname
- └─────result: myhost.test.ex
+ ╰─────result: myhost.test.ex
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 127.0.0.1 in hosts_avoid_esmtp? no (option unset)
   SMTP>> EHLO myhost.test.ex
@@ -331,24 +331,24 @@ cmd buf flush ddd bytes
          250-PIPELINING
          250-STARTTLS
          250 HELP
- ┌considering: ${if eq {$address_data}{usery}{*}{:}}
-  ┌considering: $address_data}{usery}{*}{:}}
+ ╭considering: ${if eq {$address_data}{usery}{*}{:}}
+  ╭considering: $address_data}{usery}{*}{:}}
   ├──expanding: $address_data
-  └─────result: usery
-  ┌considering: usery}{*}{:}}
+  ╰─────result: usery
+  ╭considering: usery}{*}{:}}
   ├──expanding: usery
-  └─────result: usery
+  ╰─────result: usery
  ├──condition: eq {$address_data}{usery}
  ├─────result: true
-  ┌considering: *}{:}}
+  ╭considering: *}{:}}
   ├──expanding: *
-  └─────result: *
-  ┌───scanning: :}}
+  ╰─────result: *
+  ╭───scanning: :}}
   ├──expanding: :
   ├─────result: :
-  └───skipping: result is not used
+  ╰───skipping: result is not used
  ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
- └─────result: *
+ ╰─────result: *
 127.0.0.1 in hosts_avoid_tls? yes (matched "*")
 127.0.0.1 in hosts_avoid_pipelining? no (option unset)
 using PIPELINING
@@ -368,10 +368,10 @@ accept: condition test succeeded in inline ACL
 end of inline ACL: ACCEPT
   SMTP>> DATA
   SMTP<< 354 Enter message, ending with "." on a line by itself
- ┌considering: ${tod_full}
+ ╭considering: ${tod_full}
  ├──expanding: ${tod_full}
- └─────result: Tue, 2 Mar 1999 09:44:33 +0000
- ┌considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╭considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
      }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
      }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
      }}(Exim $version_number)
@@ -380,7 +380,7 @@ end of inline ACL: ACCEPT
      for $received_for}}
  ├──condition: def:sender_rcvhost
  ├─────result: false
-  ┌───scanning: from $sender_rcvhost
+  ╭───scanning: from $sender_rcvhost
       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
       }}(Exim $version_number)
@@ -391,8 +391,8 @@ end of inline ACL: ACCEPT

    
├─────result: from
    
-  └───skipping: result is not used
-  ┌considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+  ╰───skipping: result is not used
+  ╭considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
       }}(Exim $version_number)
       ${if def:sender_address {(envelope-from <$sender_address>)
@@ -400,25 +400,25 @@ end of inline ACL: ACCEPT
       for $received_for}}
   ├──condition: def:sender_ident
   ├─────result: true
-   ┌considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+   ╭considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
        }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
        }}(Exim $version_number)
        ${if def:sender_address {(envelope-from <$sender_address>)
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
-   ╎┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+   ╎╭considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
    ╎    }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
    ╎    }}(Exim $version_number)
    ╎    ${if def:sender_address {(envelope-from <$sender_address>)
    ╎    }}id $message_exim_id${if def:received_for {
    ╎    for $received_for}}
    ╎├──expanding: $sender_ident
-   ╎└─────result: CALLER
+   ╎╰─────result: CALLER
    ├──expanding: from ${quote_local_part:$sender_ident} 
-   └─────result: from CALLER 
+   ╰─────result: from CALLER 
   ├──condition: def:sender_helo_name
   ├─────result: true
-   ┌considering: (helo=$sender_helo_name)
+   ╭considering: (helo=$sender_helo_name)
        }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
        }}(Exim $version_number)
        ${if def:sender_address {(envelope-from <$sender_address>)
@@ -426,24 +426,24 @@ end of inline ACL: ACCEPT
        for $received_for}}
    ├──expanding: (helo=$sender_helo_name)

    
- └─────result: (helo=myhost.test.ex)
+ ╰─────result: (helo=myhost.test.ex)
    
   ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
       }}
-  └─────result: from CALLER (helo=myhost.test.ex)
+  ╰─────result: from CALLER (helo=myhost.test.ex)

    
  ├──condition: def:received_protocol
  ├─────result: true
-  ┌considering: with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+  ╭considering: with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
       }}(Exim $version_number)
       ${if def:sender_address {(envelope-from <$sender_address>)
       }}id $message_exim_id${if def:received_for {
       for $received_for}}
   ├──expanding: with $received_protocol 
-  └─────result: with local-esmtp 
+  ╰─────result: with local-esmtp 
  ├──condition: def:tls_in_cipher_std
  ├─────result: false
-  ┌───scanning:  tls $tls_in_cipher_std
+  ╭───scanning:  tls $tls_in_cipher_std
       }}(Exim $version_number)
       ${if def:sender_address {(envelope-from <$sender_address>)
       }}id $message_exim_id${if def:received_for {
@@ -452,23 +452,23 @@ end of inline ACL: ACCEPT

    
├─────result: tls
    
-  └───skipping: result is not used
+  ╰───skipping: result is not used
  ├──condition: def:sender_address
  ├─────result: true
-  ┌considering: (envelope-from <$sender_address>)
+  ╭considering: (envelope-from <$sender_address>)
       }}id $message_exim_id${if def:received_for {
       for $received_for}}
   ├──expanding: (envelope-from <$sender_address>)

    
- └─────result: (envelope-from <CALLER@???>)
+ ╰─────result: (envelope-from <CALLER@???>)
    
  ├──condition: def:received_for
  ├─────result: true
-  ┌considering: 
+  ╭considering: 
       for $received_for}}
   ├──expanding: 
       for $received_for
-  └─────result: 
+  ╰─────result: 
       for usery@???
  ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
      }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
@@ -477,16 +477,16 @@ end of inline ACL: ACCEPT
      ${if def:sender_address {(envelope-from <$sender_address>)
      }}id $message_exim_id${if def:received_for {
      for $received_for}}
- └─────result: Received: from CALLER (helo=myhost.test.ex)
+ ╰─────result: Received: from CALLER (helo=myhost.test.ex)
      by myhost.test.ex with local-esmtp (Exim x.yz)
      (envelope-from <CALLER@???>)
      id 10HmaZ-0005vi-00
      for usery@???
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
- ┌considering: ${tod_full}
+ ╭considering: ${tod_full}
  ├──expanding: ${tod_full}
- └─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
   SMTP>> .
   SMTP<< 250 OK id=10HmbA-0005vi-00
 LOG: MAIN
@@ -508,40 +508,40 @@ admin user
  in hosts_connection_nolog? no (option unset)
 LOG: smtp_connection MAIN
   SMTP connection from CALLER
- ┌considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
  ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- └─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
  in dsn_advertise_hosts? no (option unset)
  in pipelining_advertise_hosts? yes (matched "*")
  in chunking_advertise_hosts? no (end of list)
  in tls_advertise_hosts? yes (matched "*")
- ┌considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
-  ┌considering: SERVER}{server}{queue}{cutthrough}}
+ ╭considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+  ╭considering: SERVER}{server}{queue}{cutthrough}}
   ├──expanding: SERVER
-  └─────result: SERVER
-  ┌considering: server}{queue}{cutthrough}}
+  ╰─────result: SERVER
+  ╭considering: server}{queue}{cutthrough}}
   ├──expanding: server
-  └─────result: server
+  ╰─────result: server
  ├──condition: eq {SERVER}{server}
  ├─────result: false
-  ┌───scanning: queue}{cutthrough}}
+  ╭───scanning: queue}{cutthrough}}
   ├──expanding: queue
   ├─────result: queue
-  └───skipping: result is not used
-  ┌considering: cutthrough}}
+  ╰───skipping: result is not used
+  ╭considering: cutthrough}}
   ├──expanding: cutthrough
-  └─────result: cutthrough
+  ╰─────result: cutthrough
  ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
- └─────result: cutthrough
+ ╰─────result: cutthrough
 using ACL "cutthrough"
 processing "accept" (TESTSUITE/test-config 22)
 check control = cutthrough_delivery
 check verify = recipient
 domain.com in "test.ex : *.test.ex"? no (end of list)
 domain.com in "! +local_domains"? yes (end of list)
- ┌considering: $local_part
+ ╭considering: $local_part
  ├──expanding: $local_part
- └─────result: usery
+ ╰─────result: usery
 domain.com in "*"? yes (matched "*")
 ----------- end verify ------------
 accept: condition test succeeded in ACL "cutthrough"
@@ -549,14 +549,14 @@ end of ACL "cutthrough": ACCEPT
 ----------- start cutthrough setup ------------
 domain.com in "test.ex : *.test.ex"? no (end of list)
 domain.com in "! +local_domains"? yes (end of list)
- ┌considering: $local_part
+ ╭considering: $local_part
  ├──expanding: $local_part
- └─────result: usery
+ ╰─────result: usery
 domain.com in "*"? yes (matched "*")
 Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ... connected
- ┌considering: $primary_hostname
+ ╭considering: $primary_hostname
  ├──expanding: $primary_hostname
- └─────result: myhost.test.ex
+ ╰─────result: myhost.test.ex
   SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 127.0.0.1 in hosts_avoid_esmtp? no (option unset)
   SMTP>> EHLO myhost.test.ex
@@ -567,24 +567,24 @@ cmd buf flush ddd bytes
          250-PIPELINING
          250-STARTTLS
          250 HELP
- ┌considering: ${if eq {$address_data}{usery}{*}{:}}
-  ┌considering: $address_data}{usery}{*}{:}}
+ ╭considering: ${if eq {$address_data}{usery}{*}{:}}
+  ╭considering: $address_data}{usery}{*}{:}}
   ├──expanding: $address_data
-  └─────result: usery
-  ┌considering: usery}{*}{:}}
+  ╰─────result: usery
+  ╭considering: usery}{*}{:}}
   ├──expanding: usery
-  └─────result: usery
+  ╰─────result: usery
  ├──condition: eq {$address_data}{usery}
  ├─────result: true
-  ┌considering: *}{:}}
+  ╭considering: *}{:}}
   ├──expanding: *
-  └─────result: *
-  ┌───scanning: :}}
+  ╰─────result: *
+  ╭───scanning: :}}
   ├──expanding: :
   ├─────result: :
-  └───skipping: result is not used
+  ╰───skipping: result is not used
  ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
- └─────result: *
+ ╰─────result: *
 127.0.0.1 in hosts_avoid_tls? yes (matched "*")
 127.0.0.1 in hosts_avoid_pipelining? no (option unset)
 using PIPELINING
@@ -604,10 +604,10 @@ accept: condition test succeeded in inline ACL
 end of inline ACL: ACCEPT
   SMTP>> DATA
   SMTP<< 354 Enter message, ending with "." on a line by itself
- ┌considering: ${tod_full}
+ ╭considering: ${tod_full}
  ├──expanding: ${tod_full}
- └─────result: Tue, 2 Mar 1999 09:44:33 +0000
- ┌considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╭considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
      }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
      }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
      }}(Exim $version_number)
@@ -616,7 +616,7 @@ end of inline ACL: ACCEPT
      for $received_for}}
  ├──condition: def:sender_rcvhost
  ├─────result: false
-  ┌───scanning: from $sender_rcvhost
+  ╭───scanning: from $sender_rcvhost
       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
       }}(Exim $version_number)
@@ -627,8 +627,8 @@ end of inline ACL: ACCEPT

    
├─────result: from
    
-  └───skipping: result is not used
-  ┌considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+  ╰───skipping: result is not used
+  ╭considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
       }}(Exim $version_number)
       ${if def:sender_address {(envelope-from <$sender_address>)
@@ -636,25 +636,25 @@ end of inline ACL: ACCEPT
       for $received_for}}
   ├──condition: def:sender_ident
   ├─────result: true
-   ┌considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+   ╭considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
        }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
        }}(Exim $version_number)
        ${if def:sender_address {(envelope-from <$sender_address>)
        }}id $message_exim_id${if def:received_for {
        for $received_for}}
-   ╎┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+   ╎╭considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
    ╎    }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
    ╎    }}(Exim $version_number)
    ╎    ${if def:sender_address {(envelope-from <$sender_address>)
    ╎    }}id $message_exim_id${if def:received_for {
    ╎    for $received_for}}
    ╎├──expanding: $sender_ident
-   ╎└─────result: CALLER
+   ╎╰─────result: CALLER
    ├──expanding: from ${quote_local_part:$sender_ident} 
-   └─────result: from CALLER 
+   ╰─────result: from CALLER 
   ├──condition: def:sender_helo_name
   ├─────result: true
-   ┌considering: (helo=$sender_helo_name)
+   ╭considering: (helo=$sender_helo_name)
        }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
        }}(Exim $version_number)
        ${if def:sender_address {(envelope-from <$sender_address>)
@@ -662,24 +662,24 @@ end of inline ACL: ACCEPT
        for $received_for}}
    ├──expanding: (helo=$sender_helo_name)

    
- └─────result: (helo=myhost.test.ex)
+ ╰─────result: (helo=myhost.test.ex)
    
   ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
       }}
-  └─────result: from CALLER (helo=myhost.test.ex)
+  ╰─────result: from CALLER (helo=myhost.test.ex)

    
  ├──condition: def:received_protocol
  ├─────result: true
-  ┌considering: with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
+  ╭considering: with $received_protocol }}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
       }}(Exim $version_number)
       ${if def:sender_address {(envelope-from <$sender_address>)
       }}id $message_exim_id${if def:received_for {
       for $received_for}}
   ├──expanding: with $received_protocol 
-  └─────result: with local-esmtp 
+  ╰─────result: with local-esmtp 
  ├──condition: def:tls_in_cipher_std
  ├─────result: false
-  ┌───scanning:  tls $tls_in_cipher_std
+  ╭───scanning:  tls $tls_in_cipher_std
       }}(Exim $version_number)
       ${if def:sender_address {(envelope-from <$sender_address>)
       }}id $message_exim_id${if def:received_for {
@@ -688,23 +688,23 @@ end of inline ACL: ACCEPT

    
├─────result: tls
    
-  └───skipping: result is not used
+  ╰───skipping: result is not used
  ├──condition: def:sender_address
  ├─────result: true
-  ┌considering: (envelope-from <$sender_address>)
+  ╭considering: (envelope-from <$sender_address>)
       }}id $message_exim_id${if def:received_for {
       for $received_for}}
   ├──expanding: (envelope-from <$sender_address>)

    
- └─────result: (envelope-from <CALLER@???>)
+ ╰─────result: (envelope-from <CALLER@???>)
    
  ├──condition: def:received_for
  ├─────result: true
-  ┌considering: 
+  ╭considering: 
       for $received_for}}
   ├──expanding: 
       for $received_for
-  └─────result: 
+  ╰─────result: 
       for usery@???
  ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
      }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
@@ -713,16 +713,16 @@ end of inline ACL: ACCEPT
      ${if def:sender_address {(envelope-from <$sender_address>)
      }}id $message_exim_id${if def:received_for {
      for $received_for}}
- └─────result: Received: from CALLER (helo=myhost.test.ex)
+ ╰─────result: Received: from CALLER (helo=myhost.test.ex)
      by myhost.test.ex with local-esmtp (Exim x.yz)
      (envelope-from <CALLER@???>)
      id 10HmbB-0005vi-00
      for usery@???
 ----------- start cutthrough headers send -----------
 ----------- done cutthrough headers send ------------
- ┌considering: ${tod_full}
+ ╭considering: ${tod_full}
  ├──expanding: ${tod_full}
- └─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
   SMTP>> .
   SMTP<< 250 OK id=10HmbC-0005vi-00
 LOG: MAIN
diff --git a/test/stdout/0574 b/test/stdout/0574
index 21794bf..98663e2 100644
--- a/test/stdout/0574
+++ b/test/stdout/0574
@@ -33,9 +33,9 @@ Connecting to 127.0.0.1 port 1225 ... connected
 End of script
 accept: condition test succeeded in ACL "chk_data"
 end of ACL "chk_data": ACCEPT
- ┌considering: ${tod_full}
+ ╭considering: ${tod_full}
  ├──expanding: ${tod_full}
- └─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
 Writing spool header file: TESTSUITE/spool//input//hdr.10HmaX-0005vi-00
 DSN: Write SPOOL :-dsn_envid NULL
 DSN: Write SPOOL :-dsn_ret 0