[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs/lisp ChangeLog mail/rmail.el
From: |
Glenn Morris |
Subject: |
[Emacs-diffs] emacs/lisp ChangeLog mail/rmail.el |
Date: |
Sat, 03 Oct 2009 02:07:33 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Glenn Morris <gm> 09/10/03 02:07:32
Modified files:
lisp : ChangeLog
lisp/mail : rmail.el
Log message:
(rmail-generate-viewer-buffer): Be more careful about reusing existing
buffers, in case we happen to visit two files with the same basename.
(Bug#4593)
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ChangeLog?cvsroot=emacs&r1=1.16330&r2=1.16331
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/mail/rmail.el?cvsroot=emacs&r1=1.552&r2=1.553
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.16330
retrieving revision 1.16331
diff -u -b -r1.16330 -r1.16331
--- ChangeLog 2 Oct 2009 19:53:53 -0000 1.16330
+++ ChangeLog 3 Oct 2009 02:07:28 -0000 1.16331
@@ -1,3 +1,9 @@
+2009-10-03 Glenn Morris <address@hidden>
+
+ * mail/rmail.el (rmail-generate-viewer-buffer): Be more careful about
+ reusing existing buffers, in case we happen to visit two files with the
+ same basename. (Bug#4593)
+
2009-10-02 Eli Zaretskii <address@hidden>
* makefile.w32-in (update-subdirs-CMD): Add cedet to
Index: mail/rmail.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/mail/rmail.el,v
retrieving revision 1.552
retrieving revision 1.553
diff -u -b -r1.552 -r1.553
--- mail/rmail.el 26 Sep 2009 19:21:07 -0000 1.552
+++ mail/rmail.el 3 Oct 2009 02:07:32 -0000 1.553
@@ -1294,11 +1294,15 @@
(defun rmail-generate-viewer-buffer ()
"Return a reusable buffer suitable for viewing messages.
Create the buffer if necessary."
- (let* ((suffix (file-name-nondirectory (or buffer-file-name (buffer-name))))
- (name (format " *message-viewer %s*" suffix))
- (buf (get-buffer name)))
- (or buf
- (generate-new-buffer name))))
+ ;; We want to reuse any existing view buffer, so as not to create an
+ ;; endless number of them. But we must avoid clashes if we visit
+ ;; two different rmail files with the same basename (Bug#4593).
+ (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)))))))
(defun rmail-swap-buffers ()
"Swap text between current buffer and `rmail-view-buffer'.
@@ -1367,6 +1371,9 @@
(set-buffer-multibyte nil)
(with-current-buffer (setq rmail-view-buffer (rmail-generate-viewer-buffer))
(setq buffer-undo-list t)
+ ;; Note that this does not erase the buffer. Should it?
+ ;; It depends on how this is called. If somehow called with the
+ ;; rmail buffers swapped, it would erase the message collection.
(set (make-local-variable 'rmail-overlay-list) nil)
(set-buffer-multibyte t)
;; Force C-x C-s write Unix EOLs.
- [Emacs-diffs] emacs/lisp ChangeLog mail/rmail.el,
Glenn Morris <=