Eu faço muita automatização no Emacs, empilhando comandos que eu conheço usando manualmente . Esse é um método que eu recomendo, porque não é preciso muito esforço: você usa o Emacs como normalmente faria e, de vez em quando, aparece na sua cabeça: "Ei, estou sempre usando esses comandos em seqüência, por que don ' Eu apenas os fundo? " Tudo mais simples, já que você conhece os comandos, por nome ou atalho.
Um problema, porém, é que quando você empilha comandos, você obtém muitas mensagens piscando na "área de eco" (o mesmo lugar que o minibuffer). Essas mensagens não fazem sentido, pois tudo o que está acontecendo abaixo (as funções invocadas) é (deve ser) transparente para o usuário.
Então, você poderia silenciá-lo e, em seguida, ativar o som dele? Dê uma olhada abaixo:
(defun invisible-pretty-mail ()
"Automatize 'pretty-mail'."
(interactive)
; (mute-echo-area)
(rmail-edit-current-message)
(pretty-mail) ; lots of replace-string, replace-regexp, etc. here
; that will flood messages
(rmail-cease-edit)
; (unmute-echo-area)
)
Editar em resposta à resposta :
do sds
Eu estou muito ciente dessas notas que você se refere, pois elas são muito comuns no sistema de ajuda do Emacs.
Embora seu conselho não seja incorreto em geral, vamos examinar essa situação em particular com mais detalhes: 1) Existe uma função Elisp em .emacs
. 2) Ele usa comandos que a pessoa que configurou a função está muito familiarizada, por isso é muito legível e sustentável. 3) A função funciona exatamente como pretendido, com 4) a desvantagem one de que ela ecoa muitas mensagens.
Agora, nessa situação, você realmente sugeriria uma reescrita completa dessa função (e muitas outras), usando comandos completamente diferentes, comandos que podem ou não existir, como uma possível maneira de reduzindo mensagens, que nem saberemos que acontecerão?
Editar : Um exemplo (que funciona), depois da ajuda que recebi de Drew .
(defun test-suppress-msgs ()
(interactive)
(let ((log-size message-log-max))
(setq message-log-max nil)
(message "This message is suppressed.")
(setq message-log-max log-size)
(message "This is echoed, and logged.") ))