Docs: typos
[users/heiko/exim.git] / test / stderr / 0471
index c0916e8cedd36a6c3aac7a2b1948d31237cbcb3c..ba94bd78b3861f6a2d91d731b79f23d423e010f8 100644 (file)
@@ -98,50 +98,58 @@ To: random@test.example,
  
 **** debug string too long - truncated ****
 
  
 **** debug string too long - truncated ****
 
+address match test: subject=r1@test.ex pattern=^.{40,}@*
+r1@test.ex in "^.{40,}@*"? no (end of list)
 address match test: subject=r1@test.ex pattern=*@*
 test.ex in "*"? yes (matched "*")
 r1@test.ex in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=r1@test.ex pattern=*@*
 test.ex in "*"? yes (matched "*")
 r1@test.ex in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.ex" partial=2 affix=*. starflags=0
+   key="test.ex" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.ex"
+   type=lsearch key="test.ex" opts=NULL
  file lookup required for test.ex
    in TESTSUITE/aux-fixed/0471.rw
  file lookup required for test.ex
    in TESTSUITE/aux-fixed/0471.rw
+ creating new cache entry
  lookup failed
  trying partial match *.test.ex
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  lookup failed
  trying partial match *.test.ex
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="*.test.ex"
+   type=lsearch key="*.test.ex" opts=NULL
  file lookup required for *.test.ex
    in TESTSUITE/aux-fixed/0471.rw
  file lookup required for *.test.ex
    in TESTSUITE/aux-fixed/0471.rw
+ creating new cache entry
  lookup failed
  lookup failed
+address match test: subject=CALLER@myhost.test.ex pattern=^.{40,}@*
+CALLER@myhost.test.ex in "^.{40,}@*"? no (end of list)
 address match test: subject=CALLER@myhost.test.ex pattern=*@*
 myhost.test.ex in "*"? yes (matched "*")
 CALLER@myhost.test.ex in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=CALLER@myhost.test.ex pattern=*@*
 myhost.test.ex in "*"? yes (matched "*")
 CALLER@myhost.test.ex in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="myhost.test.ex" partial=2 affix=*. starflags=0
+   key="myhost.test.ex" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="myhost.test.ex"
+   type=lsearch key="myhost.test.ex" opts=NULL
  file lookup required for myhost.test.ex
    in TESTSUITE/aux-fixed/0471.rw
  file lookup required for myhost.test.ex
    in TESTSUITE/aux-fixed/0471.rw
+ creating new cache entry
  lookup failed
  trying partial match *.myhost.test.ex
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  lookup failed
  trying partial match *.myhost.test.ex
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="*.myhost.test.ex"
+   type=lsearch key="*.myhost.test.ex" opts=NULL
  file lookup required for *.myhost.test.ex
    in TESTSUITE/aux-fixed/0471.rw
  file lookup required for *.myhost.test.ex
    in TESTSUITE/aux-fixed/0471.rw
+ creating new cache entry
  lookup failed
  trying partial match *.test.ex
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  lookup failed
  trying partial match *.test.ex
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="*.test.ex"
+   type=lsearch key="*.test.ex" opts=NULL
  cached data used for lookup of *.test.ex
    in TESTSUITE/aux-fixed/0471.rw
  lookup failed
  cached data used for lookup of *.test.ex
    in TESTSUITE/aux-fixed/0471.rw
  lookup failed
@@ -227,23 +235,26 @@ rewrite_one_header: type=T:
     random@test.example,
     random@test.examp
 **** debug string too long - truncated ****
     random@test.example,
     random@test.examp
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  file lookup required for test.example
    in TESTSUITE/aux-fixed/0471.rw
  file lookup required for test.example
    in TESTSUITE/aux-fixed/0471.rw
+ creating new cache entry
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4051 newtype=T newtext:
 To: random@rwtest.example,
     random@test.example,
 newlen=4051 newtype=T newtext:
 To: random@rwtest.example,
     random@test.example,
