I had been trying to create send-hooks and save-hooks, but noticed that, contrary to all the documentation I could find, Mutt was insisting on evaluating my regular expressions as case-sensitive.
I was not using any capitalized letters it the regexs. I know that if one or more letters is/are capitalized, the expression will be evaluated case-sensitive. Nevertheless, '~f tony' matched for messages from "tony" but not from "Tony" Internet searches have revealed that regexs will get messed up if the charset that Mutt is using doesn't match the rest of the system. However, they appear to match. In the shell: $ locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_ALL= ...and in Mutt: :set &charset ?charset charset="utf-8" Mutt seems to match the rest of the system, but it still doesn't do case-insensitive regex. However, if I invoke mutt with: $ LC_ALL=C mutt Then the regex problem is solved, but other problems are introduced since Mutt is now running with us-ascii as the $charset. So far as I can tell, regex in Mutt are broken in UTF-8, unless I am missing something (which I think I am). Does anyone know how I can run mutt in UTF-8 and without these case problems in regular expressions? Thanks in advance for any help.