diff options
author | Gerd Moellmann <gerd@gnu.org> | 2001-05-08 11:18:48 +0000 |
---|---|---|
committer | Gerd Moellmann <gerd@gnu.org> | 2001-05-08 11:18:48 +0000 |
commit | 67f2e119e3c9fcc9bfc1341d08a12220f737382c (patch) | |
tree | d1dc0d8d7d3701e16a35ce5ebba80d737943e887 /lisp/mail | |
parent | c96b208d6dd74a7d4011aae1b3e4881b74ca0842 (diff) | |
download | emacs-67f2e119e3c9fcc9bfc1341d08a12220f737382c.tar.gz |
(rmail-message-subject-p): Process the result
of mail-fetch-field by rmail-summary-line-decoder.
(rmail-new-summary): Be sure to go to the Rmail buffer. If
rmail-enable-mime is non-nil, set rmail-summary-buffer of
rmail-view-buffer to nil.
(rmail-summary-undelete): If rmail-enable-mime is non-nil, pop to
rmail-view-buffer.
(rmail-summary-scroll-msg-up): Handle rmail-view-buffer, not
rmail-buffer.
(rmail-summary-scroll-msg-down): Likewise.
(rmail-summary-beginning-of-message): Likewise.
(rmail-summary-wipe): Likewise.
(rmail-summary-toggle-header): Use save-window-excursion, not
save-excursion. Update point in rmail-view-buffer, not in
rmail-buffer.
(rmail-summary-reply): Before calling rmail-reply, set buffer to
rmail-view-buffer, not rmail-buffer.
Diffstat (limited to 'lisp/mail')
-rw-r--r-- | lisp/mail/rmailsum.el | 37 |
1 files changed, 22 insertions, 15 deletions
diff --git a/lisp/mail/rmailsum.el b/lisp/mail/rmailsum.el index cf1d313b7f5..b9578c8ec65 100644 --- a/lisp/mail/rmailsum.el +++ b/lisp/mail/rmailsum.el @@ -138,7 +138,8 @@ SUBJECT is a string of regexps separated by commas." (progn (search-forward (if whole-message "\^_" "\n\n")) (point))) (goto-char (point-min)) (if whole-message (re-search-forward subject nil t) - (string-match subject (or (mail-fetch-field "Subject") "")) ))) + (string-match subject (or (funcall rmail-summary-line-decoder + (mail-fetch-field "Subject")) "")) ))) ;;;###autoload (defun rmail-summary-by-senders (senders) @@ -173,9 +174,8 @@ nil for FUNCTION means all messages." (save-excursion ;; Go to the Rmail buffer. (if (eq major-mode 'rmail-summary-mode) - (progn - (setq was-in-summary t) - (set-buffer rmail-buffer))) + (setq was-in-summary t)) + (set-buffer rmail-buffer) ;; Find its summary buffer, or make one. (setq sumbuf (if (and rmail-summary-buffer @@ -207,6 +207,9 @@ nil for FUNCTION means all messages." ;; Temporarily, while summary buffer is unfinished, ;; we "don't have" a summary. (setq rmail-summary-buffer nil) + (if rmail-enable-mime + (with-current-buffer rmail-view-buffer + (setq rmail-summary-buffer nil))) (save-excursion (let ((rbuf (current-buffer)) (vbuf rmail-view-buffer) @@ -667,9 +670,13 @@ Optional prefix ARG means undelete ARG previous messages." (cond ((re-search-backward "\\(^ *[0-9]*\\)\\(D\\)" nil t) (replace-match "\\1 ") (rmail-summary-goto-msg) - (pop-to-buffer rmail-buffer) + (if rmail-enable-mime + (set-buffer rmail-buffer) + (pop-to-buffer rmail-buffer)) (and (rmail-message-deleted-p rmail-current-message) (rmail-undelete-previous-message)) + (if rmail-enable-mime + (pop-to-buffer rmail-view-buffer)) (pop-to-buffer rmail-summary-buffer)) (t (goto-char opoint)))))) @@ -1140,7 +1147,7 @@ move to the previous message." (interactive "P") (if (eq dist '-) (rmail-summary-scroll-msg-up nil) - (let ((rmail-buffer-window (get-buffer-window rmail-buffer))) + (let ((rmail-buffer-window (get-buffer-window rmail-view-buffer))) (if rmail-buffer-window (if (let ((rmail-summary-window (selected-window))) (select-window rmail-buffer-window) @@ -1154,7 +1161,7 @@ move to the previous message." (if (not rmail-summary-scroll-between-messages) (error "Beginning of buffer") (rmail-summary-previous-msg (or dist 1))) - (let ((other-window-scroll-buffer rmail-buffer)) + (let ((other-window-scroll-buffer rmail-view-buffer)) (scroll-other-window-down dist))) ;; If it isn't visible at all, show the beginning. (rmail-summary-beginning-of-message))))) @@ -1164,15 +1171,15 @@ move to the previous message." (interactive) (if (and (one-window-p) (not pop-up-frames)) ;; If there is just one window, put the summary on the top. - (let ((buffer rmail-buffer)) + (let ((buffer rmail-view-buffer)) (split-window (selected-window) rmail-summary-window-size) (select-window (frame-first-window)) - (pop-to-buffer rmail-buffer) + (pop-to-buffer rmail-view-buffer) ;; If pop-to-buffer did not use that window, delete that ;; window. (This can happen if it uses another frame.) (or (eq buffer (window-buffer (next-window (frame-first-window)))) (delete-other-windows))) - (pop-to-buffer rmail-buffer)) + (pop-to-buffer rmail-view-buffer)) (beginning-of-buffer) (pop-to-buffer rmail-summary-buffer)) @@ -1197,7 +1204,7 @@ move to the previous message." "Kill and wipe away Rmail summary, remaining within Rmail." (interactive) (save-excursion (set-buffer rmail-buffer) (setq rmail-summary-buffer nil)) - (let ((local-rmail-buffer rmail-buffer)) + (let ((local-rmail-buffer rmail-view-buffer)) (kill-buffer (current-buffer)) ;; Delete window if not only one. (if (not (eq (selected-window) (next-window nil 'no-minibuf))) @@ -1358,12 +1365,12 @@ Interactively, empty argument means use same regexp used last time." (defun rmail-summary-toggle-header () "Show original message header if pruned header currently shown, or vice versa." (interactive) - (save-excursion + (save-window-excursion (set-buffer rmail-buffer) (rmail-toggle-header)) ;; Inside save-excursion, some changes to point in the RMAIL buffer are lost. ;; Set point to point-min in the RMAIL buffer, if it is visible. - (let ((window (get-buffer-window rmail-buffer))) + (let ((window (get-buffer-window rmail-view-buffer))) (if window ;; Using save-window-excursion would lose the new value of point. (let ((owin (selected-window))) @@ -1429,10 +1436,10 @@ Normally include CC: to all other recipients of original message; prefix argument means ignore them. While composing the reply, use \\[mail-yank-original] to yank the original message into it." (interactive "P") - (let ((window (get-buffer-window rmail-buffer))) + (let ((window (get-buffer-window rmail-view-buffer))) (if window (select-window window) - (set-buffer rmail-buffer))) + (set-buffer rmail-view-buffer))) (rmail-reply just-sender) (rmail-summary-override-mail-send-and-exit)) |