Answers:
绑定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
sexp所得出的信息就是message
。相反,它是该评估返回的值。message
不向*Messages*
if message-log-max
is 记录任何内容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
。