Czy można wyświetlić komunikat w obszarze echa bez logowania go w buforze *Messages*
?
11
Powiązanie message-log-max
z nil
:
(defun foo ()
(interactive)
(let ((message-log-max nil))
(message "EEEEEEEEEEEEEEEEEE")))
M-x foo RET
[PS Nie daj się zwieść testom wykorzystującym takie rzeczy, jak np. M-: (let ((message-log-max nil)) (message "EEEEEEEEEEEEEEEEEE"))
Myślenie, że EEEEEEEEEEEEEEEEEE
ocena let
seksu jest wiadomością, która została wysłana message
. Zamiast tego jest to wartość zwracana przez tę ocenę. message
nie loguje niczego, *Messages*
jeśli message-log-max
jest nil
.]
Nie mogłem znaleźć wbudowanego sposobu, aby to zrobić, więc zhackowałem tę dziwną funkcję:
(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))))
Sprawdź dokumentację dla message-log-max
.