From: Federico Tedin Date: Mon, 6 Aug 2018 22:53:05 +0000 (-0300) Subject: Add variable auto-save-no-message X-Git-Tag: emacs-27.0.90~4607 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c024a05e5990f0f9777ff88fffa02382b7522ccc;p=emacs.git Add variable auto-save-no-message * src/keyboard.c (auto-save-no-message): New variable, allows suppressing auto-saving message. * lisp/cus-start.el (standard): Add 'auto-save-no-message' variable. * doc/emacs/files.texi (Auto Save): Document 'auto-save-no-message'. * etc/NEWS: Mention 'auto-save-no-message'. (Bug#31039) --- diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi index a7cc57e4e94..c7d3b40f9d1 100644 --- a/doc/emacs/files.texi +++ b/doc/emacs/files.texi @@ -1021,13 +1021,16 @@ separate file, without altering the file you actually use. This is called @dfn{auto-saving}. It prevents you from losing more than a limited amount of work if the system crashes. +@vindex auto-save-no-message When Emacs determines that it is time for auto-saving, it considers each buffer, and each is auto-saved if auto-saving is enabled for it -and it has been changed since the last time it was auto-saved. The -message @samp{Auto-saving...} is displayed in the echo area during -auto-saving, if any files are actually auto-saved. Errors occurring -during auto-saving are caught so that they do not interfere with the -execution of commands you have been typing. +and it has been changed since the last time it was auto-saved. When +the @code{auto-save-no-message} variable is set to @code{nil} (the +default), the message @samp{Auto-saving...} is displayed in the echo +area during auto-saving, if any files are actually auto-saved; to +disable these messages, customize the variable to a non-@code{nil} +value. Errors occurring during auto-saving are caught so that they do +not interfere with the execution of commands you have been typing. @menu * Files: Auto Save Files. The file where auto-saved changes are diff --git a/etc/NEWS b/etc/NEWS index 0b1e6499f41..d918ef3f8b4 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -196,6 +196,11 @@ from a remote host. This triggers to search the program on the remote host as indicated by 'default-directory'. ++++ +** New variable 'auto-save-no-message'. +When set to t, no message will be shown when auto-saving (default +value: nil). + * Editing Changes in Emacs 27.1 diff --git a/lisp/cus-start.el b/lisp/cus-start.el index f31d1df3097..0d4b9687487 100644 --- a/lisp/cus-start.el +++ b/lisp/cus-start.el @@ -345,6 +345,7 @@ Leaving \"Default\" unchecked is equivalent with specifying a default of ;; keyboard.c (meta-prefix-char keyboard character) (auto-save-interval auto-save integer) + (auto-save-no-message auto-save boolean) (auto-save-timeout auto-save (choice (const :tag "off" nil) (integer :format "%v"))) (echo-keystrokes minibuffer number) diff --git a/src/keyboard.c b/src/keyboard.c index 7ab9a6069ad..66041f317b5 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -2626,7 +2626,7 @@ read_char (int commandflag, Lisp_Object map, && num_nonmacro_input_events - last_auto_save > max (auto_save_interval, 20) && !detect_input_pending_run_timers (0)) { - Fdo_auto_save (Qnil, Qnil); + Fdo_auto_save (auto_save_no_message ? Qt : Qnil, Qnil); /* Hooks can actually change some buffers in auto save. */ redisplay (); } @@ -2691,7 +2691,7 @@ read_char (int commandflag, Lisp_Object map, if (EQ (tem0, Qt) && ! CONSP (Vunread_command_events)) { - Fdo_auto_save (Qnil, Qnil); + Fdo_auto_save (auto_save_no_message ? Qt : Qnil, Qnil); redisplay (); } } @@ -11391,6 +11391,10 @@ result of looking up the original command in the active keymaps. */); Zero means disable autosaving due to number of characters typed. */); auto_save_interval = 300; + DEFVAR_BOOL ("auto-save-no-message", auto_save_no_message, + doc: /* Non-nil means do not print any message when auto-saving. */); + auto_save_no_message = false; + DEFVAR_LISP ("auto-save-timeout", Vauto_save_timeout, doc: /* Number of seconds idle time before auto-save. Zero or nil means disable auto-saving due to idleness.