@@ -406,23 +417,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4053 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4053 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -585,23 +598,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4055 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4055 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -764,23 +779,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4057 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4057 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -943,23 +960,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4059 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4059 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -1122,23 +1141,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4061 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4061 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -1301,23 +1322,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4063 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4063 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -1480,23 +1503,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4065 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4065 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -1659,23 +1684,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4067 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4067 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -1838,23 +1865,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4069 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4069 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -2016,23 +2045,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4071 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4071 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -2194,23 +2225,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4073 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4073 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -2372,23 +2405,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4075 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4075 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -2550,23 +2585,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4077 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4077 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -2728,23 +2765,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4079 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4079 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -2906,23 +2945,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4081 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4081 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -3084,23 +3125,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4083 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4083 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -3262,23 +3305,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4085 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4085 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -3440,23 +3485,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4087 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4087 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -3618,23 +3665,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4089 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4089 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -3796,23 +3845,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4091 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4091 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -3974,23 +4025,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4093 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4093 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -4152,23 +4205,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4095 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4095 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -4329,23 +4384,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4097 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4097 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -4506,23 +4563,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4099 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4099 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -4683,23 +4742,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4101 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4101 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -4860,23 +4921,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4103 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4103 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -5037,23 +5100,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4105 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4105 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -5214,23 +5279,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4107 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4107 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -5391,23 +5458,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4109 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4109 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -5568,23 +5637,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4111 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4111 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -5745,23 +5816,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4113 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4113 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -5922,23 +5995,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4115 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4115 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -6099,23 +6174,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4117 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4117 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -6276,23 +6353,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4119 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4119 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -6452,23 +6531,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4121 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4121 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -6628,23 +6709,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4123 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4123 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -6804,23 +6887,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4125 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4125 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -6980,23 +7065,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4127 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4127 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -7156,23 +7243,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4129 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4129 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -7332,23 +7421,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4131 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4131 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -7508,23 +7599,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4133 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4133 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -7684,23 +7777,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4135 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4135 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -7860,23 +7955,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4137 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4137 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -8036,23 +8133,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4139 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4139 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -8212,23 +8311,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4141 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4141 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -8388,23 +8489,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4143 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4143 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -8564,23 +8667,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4145 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4145 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -8739,23 +8844,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4147 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4147 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -8914,23 +9021,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4149 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4149 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -9089,23 +9198,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4151 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4151 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -9264,23 +9375,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4153 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4153 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -9439,23 +9552,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4155 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4155 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -9614,23 +9729,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4157 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4157 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -9789,23 +9906,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4159 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4159 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -9964,23 +10083,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4161 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4161 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -10139,23 +10260,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4163 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4163 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -10314,23 +10437,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4165 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4165 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -10489,23 +10614,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4167 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4167 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -10664,23 +10791,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4169 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4169 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -10838,23 +10967,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4171 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4171 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -11012,23 +11143,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4173 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4173 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -11186,23 +11319,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4175 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4175 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -11360,23 +11495,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4177 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4177 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -11534,23 +11671,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4179 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4179 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -11708,23 +11847,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4181 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4181 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -11882,23 +12023,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4183 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4183 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -12056,23 +12199,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4185 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4185 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -12230,23 +12375,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4187 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4187 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -12404,23 +12551,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4189 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4189 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -12578,23 +12727,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4191 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4191 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -12752,23 +12903,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4193 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4193 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -12926,23 +13079,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4195 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4195 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -13099,23 +13254,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4197 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4197 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -13272,23 +13429,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4199 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4199 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -13445,23 +13604,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4201 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4201 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -13618,23 +13779,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4203 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4203 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -13791,23 +13954,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4205 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4205 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -13964,23 +14129,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4207 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4207 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -14137,23 +14304,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4209 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4209 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -14310,23 +14479,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
     random@test.example,
     random@test.exa
 **** debug string too long - truncated ****
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4211 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4211 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -14483,23 +14654,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4213 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4213 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -14655,23 +14828,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4215 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4215 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -14826,23 +15001,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4217 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4217 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -14996,23 +15173,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4219 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4219 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -15165,23 +15344,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4221 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4221 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -15333,23 +15514,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4223 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4223 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -15500,23 +15683,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4225 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4225 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -15666,23 +15851,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4227 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4227 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -15831,23 +16018,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4229 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4229 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -15995,23 +16184,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4231 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4231 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -16158,23 +16349,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4233 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4233 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -16320,23 +16513,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4235 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4235 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -16481,23 +16676,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4237 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4237 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -16641,23 +16838,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4239 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4239 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -16800,23 +16999,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4241 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4241 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -16958,23 +17159,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4243 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4243 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -17115,23 +17318,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4245 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4245 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -17271,23 +17476,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4247 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4247 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -17426,23 +17633,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4249 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4249 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -17580,23 +17789,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4251 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4251 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -17733,23 +17944,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4253 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4253 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -17885,23 +18098,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4255 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4255 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -18036,23 +18251,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4257 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4257 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -18186,23 +18403,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4259 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4259 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -18335,23 +18554,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4261 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4261 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -18483,23 +18704,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4263 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4263 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -18630,23 +18853,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4265 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4265 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -18776,23 +19001,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4267 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4267 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -18921,23 +19148,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4269 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4269 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -19065,23 +19294,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4271 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4271 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -19208,23 +19439,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4273 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4273 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -19350,23 +19583,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4275 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4275 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -19491,23 +19726,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4277 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4277 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -19631,23 +19868,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4279 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4279 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -19770,23 +20009,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4281 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4281 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -19908,23 +20149,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4283 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4283 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -20045,23 +20288,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4285 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4285 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -20181,23 +20426,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4287 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4287 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -20316,23 +20563,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4289 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4289 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -20450,23 +20699,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4291 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4291 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -20583,23 +20834,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4293 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4293 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -20715,23 +20968,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4295 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4295 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -20846,23 +21101,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4297 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4297 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -20976,23 +21233,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4299 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4299 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -21105,23 +21364,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4301 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4301 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -21233,23 +21494,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4303 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4303 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -21360,23 +21623,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4305 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4305 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -21486,23 +21751,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4307 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4307 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -21611,23 +21878,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4309 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4309 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -21735,23 +22004,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4311 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4311 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -21858,23 +22129,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4313 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4313 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -21980,23 +22253,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4315 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4315 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -22101,23 +22376,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4317 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4317 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -22221,23 +22498,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4319 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4319 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -22340,23 +22619,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4321 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4321 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -22458,23 +22739,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4323 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4323 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -22575,23 +22858,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4325 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4325 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -22691,23 +22976,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4327 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4327 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -22806,23 +23093,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4329 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4329 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -22920,23 +23209,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4331 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4331 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -23033,23 +23324,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4333 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4333 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -23145,23 +23438,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4335 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4335 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -23256,23 +23551,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4337 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4337 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -23366,23 +23663,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4339 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4339 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -23475,23 +23774,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4341 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4341 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -23583,23 +23884,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4343 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4343 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -23690,23 +23993,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4345 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4345 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -23796,23 +24101,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4347 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4347 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -23901,23 +24208,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4349 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4349 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -24005,23 +24314,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4351 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4351 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -24108,23 +24419,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4353 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4353 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -24210,23 +24523,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4355 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4355 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -24311,23 +24626,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4357 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4357 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -24411,23 +24728,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4359 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4359 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -24510,23 +24829,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4361 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4361 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -24608,23 +24929,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4363 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4363 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -24705,23 +25028,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4365 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4365 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -24801,23 +25126,25 @@ remainder: random@test.example,
     random@test.example,
     random@test.example,
     random@test.example
     random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4367 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4367 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -24896,23 +25223,25 @@ To: random@rwtest.example,
 remainder: random@test.example,
     random@test.example,
     random@test.example
 remainder: random@test.example,
     random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4369 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4369 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -24990,23 +25319,25 @@ To: random@rwtest.example,
 **** debug string too long - truncated ****
 remainder: random@test.example,
     random@test.example
 **** debug string too long - truncated ****
 remainder: random@test.example,
     random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4371 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4371 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -25083,23 +25414,25 @@ To: random@rwtest.example,
     random@rwtest.example,
 **** debug string too long - truncated ****
 remainder: random@test.example
     random@rwtest.example,
 **** debug string too long - truncated ****
 remainder: random@test.example
