# HG changeset patch # User Karl Heuer # Date 766726883 0 # Node ID 666f1176532395cfdfe8bcdc70390916de155a44 # Parent 1371d69e89bb3a5eca3b6f00e2ccaaccdb449bee (rmail-summary-rmail-update): Update rmail buffer even if it isn't displayed. diff -r 1371d69e89bb -r 666f11765323 lisp/mail/rmailsum.el --- 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)