2015-07-16 3 views

ответ

1

Добавить функцию message-send-hook:

(add-hook 'message-send-hook 'my-message-rewrite) 
(defun my-message-rewrite() 
    "Pipe the current message buffer through the command and replace it with the output." 
    (shell-command-on-region (point-min) (point-max) 
          "my command line with args" 
          t t)) 

Очевидно, что вы не должны прибегать к команде оболочки, ваша сюсюкать функция может сделать гораздо больше.

Примечания:

  1. Этот хук запускается "довольно рано"; вы можете использовать вместо этого message-send-mail-hook - он запускается «очень поздно».

  2. Позвольте мне повторить: вы плаваете против ручейка здесь. Вы делаете не хотите это сделать. Пожалуйста, задайте отдельный вопрос об emacs.SE, описывающий, что делает ваш скрипт perl, и вы увидите, насколько это проще сделать с Lisp.

+0

Мое умение perl намного лучше, чем мои навыки (e) lisp :-) – AnFi

+0

Когда-то я тоже что-то сказал. С тех пор я учился лучше. Lisp настолько мощнее, проще в использовании, отлаживать, развиваться, учиться! – sds

+0

Кажется, что скрипт получает тело сообщения onlt. Я хотел переписать полное сообщение (заголовки и тело) - извините за недостаток точности. – AnFi

Смежные вопросы