emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r107554: rmail.el: If view buffer get


From: Richard Stallman
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r107554: rmail.el: If view buffer gets lost with the real text, don't save
Date: Sat, 10 Mar 2012 03:54:24 -0500
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 107554
committer: Richard Stallman <address@hidden>
branch nick: trunk
timestamp: Sat 2012-03-10 03:54:24 -0500
message:
  rmail.el: If view buffer gets lost with the real text, don't save
  the Rmail file as just one message.
modified:
  lisp/ChangeLog
  lisp/mail/rmail.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2012-03-10 08:43:27 +0000
+++ b/lisp/ChangeLog    2012-03-10 08:54:24 +0000
@@ -1,5 +1,10 @@
 2012-03-10  Richard Stallman  <address@hidden>
 
+       * 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  <address@hidden>

=== modified file 'lisp/mail/rmail.el'
--- a/lisp/mail/rmail.el        2012-02-19 08:14:30 +0000
+++ b/lisp/mail/rmail.el        2012-03-10 08:54:24 +0000
@@ -1363,8 +1363,7 @@
 (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 @@
        (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 @@
 
 ;; 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)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]