Відповіді:
Прив’язати message-log-maxдо nil:
(defun foo ()
(interactive)
(let ((message-log-max nil))
(message "EEEEEEEEEEEEEEEEEE")))
M-x foo RET
[PS Не вводьте в оману тестами, використовуючи такі речі, як M-: (let ((message-log-max nil)) (message "EEEEEEEEEEEEEEEEEE"))думка про те, що EEEEEEEEEEEEEEEEEE з оцінювання let сексопу є повідомлення, яке було виведено message. Натомість це значення, повернене цією оцінкою. messageне записує нічого, *Messages*якщо message-log-maxє nil.]
Я не зміг знайти вбудований спосіб зробити це, тому зламав цю дивну функцію:
(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))))
Ознайомтеся з документацією на message-log-max.