Alice, Bob, and Carol want to find all email that was sent from any one
of them to BOTH of the others, but that was not sent to ANY fourth
person.

I can make mutt match all messages that include Alice, Bob, and Carol:
        ~L alice ~L bob ~L carol
My mailbox has a message from Carol to Alice, excluding Bob, which this
pattern does not match.  Fine.

But I need still to exclude messages which are cc:ed to any fourth
party.  The Mutt manual says:
  4.2.1.  Pattern Modifier

  Note that patterns matching 'lists' of addresses (notably c,C,p,P and
  t) match if there is at least one match in the whole list. If you want
  to make sure that all elements of that list match, you need to prefix
  your pattern with ^.  This example matches all mails which only has
  recipients from Germany.

If I read that correctly, then this pattern:
        ^ ~L alice | ~L bob | ~L carol
should exclude messages to Dave.  It doesn't -- it matches everything.

A look at the source code suggests that this is a misread, though, and
that "^" goes before any pattern component.  Well, this pattern:
        ^~L alice | ^~L bob | ^~L carol
doesn't match anything at all.

I expect by combining these two, I get what I want:
        ~L alice ~L bob ~L carol (^~L alice | ^~L bob | ^~L carol)
But that doesn't work.

I briefly tried using parens in a regexp way -- e.g.,
        ~L (alice|bob|carol)
but that doesn't seem to work at all.  And when I try escaping the
parens just to see what happens, I get "Unmatched ( or \(".


I'm not sure whether I have a bug, an intractable problem, or a clue
deficiency.  Any tips?  What's the right way to approach this?  Mailing
lists/aliases are not really a solution for this particular problem.


Thanks.  Here's my mutt -v.  I attached a mailbox that contains 8
messages: 6 that I want matched, 1 that is from Carol to Alice, Bob,
and Dave, and 1 that does not include Bob.  (The last two should not be
matched.)  Ignore the "patches applied" part. :)


Mutt 1.3i (2000-05-09)
Copyright (C) 1996-2000 Michael R. Elkins and others.
Mutt comes with ABSOLUTELY NO WARRANTY; for details type `mutt -vv'.
Mutt is free software, and you are welcome to redistribute it
under certain conditions; type `mutt -vv' for details.

System: SunOS 5.8 [using slang 10309]
Compile options:
-DOMAIN
+DEBUG
-HOMESPOOL  -USE_SETGID  +USE_DOTLOCK  +USE_FCNTL  -USE_FLOCK
+USE_IMAP  +USE_GSS  +USE_SSL  +USE_POP  -HAVE_REGCOMP  +USE_GNU_REGEX  
+HAVE_COLOR  +HAVE_PGP  -BUFFY_SIZE -EXACT_ADDRESS  +ENABLE_NLS
SENDMAIL="/usr/lib/sendmail"
MAILPATH="/var/mail"
SHAREDIR="/opt/pkgs/mutt-1.3/lib/mutt"
SYSCONFDIR="/opt/pkgs/mutt-1.3/etc"
ISPELL="/opt/bin/ispell"

Patches applied:
Patch Name: mutt-1.1.12.dgc.krb5.2
+      URI: http://home.uchicago.edu/~dgc/mutt
+     Desc: Fix Kerberos 5 checking for pre-1.1 MIT in configure.in
Patch Name: mutt-1.1.12.skimo.exmhthread.1
+     Desc: Modify threading for exmh's (and others'?) oddball In-Reply-To:
Patch Name: mutt-1.3.dgc.xlabel.3
+      URI: http://home.uchicago.edu/~dgc/mutt
+     Desc: Add in-line status-bar editor for X-Label: header
Patch Name: patch-1.1.14.waf.compose_status.1
+     Desc: Add summary format for Compose menu

To contact the developers, please mail to <[EMAIL PROTECTED]>.
To report a bug, please use the muttbug utility.

Reply via email to