Encontrei um bug no mutt, mas gostaria de criar uma solução alternativa até que possa ser corrigido.
~
(a função mark-message
) deve atribuir um atalho (isto é, uma macro) para marcar uma mensagem para que você possa ir para ela mais tarde. Por exemplo, se você marcar uma mensagem com o atalho d
, o mutt definirá automaticamente a macro a seguir:
macro index "'d" "<search>~i '[Message-ID Header]'" "message hotkey"
para que você possa acessar 'd
para voltar para a mensagem que você marcou.
O problema é que o cabeçalho Message-ID é interpretado como uma expressão regular e, às vezes, os cabeçalhos de mensagens que recebo contêm caracteres regex especiais, como +
. (Veja o exemplo abaixo).
<CAMMr2knNGWssaFdp-+e4u9pWfBQ4DCHNkH9FUrPoXqEXAN+sNg@mail.gmail.com>
Se o fizerem, o mutt não conseguirá encontrar a mensagem e, assim, a macro não funcionará e simplesmente exibirá o erro Not found.
.
A solução seria a fuga de barra invertida desses caracteres especiais, mas não acredito que exista uma maneira de fazer isso nativamente no mutt. O que eu gostaria de fazer é basicamente criar meu próprio substituto para a função mark-message
. Estou pensando em precisar enviar a mensagem especificada para um script, grep
e cut
para extrair o cabeçalho da Mensagem-ID e, em seguida, sed
para a barra invertida-escape de quaisquer caracteres especiais.
O problema é tentar passar essa string de volta para mutt: Eu sei que você pode usar variáveis de ambiente em muttrc
, mas acredito que elas sejam avaliadas na atribuição e não na execução. Existe alguma maneira de obter a string de um script bash de volta para a configuração do mutt?
Tags email mutt macros bash-scripting