changeset 6961:666f11765323

(rmail-summary-rmail-update): Update rmail buffer even if it isn't displayed.
author Karl Heuer <kwzh@gnu.org>
date Tue, 19 Apr 1994 03:41:23 +0000
parents 1371d69e89bb
children 8505df26e31d
files lisp/mail/rmailsum.el
diffstat 1 files changed, 25 insertions(+), 23 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/mail/rmailsum.el	Tue Apr 19 02:49:51 1994 +0000
+++ b/lisp/mail/rmailsum.el	Tue Apr 19 03:41:23 1994 +0000
@@ -548,34 +548,36 @@
 ;; but only if the Rmail buffer is already visible.
 ;; This is a post-command-hook in summary buffers.
 (defun rmail-summary-rmail-update ()
-  (if (get-buffer-window rmail-buffer)
-      (let (buffer-read-only)
-	(save-excursion
-	  ;; If at end of buffer, pretend we are on the last text line.
-	  (if (eobp)
-	      (forward-line -1))
-	  (beginning-of-line)
-	  (skip-chars-forward " ")
-	  (let ((beg (point))
-		msg-num
-		(buf rmail-buffer))
-	    (skip-chars-forward "0-9")
-	    (setq msg-num (string-to-int (buffer-substring beg (point))))
-	    (or (eq rmail-current-message msg-num)
-		(let (go-where window (owin (selected-window)))
-		  (setq rmail-current-message msg-num)
-		  (if (= (following-char) ?-)
-		      (progn
-			(delete-char 1)
-			(insert " ")))
-		  (setq window (display-buffer rmail-buffer))
-		  ;; Using save-window-excursion caused the new value
+  (let (buffer-read-only)
+    (save-excursion
+      ;; If at end of buffer, pretend we are on the last text line.
+      (if (eobp)
+	  (forward-line -1))
+      (beginning-of-line)
+      (skip-chars-forward " ")
+      (let ((msg-num (string-to-int (buffer-substring
+				     (point)
+				     (progn (skip-chars-forward "0-9")
+					    (point))))))
+	(or (eq rmail-current-message msg-num)
+	    (let ((window (get-buffer-window rmail-buffer))
+		  (owin (selected-window)))
+	      (setq rmail-current-message msg-num)
+	      (if (= (following-char) ?-)
+		  (progn
+		    (delete-char 1)
+		    (insert " ")))
+	      (if window
+		  ;; Using save-window-excursion would cause the new value
 		  ;; of point to get lost.
 		  (unwind-protect
 		      (progn
 			(select-window window)
 			(rmail-show-message msg-num))
-		    (select-window owin)))))))))
+		    (select-window owin))
+		(save-excursion
+		  (set-buffer rmail-buffer)
+		  (rmail-show-message msg-num)))))))))
 
 (defvar rmail-summary-mode-map nil)