]> git.eshelyaron.com Git - emacs.git/commitdiff
Disable clearing echo-area when 'inhibit-message' is non-nil
authorEli Zaretskii <eliz@gnu.org>
Sun, 13 Apr 2025 07:44:55 +0000 (10:44 +0300)
committerEshel Yaron <me@eshelyaron.com>
Sun, 13 Apr 2025 20:54:17 +0000 (22:54 +0200)
* src/xdisp.c (clear_message): Don't clear echo-area if
'inhibit-message' is non-nil.

* etc/NEWS:
* doc/lispref/display.texi (Displaying Messages): Document the
above change.  (Bug#77257)

(cherry picked from commit b0d6fe1449fbd32c01d69174f552d6884337a809)

doc/lispref/display.texi
src/xdisp.c

index 446169ec711a6aed46f42f121a823ffc7caee913..778716c0dc2b6748337d6bda95bc4dbb31898193 100644 (file)
@@ -404,8 +404,10 @@ elapsed since the time the first message was emitted.
 
 @defvar inhibit-message
 When this variable is non-@code{nil}, @code{message} and related functions
-will not display any messages in the Echo Area.  Echo-area messages
-are still logged in the @file{*Messages*} buffer, though.
+will not display any messages in the Echo Area, and will also not clear
+previous echo-area messages when @code{message} is called with a
+@code{nil} or an empty argument.  Echo-area messages are still logged in
+the @file{*Messages*} buffer, though.
 @end defvar
 
 @defmac with-temp-message message &rest body
index cf395a121deb2565102635dd0feefd331387048d..e1c09f2c165adc2ebb5a6c78c1ac502d3ceabd0e 100644 (file)
@@ -13405,7 +13405,7 @@ clear_message (bool current_p, bool last_displayed_p)
 {
   Lisp_Object preserve = Qnil;
 
-  if (current_p)
+  if (current_p && !inhibit_message)
     {
       if (FUNCTIONP (Vclear_message_function)
           /* FIXME: (bug#63253) Same as for `set-message-function` above.  */