Apakah mungkin menampilkan pesan di area gema tanpa mencatatnya di buffer *Messages*
?
11
Bind message-log-max
ke nil
:
(defun foo ()
(interactive)
(let ((message-log-max nil))
(message "EEEEEEEEEEEEEEEEEE")))
M-x foo RET
[PS Jangan disesatkan oleh tes menggunakan hal-hal seperti M-: (let ((message-log-max nil)) (message "EEEEEEEEEEEEEEEEEE"))
berpikir bahwa EEEEEEEEEEEEEEEEEE
menilai dari let
sexp adalah pesan yang dihasilkan oleh message
. Bukan nilai yang dikembalikan oleh evaluasi itu. message
tidak mencatat apa pun *Messages*
jika message-log-max
ada nil
.]
Saya tidak dapat menemukan cara untuk melakukannya, jadi saya meretas fungsi aneh ini:
(defun echo-and-ignore-message-buffer (message)
(let ((prev-msg-log-max message-log-max))
(unwind-protect
(progn (setq message-log-max nil)
(message message))
(setq message-log-max prev-msg-log-max))))
Lihat dokumentasi untuk message-log-max
.