Ian Zimmerman wrote:
> The part of the documentation about the "ignore" command talks about
> "patterns".  As far as I can see it never precisely says what kind of
> patterns these are - regexps, shell globs, fixed substrings, or what.

It's a case-independent prefix match against the header.  "*" is
recognized special-case to mean everything.

The function used is mutt_matches_ignore() inside muttlib.c.  You can
see the invocation at mutt_copy_hdr() inside copy.c:

 if (!((flags & CH_FROM) && (flags & CH_FORCE_FROM) && this_is_from) &&
     (flags & CH_WEED) &&
     mutt_matches_ignore (buf, Ignore) &&
     !mutt_matches_ignore (buf, UnIgnore))
  continue;

> The reason I ask is I had "x-" as one of the patterns, precisely as the
> documentation suggests (in an offhand example).  But Mario's posts from
> today have an X-URL header and it was not weeded.  It is when I add
> "x-url" to the ignore.  What gives?

Maybe it also matched something in an unignore?  My quick testing shows
"x-" is working for me.  Try emptying out your ignore list: "unignore *"
and then do an "ignore x-".

-Kevin

Attachment: signature.asc
Description: PGP signature

Reply via email to