<<< Date Index >>>     <<< Thread Index >>>

Re: Clarification on tag-prefix-cond vs. tag-prefix



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Thursday, February 12 at 08:15 PM, quoth John J. Foster:
>Am I nuts, or are these functionally equivalent?

You're nuts. :)

But they *are* very similar. Tag-prefix, of course, means that the 
next command will apply to all of the tagged messages. But what if 
there AREN'T any tagged messages? Well then, the next command will 
apply to whatever message happens to be highlighted! This is usually 
the right thing to do when working interactively with the user, but 
when used as part of scripts, lots of times there may not be any 
tagged messages and in that case, the subsequent action should not 
occur. THAT is what tag-prefix-cond does: if there aren't any tagged 
messages, the command buffer is flushed without doing anything (in 
other words, whatever hook you're in stops dead in its tracks).

Take for example the folder-hook that I posted earlier today. The idea 
is that I want mutt to automatically move any messages that are older 
than 3 months into the archive folder. To refresh your memory, here's 
what it looks like:

     folder-hook =Sent 'push "<tag-pattern>~r 
>3m<enter><tag-prefix-cond><save-message>=Archive.Sent<enter><untag-pattern>~A<enter>"'

So what happens if there aren't any messages that are older than three 
months? If I had used <tag-prefix> instead of <tag-prefix-cond>, what 
would happen is that whatever message happened to be highlighted when 
I entered that folder would get moved to the archive folder. In my 
case, I have mutt highlight the first new or unread message when it 
opens new folders, so if I used <tag-prefix>, that new message would 
get moved to the archive folder. However, because I use 
<tag-prefix-cond>, when there aren't any tagged messages (i.e. the 
pattern "~r >3m" didn't match anything), mutt will stop processing 
that hook and none of the rest of it will happen.

Does that make sense?

~Kyle
- -- 
I'm as pure as the driven slush.
                                                   -- Tallulah Bankhead
-----BEGIN PGP SIGNATURE-----
Comment: Thank you for using encryption!

iEYEARECAAYFAkmU6P0ACgkQBkIOoMqOI14LpgCggHeM04zyhj5Nf28lItyG9xU5
ELEAoJMDmPmv4IxNzGlRExla4t3uZ1fN
=qqzw
-----END PGP SIGNATURE-----