[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] scratch/inhibit-message3 841fe8d: Add a new `inhibit-messa
From: |
Oleh Krehel |
Subject: |
[Emacs-diffs] scratch/inhibit-message3 841fe8d: Add a new `inhibit-message' variable |
Date: |
Tue, 21 Apr 2015 18:53:27 +0000 |
branch: scratch/inhibit-message3
commit 841fe8d7902a910e2cd77b2e0d823aa07279587b
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>
Add a new `inhibit-message' variable
* src/xdisp.c (message3): When `Vinhibit_message' is not nil, don't do
anything.
(syms_of_xdisp): Define `Vinhibit_message'.
---
src/xdisp.c | 42 ++++++++++++++++++++++++------------------
1 files changed, 24 insertions(+), 18 deletions(-)
diff --git a/src/xdisp.c b/src/xdisp.c
index a17f5a9..0c069b9 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -10035,27 +10035,29 @@ message_log_check_duplicate (ptrdiff_t prev_bol_byte,
ptrdiff_t this_bol_byte)
void
message3 (Lisp_Object m)
{
- struct gcpro gcpro1;
+ if (NILP (Vinhibit_message)) {
+ struct gcpro gcpro1;
- GCPRO1 (m);
- clear_message (true, true);
- cancel_echoing ();
+ GCPRO1 (m);
+ clear_message (true, true);
+ cancel_echoing ();
- /* First flush out any partial line written with print. */
- message_log_maybe_newline ();
- if (STRINGP (m))
- {
- ptrdiff_t nbytes = SBYTES (m);
- bool multibyte = STRING_MULTIBYTE (m);
- char *buffer;
- USE_SAFE_ALLOCA;
- SAFE_ALLOCA_STRING (buffer, m);
- message_dolog (buffer, nbytes, true, multibyte);
- SAFE_FREE ();
- }
- message3_nolog (m);
+ /* First flush out any partial line written with print. */
+ message_log_maybe_newline ();
+ if (STRINGP (m))
+ {
+ ptrdiff_t nbytes = SBYTES (m);
+ bool multibyte = STRING_MULTIBYTE (m);
+ char *buffer;
+ USE_SAFE_ALLOCA;
+ SAFE_ALLOCA_STRING (buffer, m);
+ message_dolog (buffer, nbytes, true, multibyte);
+ SAFE_FREE ();
+ }
+ message3_nolog (m);
- UNGCPRO;
+ UNGCPRO;
+ }
}
@@ -30430,6 +30432,10 @@ syms_of_xdisp (void)
DEFSYM (Qredisplay_internal, "redisplay_internal (C function)");
+ DEFVAR_LISP("inhibit-message", Vinhibit_message,
+ doc: /* Non-nil means calls to `message' are ignored. */);
+ Vinhibit_message = Qnil;
+
message_dolog_marker1 = Fmake_marker ();
staticpro (&message_dolog_marker1);
message_dolog_marker2 = Fmake_marker ();