Câu trả lời:
Ràng buộc message-log-maxvới nil:
(defun foo ()
(interactive)
(let ((message-log-max nil))
(message "EEEEEEEEEEEEEEEEEE")))
M-x foo RET
[PS Đừng để bị lừa bởi các xét nghiệm sử dụng những thứ như M-: (let ((message-log-max nil)) (message "EEEEEEEEEEEEEEEEEE"))vào suy nghĩ rằng EEEEEEEEEEEEEEEEEE từ việc đánh giá let sexp là thông điệp mà là đầu ra bởi message. Nó thay vào đó là giá trị được trả về bởi đánh giá đó. messagekhông đăng nhập bất cứ điều gì *Messages*nếu message-log-maxlà nil.]
Tôi không thể tìm thấy một cách xây dựng để làm điều đó, vì vậy tôi đã hack chức năng kỳ lạ này:
(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))))
Kiểm tra các tài liệu cho message-log-max.