# HG changeset patch # User Simon Marshall # Date 915617150 0 # Node ID 2de7db40964de3d8fc2b2bb5834a3fbe83195ea9 # Parent 8c46e3a0623e65ac6172bffca569d37f5e5de2cf (with-temp-message): Don't display MESSAGE if nil. diff -r 8c46e3a0623e -r 2de7db40964d lisp/subr.el --- a/lisp/subr.el Wed Jan 06 08:40:50 1999 +0000 +++ b/lisp/subr.el Wed Jan 06 10:05:50 1999 +0000 @@ -964,13 +964,18 @@ The original message is restored to the echo area after BODY has finished. The value returned is the value of the last form in BODY. MESSAGE is written to the message log buffer if `message-log-max' is non-nil." - (let ((current-message (make-symbol "current-message"))) - `(let ((,current-message (current-message))) + (let ((current-message (make-symbol "current-message")) + (temp-message (make-symbol "with-temp-message"))) + `(let ((,temp-message ,message) + (,current-message)) (unwind-protect (progn - (message ,message) + (when ,temp-message + (setq ,current-message (current-message)) + (message ,temp-message)) ,@body) - (message ,current-message))))) + (when ,temp-message + (message ,current-message)))))) (defmacro with-temp-buffer (&rest body) "Create a temporary buffer, and evaluate BODY there like `progn'.