Commit ca730bf0 authored by Chong Yidong's avatar Chong Yidong

(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.
parent 9997701e
...@@ -158,6 +158,9 @@ int auto_saving; ...@@ -158,6 +158,9 @@ int auto_saving;
a new file with the same mode as the original */ a new file with the same mode as the original */
int auto_save_mode_bits; 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 /* The symbol bound to coding-system-for-read when
insert-file-contents is called for recovering a file. This is not insert-file-contents is called for recovering a file. This is not
an actual coding system name, but just an indicator to tell an actual coding system name, but just an indicator to tell
...@@ -5728,6 +5731,8 @@ auto_save_error (error) ...@@ -5728,6 +5731,8 @@ auto_save_error (error)
char *msgbuf; char *msgbuf;
USE_SAFE_ALLOCA; USE_SAFE_ALLOCA;
auto_save_error_occurred = 1;
ring_bell (XFRAME (selected_frame)); ring_bell (XFRAME (selected_frame));
args[0] = build_string ("Auto-saving %s: %s"); args[0] = build_string ("Auto-saving %s: %s");
...@@ -5899,6 +5904,7 @@ A non-nil CURRENT-ONLY argument means save only current buffer. */) ...@@ -5899,6 +5904,7 @@ A non-nil CURRENT-ONLY argument means save only current buffer. */)
make_number (minibuffer_auto_raise)); make_number (minibuffer_auto_raise));
minibuffer_auto_raise = 0; minibuffer_auto_raise = 0;
auto_saving = 1; auto_saving = 1;
auto_save_error_occurred = 0;
/* On first pass, save all files that don't have handlers. /* On first pass, save all files that don't have handlers.
On second pass, save all files that do have handlers. On second pass, save all files that do have handlers.
...@@ -6013,7 +6019,8 @@ A non-nil CURRENT-ONLY argument means save only current buffer. */) ...@@ -6013,7 +6019,8 @@ A non-nil CURRENT-ONLY argument means save only current buffer. */)
sit_for (make_number (1), 0, 0); sit_for (make_number (1), 0, 0);
restore_message (); restore_message ();
} }
else 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 /* If we displayed a message and then restored a state
with no message, leave a "done" message on the screen. */ with no message, leave a "done" message on the screen. */
message1 ("Auto-saving...done"); message1 ("Auto-saving...done");
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment