On 2022-02-22 19:01:34 -0800, Kevin J. McCarthy wrote:
> - #389 requests ~C to scan Bcc headers too (presumably for searching
> the "sent" folder). It might also be worth adding to other patterns
> such as ~L.
FYI, in 2008, I wrote a patch to search for an address in
h->env->from, h->env->sender, h->env->to, h->env->cc, h->env->bcc,
h->env->return_path, h->env->reply_to, h->env->mail_followup_to.
I'm using ~a for that (as "all addresses").
I've attached the current version.
--
Vincent Lefèvre <[email protected]> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
diff --git a/PATCHES b/PATCHES
index e69de29b..98189c1e 100644
--- a/PATCHES
+++ b/PATCHES
@@ -0,0 +1 @@
+patch-20201129.vl.address_all_patt.1
diff --git a/doc/manual.xml.head b/doc/manual.xml.head
index 53c94ed9..77637bc6 100644
--- a/doc/manual.xml.head
+++ b/doc/manual.xml.head
@@ -5769,6 +5769,8 @@ shows several ways to select messages.
<row><entry>Pattern modifier</entry><entry>Description</entry></row>
</thead>
<tbody>
+<row><entry>~a <emphasis>EXPR</emphasis></entry><entry>messages which contain
EXPR in some envelope address field</entry></row>
+<row><entry>%a <emphasis>GROUP</emphasis></entry><entry>messages which contain
a member of GROUP in some envelope address field</entry></row>
<row><entry>~A</entry><entry>all messages</entry></row>
<row><entry>~b <emphasis>EXPR</emphasis></entry><entry>messages which contain
<emphasis>EXPR</emphasis> in the message body ***)</entry></row>
<row><entry>=b <emphasis>STRING</emphasis></entry><entry>If IMAP is enabled,
like ~b but searches for <emphasis>STRING</emphasis> on the server, rather than
downloading each message and searching it locally.</entry></row>
diff --git a/mutt.h b/mutt.h
index 7b719cec..b6356e4b 100644
--- a/mutt.h
+++ b/mutt.h
@@ -269,6 +269,7 @@ enum
MUTT_PERSONAL_RECIP,
MUTT_PERSONAL_FROM,
MUTT_ADDRESS,
+ MUTT_ADDRESS_ALL,
MUTT_CRYPT_SIGN,
MUTT_CRYPT_VERIFIED,
MUTT_CRYPT_ENCRYPT,
diff --git a/pattern.c b/pattern.c
index 6957a7e8..771029bb 100644
--- a/pattern.c
+++ b/pattern.c
@@ -64,6 +64,11 @@ static const struct pattern_flags
}
Flags[] =
{
+ { 'a', MUTT_ADDRESS_ALL, 0, EAT_REGEXP,
+ /* L10N:
+ Pattern Completion Menu description for ~a
+ */
+ N_("messages with an address from headers matching EXPR") },
{ 'A', MUTT_ALL, 0, 0,
/* L10N:
Pattern Completion Menu description for ~A
@@ -1676,6 +1681,12 @@ mutt_pattern_exec (struct pattern_t *pat,
pattern_exec_flag flags, CONTEXT *ctx,
return (pat->not ^ match_adrlist (pat, flags & MUTT_MATCH_FULL_ADDRESS,
4,
h->env->from, h->env->sender,
h->env->to, h->env->cc));
+ case MUTT_ADDRESS_ALL:
+ return (pat->not ^ match_adrlist (pat, flags & MUTT_MATCH_FULL_ADDRESS,
8,
+ h->env->from, h->env->sender,
+ h->env->to, h->env->cc, h->env->bcc,
+ h->env->return_path, h->env->reply_to,
+ h->env->mail_followup_to));
case MUTT_RECIPIENT:
return (pat->not ^ match_adrlist (pat, flags & MUTT_MATCH_FULL_ADDRESS,
2, h->env->to, h->env->cc));