Mercurial > emacs
changeset 80405:c7ecb287a9ca
(auto_save_error_occurred): New var.
(auto_save_error): Set it.
(Fdo_auto_save): Don't overwrite the error message if an auto-save
error occurred.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Mon, 31 Mar 2008 22:07:40 +0000 |
parents | 8d1170152b8e |
children | cce5a473f823 |
files | src/fileio.c |
diffstat | 1 files changed, 9 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/fileio.c Mon Mar 31 22:07:27 2008 +0000 +++ b/src/fileio.c Mon Mar 31 22:07:40 2008 +0000 @@ -159,6 +159,9 @@ a new file with the same mode as the original */ int auto_save_mode_bits; +/* Set by auto_save_1 if an error occurred during the last auto-save. */ +int auto_save_error_occurred; + /* The symbol bound to coding-system-for-read when insert-file-contents is called for recovering a file. This is not an actual coding system name, but just an indicator to tell @@ -5757,6 +5760,8 @@ char *msgbuf; USE_SAFE_ALLOCA; + auto_save_error_occurred = 1; + ring_bell (); args[0] = build_string ("Auto-saving %s: %s"); @@ -5928,6 +5933,7 @@ make_number (minibuffer_auto_raise)); minibuffer_auto_raise = 0; auto_saving = 1; + auto_save_error_occurred = 0; /* On first pass, save all files that don't have handlers. On second pass, save all files that do have handlers. @@ -6042,8 +6048,9 @@ sit_for (make_number (1), 0, 0); restore_message (); } - else - /* If we displayed a message and then restored a state + else if (!auto_save_error_occurred) + /* Don't overwrite the error message if an error occurred. + If we displayed a message and then restored a state with no message, leave a "done" message on the screen. */ message1 ("Auto-saving...done"); }