[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r105893: Don't allow killing Rmail vi
From: |
Richard Stallman |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r105893: Don't allow killing Rmail view buffer by itself. |
Date: |
Fri, 23 Sep 2011 19:44:32 -0400 |
User-agent: |
Bazaar (2.3.1) |
------------------------------------------------------------
revno: 105893
committer: Richard Stallman <address@hidden>
branch nick: trunk
timestamp: Fri 2011-09-23 19:44:32 -0400
message:
Don't allow killing Rmail view buffer by itself.
It gets killed only when its Rmail buffer gets killed.
modified:
lisp/ChangeLog
lisp/mail/rmail.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2011-09-23 16:26:48 +0000
+++ b/lisp/ChangeLog 2011-09-23 23:44:32 +0000
@@ -1,3 +1,9 @@
+2011-09-23 Richard Stallman <address@hidden>
+
+ * mail/rmail.el (rmail-view-buffer-kill-buffer-hook): New function.
+ (rmail-generate-viewer-buffer): Put that hook on view buffer.
+ (rmail-mode-kill-buffer-hook): Override that hook, to kill view buffer.
+
2011-09-23 Andreas Schwab <address@hidden>
* international/mule-diag.el (mule-diag): Insert a newline after
=== modified file 'lisp/mail/rmail.el'
--- a/lisp/mail/rmail.el 2011-09-09 08:59:51 +0000
+++ b/lisp/mail/rmail.el 2011-09-23 23:44:32 +0000
@@ -1310,9 +1310,14 @@
(if (and (local-variable-p 'rmail-view-buffer)
(buffer-live-p rmail-view-buffer))
rmail-view-buffer
- (generate-new-buffer
- (format " *message-viewer %s*"
- (file-name-nondirectory (or buffer-file-name (buffer-name)))))))
+ (let ((newbuf
+ (generate-new-buffer
+ (format " *message-viewer %s*"
+ (file-name-nondirectory
+ (or buffer-file-name (buffer-name)))))))
+ (with-current-buffer newbuf
+ (add-hook 'kill-buffer-hook 'rmail-view-buffer-kill-buffer-hook nil t))
+ newbuf)))
(defun rmail-swap-buffers ()
"Swap text between current buffer and `rmail-view-buffer'.
@@ -1372,7 +1377,14 @@
(message "Marking buffer unmodified to avoid rewriting Babyl file as mbox
file")))
(defun rmail-mode-kill-buffer-hook ()
- (if (buffer-live-p rmail-view-buffer) (kill-buffer rmail-view-buffer)))
+ ;; Turn off the hook on the view buffer, so we can kill it, then kill it.
+ (if (buffer-live-p rmail-view-buffer)
+ (with-current-buffer rmail-view-buffer
+ (setq kill-buffer-hook nil)
+ (kill-buffer rmail-view-buffer))))
+
+(defun rmail-view-buffer-kill-buffer-hook ()
+ (error "Can't kill message view buffer by itself"))
;; Set up the permanent locals associated with an Rmail file.
(defun rmail-perm-variables ()
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r105893: Don't allow killing Rmail view buffer by itself.,
Richard Stallman <=