+address match test: subject=random@test.example pattern=^.{40,}@*
+random@test.example in "^.{40,}@*"? no (end of list)
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=random@test.example pattern=*@*
 test.example in "*"? yes (matched "*")
 random@test.example in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="test.example" partial=2 affix=*. starflags=0
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="test.example"
+   type=lsearch key="test.example" opts=NULL
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
  cached data used for lookup of test.example
    in TESTSUITE/aux-fixed/0471.rw
  lookup yielded: rwtest.example
 LOG: address_rewrite MAIN
-  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 1
+  "random@test.example" from to: rewritten as "random@rwtest.example" by rule 2
 newlen=4373 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
 newlen=4373 newtype=T newtext:
 To: random@rwtest.example,
     random@rwtest.example,
@@ -25178,30 +25511,32 @@ To: random@rwtest.example,
 remainder: 
 rewrite_one_header: type=F:
   From: CALLER_NAME <CALLER@myhost.test.ex>
 remainder: 
 rewrite_one_header: type=F:
   From: CALLER_NAME <CALLER@myhost.test.ex>
+address match test: subject=CALLER@myhost.test.ex pattern=^.{40,}@*
+CALLER@myhost.test.ex in "^.{40,}@*"? no (end of list)
 address match test: subject=CALLER@myhost.test.ex pattern=*@*
 myhost.test.ex in "*"? yes (matched "*")
 CALLER@myhost.test.ex in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
 address match test: subject=CALLER@myhost.test.ex pattern=*@*
 myhost.test.ex in "*"? yes (matched "*")
 CALLER@myhost.test.ex in "*@*"? yes (matched "*@*")
  search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
    cached open
  search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   key="myhost.test.ex" partial=2 affix=*. starflags=0
