From 10e09db421119f7b823ee11def1515dc85d0ef97 Mon Sep 17 00:00:00 2001 From: Karl Heuer Date: Tue, 19 Apr 1994 03:41:23 +0000 Subject: [PATCH] (rmail-summary-rmail-update): Update rmail buffer even if it isn't displayed. --- lisp/mail/rmailsum.el | 48 +++++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/lisp/mail/rmailsum.el b/lisp/mail/rmailsum.el index 19f72b00a1f..2a80ff4469c 100644 --- a/lisp/mail/rmailsum.el +++ b/lisp/mail/rmailsum.el @@ -548,34 +548,36 @@ Commands for sorting the summary: ;; 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) -- 2.11.4.GIT