rmail.el: If view buffer gets lost with the real text, don't save

the Rmail file as just one message.
This commit is contained in:
Richard M. Stallman 2012-03-10 03:54:24 -05:00
parent 92795c9142
commit de3bc99a8d
2 changed files with 13 additions and 4 deletions

View file

@ -1,5 +1,10 @@
2012-03-10 Richard Stallman <rms@gnu.org>
* mail/rmail.el (rmail-buffers-swapped-p): Don't assume dead
view buffer means not swapped.
(rmail-view-buffer-kill-buffer-hook): Give buf name in error msg.
(rmail-write-region-annotate): Error if real text has disappeared.
* epa-mail.el (epa-mail-encrypt): Bind inhibit-read-only.
2012-03-10 Chong Yidong <cyd@gnu.org>

View file

@ -1363,8 +1363,7 @@ sets the current buffer's `buffer-file-coding-system' to that of
(defun rmail-buffers-swapped-p ()
"Return non-nil if the message collection is in `rmail-view-buffer'."
;; This is analogous to tar-data-swapped-p in tar-mode.el.
(and (buffer-live-p rmail-view-buffer)
rmail-buffer-swapped))
rmail-buffer-swapped)
(defun rmail-change-major-mode-hook ()
;; Bring the actual Rmail messages back into the main buffer.
@ -1406,7 +1405,8 @@ If so restore the actual mbox message collection."
(kill-buffer rmail-view-buffer))))
(defun rmail-view-buffer-kill-buffer-hook ()
(error "Can't kill message view buffer by itself"))
(error "Can't kill Rmail view buffer `%s' by itself"
(buffer-name (current-buffer))))
;; Set up the permanent locals associated with an Rmail file.
(defun rmail-perm-variables ()
@ -4472,7 +4472,11 @@ encoded string (and the same mask) will decode the string."
;; Used in `write-region-annotate-functions' to write rmail files.
(defun rmail-write-region-annotate (start end)
(when (and (null start) (rmail-buffers-swapped-p))
(when (and (null start) rmail-buffer-swapped)
(unless (buffer-live-p rmail-view-buffer)
(error "Buffer `%s' with real text of `%s' has disappeared"
(buffer-name rmail-view-buffer)
(buffer-name (current-buffer))))
(setq rmail-message-encoding buffer-file-coding-system)
(set-buffer rmail-view-buffer)
(widen)