+   key="myhost.test.ex" partial=2 affix=*. starflags=0 opts=NULL
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  LRU list:
    0TESTSUITE/aux-fixed/0471.rw
    End
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="myhost.test.ex"
+   type=lsearch key="myhost.test.ex" opts=NULL
  cached data used for lookup of myhost.test.ex
    in TESTSUITE/aux-fixed/0471.rw
  lookup failed
  trying partial match *.myhost.test.ex
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  cached data used for lookup of myhost.test.ex
    in TESTSUITE/aux-fixed/0471.rw
  lookup failed
  trying partial match *.myhost.test.ex
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="*.myhost.test.ex"
+   type=lsearch key="*.myhost.test.ex" opts=NULL
  cached data used for lookup of *.myhost.test.ex
    in TESTSUITE/aux-fixed/0471.rw
  lookup failed
  trying partial match *.test.ex
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
  cached data used for lookup of *.myhost.test.ex
    in TESTSUITE/aux-fixed/0471.rw
  lookup failed
  trying partial match *.test.ex
  internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
-   type=lsearch key="*.test.ex"
+   type=lsearch key="*.test.ex" opts=NULL
  cached data used for lookup of *.test.ex
    in TESTSUITE/aux-fixed/0471.rw
  lookup failed
  cached data used for lookup of *.test.ex
    in TESTSUITE/aux-fixed/0471.rw
  lookup failed
@@ -25376,9 +25711,6 @@ P Received: from CALLER by myhost.test.ex with local (Exim x.yz)
        id 10HmaX-0005vi-00
        for r1@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
 Writing spool header file: TESTSUITE/spool//input//hdr.10HmaX-0005vi-00
        id 10HmaX-0005vi-00
        for r1@test.ex; 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
