Mercurial > emacs
changeset 15349:fdc10603ac35
(rmail-get-new-mail): If conversion to BABYL fails
for the default inboxes, rename them so they won't be tried again.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 07 Jun 1996 14:57:45 +0000 |
parents | 8d78b06fbb46 |
children | a8bd6f986389 |
files | lisp/mail/rmail.el |
diffstat | 1 files changed, 18 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/mail/rmail.el Fri Jun 07 14:57:04 1996 +0000 +++ b/lisp/mail/rmail.el Fri Jun 07 14:57:45 1996 +0000 @@ -899,7 +899,8 @@ (make-backup-files (and make-backup-files (buffer-modified-p))) (buffer-read-only nil) ;; Don't make undo records for what we do in getting mail. - (buffer-undo-list t)) + (buffer-undo-list t) + success) (goto-char (point-max)) (skip-chars-backward " \t\n") ; just in case of brain damage (delete-region (point) (point-max)) ; caused by require-final-newline @@ -914,8 +915,22 @@ (setq delete-files (rmail-insert-inbox-text rmail-inbox-list t))) ;; Scan the new text and convert each message to babyl format. (goto-char (point-min)) - (save-excursion - (setq new-messages (rmail-convert-to-babyl-format))) + (unwind-protect + (save-excursion + (setq new-messages (rmail-convert-to-babyl-format) + success t)) + ;; If we could not convert the file's inboxes, + ;; rename the files we tried to read + ;; so we won't over and over again. + (if (and (not file-name) (not success)) + (let ((files delete-files) + (count 0)) + (while files + (while (file-exists-p (format "RMAILOSE.%d" count)) + (setq count (1+ count))) + (rename-file (car files) + (format "RMAILOSE.%d" count)) + (setq files (cdr files)))))) (or (zerop new-messages) (let (success) (widen)