]> git.eshelyaron.com Git - emacs.git/commitdiff
rmail.el: If view buffer gets lost with the real text, don't save
authorRichard M. Stallman <rms@gnu.org>
Sat, 10 Mar 2012 08:54:24 +0000 (03:54 -0500)
committerRichard M. Stallman <rms@gnu.org>
Sat, 10 Mar 2012 08:54:24 +0000 (03:54 -0500)
the Rmail file as just one message.

lisp/ChangeLog
lisp/mail/rmail.el

index e1ece83b6a6edfb882eaf836dbeb2be9c4c4b522..0648c9dc5cd5e3e72bccd0796d5b81bb92d9c81f 100644 (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>
index 2d327c7a0f070e1974b57c5f61fb5ac94dfc596f..3a9ba8122ab7fdf9ade8fb9b06fc2bd2faf3f98d 100644 (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)