Ist es möglich, eine Nachricht im Echo-Bereich anzuzeigen, ohne sie im Puffer zu protokollieren *Messages*
?
11
Binden message-log-max
an nil
:
(defun foo ()
(interactive)
(let ((message-log-max nil))
(message "EEEEEEEEEEEEEEEEEE")))
M-x foo RET
[PS Lassen Sie sich nicht durch Tests irreführen, bei denen beispielsweise angenommen M-: (let ((message-log-max nil)) (message "EEEEEEEEEEEEEEEEEE"))
wird, dass die EEEEEEEEEEEEEEEEEE
Bewertung des let
Sexp die Nachricht ist, die von ausgegeben wurde message
. Es ist stattdessen der Wert, der von dieser Bewertung zurückgegeben wird. message
protokolliert nichts, *Messages*
wenn message-log-max
ist nil
.]
Ich konnte keinen eingebauten Weg finden, um dies zu tun, also habe ich diese seltsame Funktion gehackt:
(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))))
Lesen Sie die Dokumentation für message-log-max
.