Я нашел ошибку в Mutt, но хотел бы найти обходной путь, пока ее не исправят.

~ (функция mark-message ) должна назначить ярлык (т. е. макрос), чтобы пометить сообщение, чтобы вы могли перейти к нему позже. Например, если вы пометите сообщение с помощью ярлыка d , Mutt автоматически установит следующий макрос:

macro index "'d" "<search>~i '[Message-ID Header]'" "message hotkey"

чтобы вы могли нажать 'd чтобы вернуться к сообщению, которое вы отметили.

Проблема в том, что заголовок Message-ID интерпретируется как регулярное выражение, и иногда заголовки сообщений, которые я получаю, содержат специальные символы регулярного выражения, такие как + . (См. Пример ниже.)

<CAMMr2knNGWssaFdp-+e4u9pWfBQ4DCHNkH9FUrPoXqEXAN+sNg@mail.gmail.com>

Если это так, то Mutt не может найти сообщение, поэтому макрос не работает и просто выдает ошибку Not found. ,

Решением было бы убрать эти специальные символы с обратной косой черты, но я не верю, что есть способ сделать это изначально в дураках. Что я хотел бы сделать, так это создать собственную замену функции mark-message . Я думаю, что мне нужно было бы передать данное сообщение в скрипт, grep и cut чтобы извлечь заголовок Message-ID, а затем sed для экранирования любых специальных символов.

Проблема заключается в попытке передать эту строку в Mutt: я знаю, что вы можете использовать переменные окружения в muttrc , но я считаю, что они оцениваются при присваивании, а не при выполнении. Есть ли способ вернуть строку из скрипта bash обратно в конфигурацию mutt?

0