-DSN: Flags: 0x0
 DSN: **** SPOOL_OUT - address: <r1@test.ex> errorsto: <NULL> orcpt: <NULL> dsn_flags: 0x0
 Renaming spool header file: TESTSUITE/spool//input//10HmaX-0005vi-00-H
 Size of headers = sss
 DSN: **** SPOOL_OUT - address: <r1@test.ex> errorsto: <NULL> orcpt: <NULL> dsn_flags: 0x0
 Renaming spool header file: TESTSUITE/spool//input//10HmaX-0005vi-00-H
 Size of headers = sss
@@ -25387,3 +25719,315 @@ LOG: MAIN
 created log directory TESTSUITE/spool/log
 search_tidyup called
 >>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 created log directory TESTSUITE/spool/log
 search_tidyup called
 >>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+changed uid/gid: forcing real = effective
+  uid=uuuu gid=CALLER_GID pid=pppp
+configuration file is TESTSUITE/test-config
+admin user
+changed uid/gid: privilege not needed
+  uid=EXIM_UID gid=EXIM_GID pid=pppp
+originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
+sender address = CALLER@myhost.test.ex
+set_process_info: pppp accepting a local non-SMTP message from <CALLER@myhost.test.ex>
+spool directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100 msg_size = 0
+log directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100
+Sender: CALLER@myhost.test.ex
+Recipients:
+  r2@test.ex
+search_tidyup called
+>>Headers received:
+To: localpart_with_056_chars_56789012345678901234567890123456@test.example
+
+address match test: subject=r2@test.ex pattern=^.{40,}@*
+r2@test.ex in "^.{40,}@*"? no (end of list)
+address match test: subject=r2@test.ex pattern=*@*
+test.ex in "*"? yes (matched "*")
+r2@test.ex in "*@*"? yes (matched "*@*")
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.ex" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.ex" opts=NULL
+ file lookup required for test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ creating new cache entry
+ lookup failed
+ trying partial match *.test.ex
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="*.test.ex" opts=NULL
+ file lookup required for *.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ creating new cache entry
+ lookup failed
+address match test: subject=CALLER@myhost.test.ex pattern=^.{40,}@*
+CALLER@myhost.test.ex in "^.{40,}@*"? no (end of list)
+address match test: subject=CALLER@myhost.test.ex pattern=*@*
+myhost.test.ex in "*"? yes (matched "*")
+CALLER@myhost.test.ex in "*@*"? yes (matched "*@*")
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="myhost.test.ex" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="myhost.test.ex" opts=NULL
+ file lookup required for myhost.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ creating new cache entry
+ lookup failed
+ trying partial match *.myhost.test.ex
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="*.myhost.test.ex" opts=NULL
+ file lookup required for *.myhost.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ creating new cache entry
+ lookup failed
+ trying partial match *.test.ex
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="*.test.ex" opts=NULL
+ cached data used for lookup of *.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+rewritten sender = CALLER@myhost.test.ex
+rewrite_one_header: type=T:
+  To: localpart_with_056_chars_56789012345678901234567890123456@test.example
+address match test: subject=localpart_with_056_chars_56789012345678901234567890123456@test.example pattern=^.{40,}@*
+localpart_with_056_chars_56789012345678901234567890123456@test.example in "^.{40,}@*"? yes (matched "^.{40,}@*")
+LOG: address_rewrite MAIN
+  "localpart_with_056_chars_56789012345678901234567890123456@test.example" from to: rewritten as "deny_me@test.example" by rule 1
+address match test: subject=deny_me@test.example pattern=*@*
+test.example in "*"? yes (matched "*")
+deny_me@test.example in "*@*"? yes (matched "*@*")
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ file lookup required for test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ creating new cache entry
+ lookup yielded: rwtest.example
+LOG: address_rewrite MAIN
+  "deny_me@test.example" from to: rewritten as "deny_me@rwtest.example" by rule 2
+newlen=27 newtype=T newtext:
+To: deny_me@rwtest.example
+remainder: 
+rewrite_one_header: type=F:
+  From: CALLER_NAME <CALLER@myhost.test.ex>
+address match test: subject=CALLER@myhost.test.ex pattern=^.{40,}@*
+CALLER@myhost.test.ex in "^.{40,}@*"? no (end of list)
+address match test: subject=CALLER@myhost.test.ex pattern=*@*
+myhost.test.ex in "*"? yes (matched "*")
+CALLER@myhost.test.ex in "*@*"? yes (matched "*@*")
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="myhost.test.ex" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="myhost.test.ex" opts=NULL
+ cached data used for lookup of myhost.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+ trying partial match *.myhost.test.ex
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="*.myhost.test.ex" opts=NULL
+ cached data used for lookup of *.myhost.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+ trying partial match *.test.ex
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="*.test.ex" opts=NULL
+ cached data used for lookup of *.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+search_tidyup called
+>>Headers after rewriting and local additions:
+* To: localpart_with_056_chars_56789012345678901234567890123456@test.example
+T To: deny_me@rwtest.example
+I Message-Id: <E10HmaY-0005vi-00@myhost.test.ex>
+F From: CALLER_NAME <CALLER@myhost.test.ex>
+  Date: Tue, 2 Mar 1999 09:44:33 +0000
+
+Data file name: TESTSUITE/spool//input//10HmaY-0005vi-00-D
+Data file written for message 10HmaY-0005vi-00
+>>Generated Received: header line
+P Received: from CALLER by myhost.test.ex with local (Exim x.yz)
+       (envelope-from <CALLER@myhost.test.ex>)
+       id 10HmaY-0005vi-00
+       for r2@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
+Writing spool header file: TESTSUITE/spool//input//hdr.10HmaY-0005vi-00
+DSN: **** SPOOL_OUT - address: <r2@test.ex> errorsto: <NULL> orcpt: <NULL> dsn_flags: 0x0
+Renaming spool header file: TESTSUITE/spool//input//10HmaY-0005vi-00-H
+Size of headers = sss
+LOG: MAIN
+  <= CALLER@myhost.test.ex U=CALLER P=local S=sss
+search_tidyup called
+>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+changed uid/gid: forcing real = effective
+  uid=uuuu gid=CALLER_GID pid=pppp
+configuration file is TESTSUITE/test-config
+admin user
+changed uid/gid: privilege not needed
+  uid=EXIM_UID gid=EXIM_GID pid=pppp
+originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
+sender address = CALLER@myhost.test.ex
+set_process_info: pppp accepting a local non-SMTP message from <CALLER@myhost.test.ex>
+spool directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100 msg_size = 0
+log directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100
+Sender: CALLER@myhost.test.ex
+Recipients:
+  r3@test.ex
+search_tidyup called
+>>Headers received:
+To: localpart_with_256_chars_5678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456@test.example
+
+address match test: subject=r3@test.ex pattern=^.{40,}@*
+r3@test.ex in "^.{40,}@*"? no (end of list)
+address match test: subject=r3@test.ex pattern=*@*
+test.ex in "*"? yes (matched "*")
+r3@test.ex in "*@*"? yes (matched "*@*")
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.ex" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.ex" opts=NULL
+ file lookup required for test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ creating new cache entry
+ lookup failed
+ trying partial match *.test.ex
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="*.test.ex" opts=NULL
+ file lookup required for *.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ creating new cache entry
+ lookup failed
+address match test: subject=CALLER@myhost.test.ex pattern=^.{40,}@*
+CALLER@myhost.test.ex in "^.{40,}@*"? no (end of list)
+address match test: subject=CALLER@myhost.test.ex pattern=*@*
+myhost.test.ex in "*"? yes (matched "*")
+CALLER@myhost.test.ex in "*@*"? yes (matched "*@*")
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="myhost.test.ex" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="myhost.test.ex" opts=NULL
+ file lookup required for myhost.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ creating new cache entry
+ lookup failed
+ trying partial match *.myhost.test.ex
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="*.myhost.test.ex" opts=NULL
+ file lookup required for *.myhost.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ creating new cache entry
+ lookup failed
+ trying partial match *.test.ex
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="*.test.ex" opts=NULL
+ cached data used for lookup of *.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+rewritten sender = CALLER@myhost.test.ex
+rewrite_one_header: type=T:
+  To: localpart_with_256_chars_5678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456@test.example
+address match test: subject=localpart_with_256_chars_5678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456@test.example pattern=^.{40,}@*
+localpart_with_256_chars_5678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456@test.example in "^.{40,}@*"? yes (matched "^.{40,}@*")
+LOG: address_rewrite MAIN
+  "localpart_with_256_chars_5678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456@test.example" from to: rewritten as "deny_me@test.example" by rule 1
+address match test: subject=deny_me@test.example pattern=*@*
+test.example in "*"? yes (matched "*")
+deny_me@test.example in "*@*"? yes (matched "*@*")
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="test.example" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="test.example" opts=NULL
+ file lookup required for test.example
+   in TESTSUITE/aux-fixed/0471.rw
+ creating new cache entry
+ lookup yielded: rwtest.example
+LOG: address_rewrite MAIN
+  "deny_me@test.example" from to: rewritten as "deny_me@rwtest.example" by rule 2
+newlen=27 newtype=T newtext:
+To: deny_me@rwtest.example
+remainder: 
+rewrite_one_header: type=F:
+  From: CALLER_NAME <CALLER@myhost.test.ex>
+address match test: subject=CALLER@myhost.test.ex pattern=^.{40,}@*
+CALLER@myhost.test.ex in "^.{40,}@*"? no (end of list)
+address match test: subject=CALLER@myhost.test.ex pattern=*@*
+myhost.test.ex in "*"? yes (matched "*")
+CALLER@myhost.test.ex in "*@*"? yes (matched "*@*")
+ search_open: lsearch "TESTSUITE/aux-fixed/0471.rw"
+   cached open
+ search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   key="myhost.test.ex" partial=2 affix=*. starflags=0 opts=NULL
+ LRU list:
+   0TESTSUITE/aux-fixed/0471.rw
+   End
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="myhost.test.ex" opts=NULL
+ cached data used for lookup of myhost.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+ trying partial match *.myhost.test.ex
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="*.myhost.test.ex" opts=NULL
+ cached data used for lookup of *.myhost.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+ trying partial match *.test.ex
+ internal_search_find: file="TESTSUITE/aux-fixed/0471.rw"
+   type=lsearch key="*.test.ex" opts=NULL
+ cached data used for lookup of *.test.ex
+   in TESTSUITE/aux-fixed/0471.rw
+ lookup failed
+search_tidyup called
+>>Headers after rewriting and local additions:
+* To: localpart_with_256_chars_5678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456@test.example
+T To: deny_me@rwtest.example
+I Message-Id: <E10HmaZ-0005vi-00@myhost.test.ex>
+F From: CALLER_NAME <CALLER@myhost.test.ex>
+  Date: Tue, 2 Mar 1999 09:44:33 +0000
+
+Data file name: TESTSUITE/spool//input//10HmaZ-0005vi-00-D
+Data file written for message 10HmaZ-0005vi-00
+>>Generated Received: header line
+P Received: from CALLER by myhost.test.ex with local (Exim x.yz)
+       (envelope-from <CALLER@myhost.test.ex>)
+       id 10HmaZ-0005vi-00
+       for r3@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
+Writing spool header file: TESTSUITE/spool//input//hdr.10HmaZ-0005vi-00
+DSN: **** SPOOL_OUT - address: <r3@test.ex> errorsto: <NULL> orcpt: <NULL> dsn_flags: 0x0
+Renaming spool header file: TESTSUITE/spool//input//10HmaZ-0005vi-00-H
+Size of headers = sss
+LOG: MAIN
+  <= CALLER@myhost.test.ex U=CALLER P=local S=sss
+search_tidyup called
+>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>