Mercurial > emacs
annotate lisp/mail/rmailsum.el @ 42811:cf0c0ef57504
*** empty log message ***
| author | Jason Rumney <jasonr@gnu.org> |
|---|---|
| date | Thu, 17 Jan 2002 19:29:24 +0000 |
| parents | f6289227c572 |
| children | 21de4f4cda23 |
| rev | line source |
|---|---|
|
2233
fb0ed5a1d0f3
Add standard library headers.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2232
diff
changeset
|
1 ;;; rmailsum.el --- make summary buffers for the mail reader |
|
2232
4f9d60f7de9d
Add standard library headers.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2164
diff
changeset
|
2 |
|
36746
6e4beb27bc38
(rmail-summary-override-mail-send-and-exit):
Gerd Moellmann <gerd@gnu.org>
parents:
34482
diff
changeset
|
3 ;; Copyright (C) 1985, 1993, 1994, 1995, 1996, 2000, 2001 |
|
28487
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
4 ;; Free Software Foundation, Inc. |
| 845 | 5 |
|
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
658
diff
changeset
|
6 ;; Maintainer: FSF |
|
814
38b2499cb3e9
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
807
diff
changeset
|
7 ;; Keywords: mail |
|
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
658
diff
changeset
|
8 |
| 130 | 9 ;; This file is part of GNU Emacs. |
| 10 | |
| 11 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
| 12 ;; it under the terms of the GNU General Public License as published by | |
|
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
658
diff
changeset
|
13 ;; the Free Software Foundation; either version 2, or (at your option) |
| 130 | 14 ;; any later version. |
| 15 | |
| 16 ;; GNU Emacs is distributed in the hope that it will be useful, | |
| 17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 19 ;; GNU General Public License for more details. | |
| 20 | |
| 21 ;; You should have received a copy of the GNU General Public License | |
| 14169 | 22 ;; along with GNU Emacs; see the file COPYING. If not, write to the |
| 23 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
| 24 ;; Boston, MA 02111-1307, USA. | |
| 130 | 25 |
|
2232
4f9d60f7de9d
Add standard library headers.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2164
diff
changeset
|
26 ;;; Commentary: |
|
4f9d60f7de9d
Add standard library headers.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2164
diff
changeset
|
27 |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
28 ;; Extended by Bob Weiner of Motorola |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
29 ;; Provided all commands from rmail-mode in rmail-summary-mode and made key |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
30 ;; bindings in both modes wholly compatible. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
31 |
|
2232
4f9d60f7de9d
Add standard library headers.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2164
diff
changeset
|
32 ;;; Code: |
|
4f9d60f7de9d
Add standard library headers.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2164
diff
changeset
|
33 |
| 12911 | 34 ;; For rmail-select-summary |
| 35 (require 'rmail) | |
| 36 | |
|
14940
9dceb7afbb68
(rmail-summary-scroll-between-messages): New var.
Richard M. Stallman <rms@gnu.org>
parents:
14786
diff
changeset
|
37 ;;;###autoload |
| 17631 | 38 (defcustom rmail-summary-scroll-between-messages t |
| 39 "*Non-nil means Rmail summary scroll commands move between messages." | |
| 40 :type 'boolean | |
| 41 :group 'rmail-summary) | |
|
14940
9dceb7afbb68
(rmail-summary-scroll-between-messages): New var.
Richard M. Stallman <rms@gnu.org>
parents:
14786
diff
changeset
|
42 |
|
16388
9f29d4bcdc98
(rmail-summary-line-count-p): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
16344
diff
changeset
|
43 ;;;###autoload |
| 17631 | 44 (defcustom rmail-summary-line-count-flag t |
| 45 "*Non-nil if Rmail summary should show the number of lines in each message." | |
| 46 :type 'boolean | |
| 47 :group 'rmail-summary) | |
|
16388
9f29d4bcdc98
(rmail-summary-line-count-p): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
16344
diff
changeset
|
48 |
|
9379
138d99e53e94
(rmail-summary-font-lock-keywords): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
9352
diff
changeset
|
49 (defvar rmail-summary-font-lock-keywords |
|
40155
c97b4697abed
(rmail-summary-font-lock-keywords): Fix the
Eli Zaretskii <eliz@gnu.org>
parents:
39567
diff
changeset
|
50 '(("^.....D.*" . font-lock-string-face) ; Deleted. |
|
c97b4697abed
(rmail-summary-font-lock-keywords): Fix the
Eli Zaretskii <eliz@gnu.org>
parents:
39567
diff
changeset
|
51 ("^.....-.*" . font-lock-type-face) ; Unread. |
|
9379
138d99e53e94
(rmail-summary-font-lock-keywords): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
9352
diff
changeset
|
52 ;; Neither of the below will be highlighted if either of the above are: |
|
40155
c97b4697abed
(rmail-summary-font-lock-keywords): Fix the
Eli Zaretskii <eliz@gnu.org>
parents:
39567
diff
changeset
|
53 ("^.....[^D-] \\(......\\)" 1 font-lock-keyword-face) ; Date. |
|
28180
f9268a210b0b
(rmail-summary-font-lock-keywords): Make sure the
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
26809
diff
changeset
|
54 ("{ \\([^\n}]+\\),}" 1 font-lock-comment-face)) ; Labels. |
|
9379
138d99e53e94
(rmail-summary-font-lock-keywords): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
9352
diff
changeset
|
55 "Additional expressions to highlight in Rmail Summary mode.") |
|
138d99e53e94
(rmail-summary-font-lock-keywords): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
9352
diff
changeset
|
56 |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
57 ;; Entry points for making a summary buffer. |
| 130 | 58 |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
59 ;; Regenerate the contents of the summary |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
60 ;; using the same selection criterion as last time. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
61 ;; M-x revert-buffer in a summary buffer calls this function. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
62 (defun rmail-update-summary (&rest ignore) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
63 (apply (car rmail-summary-redo) (cdr rmail-summary-redo))) |
| 130 | 64 |
|
16344
ec0f59ba6768
(rmail-summary-by-senders, rmail-summary): Add autoload.
Richard M. Stallman <rms@gnu.org>
parents:
16242
diff
changeset
|
65 ;;;###autoload |
| 130 | 66 (defun rmail-summary () |
| 67 "Display a summary of all messages, one line per message." | |
| 68 (interactive) | |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
69 (rmail-new-summary "All" '(rmail-summary) nil)) |
| 130 | 70 |
|
16344
ec0f59ba6768
(rmail-summary-by-senders, rmail-summary): Add autoload.
Richard M. Stallman <rms@gnu.org>
parents:
16242
diff
changeset
|
71 ;;;###autoload |
| 130 | 72 (defun rmail-summary-by-labels (labels) |
| 73 "Display a summary of all messages with one or more LABELS. | |
| 74 LABELS should be a string containing the desired labels, separated by commas." | |
| 75 (interactive "sLabels to summarize by: ") | |
| 76 (if (string= labels "") | |
| 77 (setq labels (or rmail-last-multi-labels | |
| 78 (error "No label specified")))) | |
| 79 (setq rmail-last-multi-labels labels) | |
| 80 (rmail-new-summary (concat "labels " labels) | |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
81 (list 'rmail-summary-by-labels labels) |
| 130 | 82 'rmail-message-labels-p |
| 83 (concat ", \\(" (mail-comma-list-regexp labels) "\\),"))) | |
| 84 | |
|
16344
ec0f59ba6768
(rmail-summary-by-senders, rmail-summary): Add autoload.
Richard M. Stallman <rms@gnu.org>
parents:
16242
diff
changeset
|
85 ;;;###autoload |
| 130 | 86 (defun rmail-summary-by-recipients (recipients &optional primary-only) |
| 87 "Display a summary of all messages with the given RECIPIENTS. | |
| 88 Normally checks the To, From and Cc fields of headers; | |
| 89 but if PRIMARY-ONLY is non-nil (prefix arg given), | |
| 90 only look in the To and From fields. | |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
91 RECIPIENTS is a string of regexps separated by commas." |
| 130 | 92 (interactive "sRecipients to summarize by: \nP") |
| 93 (rmail-new-summary | |
| 94 (concat "recipients " recipients) | |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
95 (list 'rmail-summary-by-recipients recipients primary-only) |
| 130 | 96 'rmail-message-recipients-p |
| 97 (mail-comma-list-regexp recipients) primary-only)) | |
| 98 | |
|
16344
ec0f59ba6768
(rmail-summary-by-senders, rmail-summary): Add autoload.
Richard M. Stallman <rms@gnu.org>
parents:
16242
diff
changeset
|
99 ;;;###autoload |
| 130 | 100 (defun rmail-summary-by-regexp (regexp) |
| 101 "Display a summary of all messages according to regexp REGEXP. | |
| 102 If the regular expression is found in the header of the message | |
| 103 \(including in the date and other lines, as well as the subject line), | |
| 104 Emacs will list the header line in the RMAIL-summary." | |
| 105 (interactive "sRegexp to summarize by: ") | |
| 106 (if (string= regexp "") | |
| 107 (setq regexp (or rmail-last-regexp | |
|
38412
253f761ad37b
Some fixes to follow coding conventions in files maintained by FSF.
Pavel Jan?k <Pavel@Janik.cz>
parents:
37955
diff
changeset
|
108 (error "No regexp specified")))) |
| 130 | 109 (setq rmail-last-regexp regexp) |
| 110 (rmail-new-summary (concat "regexp " regexp) | |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
111 (list 'rmail-summary-by-regexp regexp) |
| 130 | 112 'rmail-message-regexp-p |
| 113 regexp)) | |
| 114 | |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
115 ;; rmail-summary-by-topic |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
116 ;; 1989 R.A. Schnitzler |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
117 |
|
16344
ec0f59ba6768
(rmail-summary-by-senders, rmail-summary): Add autoload.
Richard M. Stallman <rms@gnu.org>
parents:
16242
diff
changeset
|
118 ;;;###autoload |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
119 (defun rmail-summary-by-topic (subject &optional whole-message) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
120 "Display a summary of all messages with the given SUBJECT. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
121 Normally checks the Subject field of headers; |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
122 but if WHOLE-MESSAGE is non-nil (prefix arg given), |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
123 look in the whole message. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
124 SUBJECT is a string of regexps separated by commas." |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
125 (interactive "sTopics to summarize by: \nP") |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
126 (rmail-new-summary |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
127 (concat "about " subject) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
128 (list 'rmail-summary-by-topic subject whole-message) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
129 'rmail-message-subject-p |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
130 (mail-comma-list-regexp subject) whole-message)) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
131 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
132 (defun rmail-message-subject-p (msg subject &optional whole-message) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
133 (save-restriction |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
134 (goto-char (rmail-msgbeg msg)) |
|
23612
61519017b94a
(rmail-message-subject-p):
Richard M. Stallman <rms@gnu.org>
parents:
23221
diff
changeset
|
135 (search-forward "\n*** EOOH ***\n" (rmail-msgend msg) 'move) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
136 (narrow-to-region |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
137 (point) |
|
3349
31390246a7a2
(rmail-message-subject-p): Fix typo in string constant.
Richard M. Stallman <rms@gnu.org>
parents:
3198
diff
changeset
|
138 (progn (search-forward (if whole-message "\^_" "\n\n")) (point))) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
139 (goto-char (point-min)) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
140 (if whole-message (re-search-forward subject nil t) |
|
37955
e1400bd914f0
(rmail-message-subject-p): Don't call
Gerd Moellmann <gerd@gnu.org>
parents:
37614
diff
changeset
|
141 (string-match subject (let ((subj (mail-fetch-field "Subject"))) |
|
e1400bd914f0
(rmail-message-subject-p): Don't call
Gerd Moellmann <gerd@gnu.org>
parents:
37614
diff
changeset
|
142 (if subj |
|
e1400bd914f0
(rmail-message-subject-p): Don't call
Gerd Moellmann <gerd@gnu.org>
parents:
37614
diff
changeset
|
143 (funcall rmail-summary-line-decoder subj) |
|
e1400bd914f0
(rmail-message-subject-p): Don't call
Gerd Moellmann <gerd@gnu.org>
parents:
37614
diff
changeset
|
144 "")))))) |
|
3443
7a15b35366f8
(rmail-summary-by-senders): New function.
Richard M. Stallman <rms@gnu.org>
parents:
3349
diff
changeset
|
145 |
|
16344
ec0f59ba6768
(rmail-summary-by-senders, rmail-summary): Add autoload.
Richard M. Stallman <rms@gnu.org>
parents:
16242
diff
changeset
|
146 ;;;###autoload |
|
3443
7a15b35366f8
(rmail-summary-by-senders): New function.
Richard M. Stallman <rms@gnu.org>
parents:
3349
diff
changeset
|
147 (defun rmail-summary-by-senders (senders) |
|
7a15b35366f8
(rmail-summary-by-senders): New function.
Richard M. Stallman <rms@gnu.org>
parents:
3349
diff
changeset
|
148 "Display a summary of all messages with the given SENDERS. |
|
7a15b35366f8
(rmail-summary-by-senders): New function.
Richard M. Stallman <rms@gnu.org>
parents:
3349
diff
changeset
|
149 SENDERS is a string of names separated by commas." |
|
7a15b35366f8
(rmail-summary-by-senders): New function.
Richard M. Stallman <rms@gnu.org>
parents:
3349
diff
changeset
|
150 (interactive "sSenders to summarize by: ") |
|
7a15b35366f8
(rmail-summary-by-senders): New function.
Richard M. Stallman <rms@gnu.org>
parents:
3349
diff
changeset
|
151 (rmail-new-summary |
|
7a15b35366f8
(rmail-summary-by-senders): New function.
Richard M. Stallman <rms@gnu.org>
parents:
3349
diff
changeset
|
152 (concat "senders " senders) |
|
5507
0a6c0e720ece
(rmail-summary-by-senders):
Richard M. Stallman <rms@gnu.org>
parents:
5370
diff
changeset
|
153 (list 'rmail-summary-by-senders senders) |
|
3443
7a15b35366f8
(rmail-summary-by-senders): New function.
Richard M. Stallman <rms@gnu.org>
parents:
3349
diff
changeset
|
154 'rmail-message-senders-p |
|
7a15b35366f8
(rmail-summary-by-senders): New function.
Richard M. Stallman <rms@gnu.org>
parents:
3349
diff
changeset
|
155 (mail-comma-list-regexp senders))) |
|
7a15b35366f8
(rmail-summary-by-senders): New function.
Richard M. Stallman <rms@gnu.org>
parents:
3349
diff
changeset
|
156 |
|
7a15b35366f8
(rmail-summary-by-senders): New function.
Richard M. Stallman <rms@gnu.org>
parents:
3349
diff
changeset
|
157 (defun rmail-message-senders-p (msg senders) |
|
7a15b35366f8
(rmail-summary-by-senders): New function.
Richard M. Stallman <rms@gnu.org>
parents:
3349
diff
changeset
|
158 (save-restriction |
|
7a15b35366f8
(rmail-summary-by-senders): New function.
Richard M. Stallman <rms@gnu.org>
parents:
3349
diff
changeset
|
159 (goto-char (rmail-msgbeg msg)) |
|
7a15b35366f8
(rmail-summary-by-senders): New function.
Richard M. Stallman <rms@gnu.org>
parents:
3349
diff
changeset
|
160 (search-forward "\n*** EOOH ***\n") |
|
7a15b35366f8
(rmail-summary-by-senders): New function.
Richard M. Stallman <rms@gnu.org>
parents:
3349
diff
changeset
|
161 (narrow-to-region (point) (progn (search-forward "\n\n") (point))) |
|
7a15b35366f8
(rmail-summary-by-senders): New function.
Richard M. Stallman <rms@gnu.org>
parents:
3349
diff
changeset
|
162 (string-match senders (or (mail-fetch-field "From") "")))) |
| 130 | 163 |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
164 ;; General making of a summary buffer. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
165 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
166 (defvar rmail-summary-symbol-number 0) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
167 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
168 (defun rmail-new-summary (description redo-form function &rest args) |
| 130 | 169 "Create a summary of selected messages. |
| 170 DESCRIPTION makes part of the mode line of the summary buffer. | |
| 171 For each message, FUNCTION is applied to the message number and ARGS... | |
| 172 and if the result is non-nil, that message is included. | |
| 173 nil for FUNCTION means all messages." | |
| 174 (message "Computing summary lines...") | |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
175 (let (sumbuf mesg was-in-summary) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
176 (save-excursion |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
177 ;; Go to the Rmail buffer. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
178 (if (eq major-mode 'rmail-summary-mode) |
|
37614
17db314acfc2
(rmail-message-subject-p): Process the result
Gerd Moellmann <gerd@gnu.org>
parents:
37590
diff
changeset
|
179 (setq was-in-summary t)) |
|
17db314acfc2
(rmail-message-subject-p): Process the result
Gerd Moellmann <gerd@gnu.org>
parents:
37590
diff
changeset
|
180 (set-buffer rmail-buffer) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
181 ;; Find its summary buffer, or make one. |
|
3198
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
182 (setq sumbuf |
|
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
183 (if (and rmail-summary-buffer |
|
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
184 (buffer-name rmail-summary-buffer)) |
|
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
185 rmail-summary-buffer |
|
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
186 (generate-new-buffer (concat (buffer-name) "-summary")))) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
187 (setq mesg rmail-current-message) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
188 ;; Filter the messages; make or get their summary lines. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
189 (let ((summary-msgs ()) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
190 (new-summary-line-count 0)) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
191 (let ((msgnum 1) |
|
6762
f77de1e2b48b
(rmail-new-summary): Avoid unsafe save-restriction.
Karl Heuer <kwzh@gnu.org>
parents:
6726
diff
changeset
|
192 (buffer-read-only nil) |
|
f77de1e2b48b
(rmail-new-summary): Avoid unsafe save-restriction.
Karl Heuer <kwzh@gnu.org>
parents:
6726
diff
changeset
|
193 (old-min (point-min-marker)) |
|
f77de1e2b48b
(rmail-new-summary): Avoid unsafe save-restriction.
Karl Heuer <kwzh@gnu.org>
parents:
6726
diff
changeset
|
194 (old-max (point-max-marker))) |
|
f77de1e2b48b
(rmail-new-summary): Avoid unsafe save-restriction.
Karl Heuer <kwzh@gnu.org>
parents:
6726
diff
changeset
|
195 ;; Can't use save-restriction here; that doesn't work if we |
|
f77de1e2b48b
(rmail-new-summary): Avoid unsafe save-restriction.
Karl Heuer <kwzh@gnu.org>
parents:
6726
diff
changeset
|
196 ;; plan to modify text outside the original restriction. |
|
f77de1e2b48b
(rmail-new-summary): Avoid unsafe save-restriction.
Karl Heuer <kwzh@gnu.org>
parents:
6726
diff
changeset
|
197 (save-excursion |
|
f77de1e2b48b
(rmail-new-summary): Avoid unsafe save-restriction.
Karl Heuer <kwzh@gnu.org>
parents:
6726
diff
changeset
|
198 (widen) |
|
f77de1e2b48b
(rmail-new-summary): Avoid unsafe save-restriction.
Karl Heuer <kwzh@gnu.org>
parents:
6726
diff
changeset
|
199 (goto-char (point-min)) |
|
f77de1e2b48b
(rmail-new-summary): Avoid unsafe save-restriction.
Karl Heuer <kwzh@gnu.org>
parents:
6726
diff
changeset
|
200 (while (>= rmail-total-messages msgnum) |
|
f77de1e2b48b
(rmail-new-summary): Avoid unsafe save-restriction.
Karl Heuer <kwzh@gnu.org>
parents:
6726
diff
changeset
|
201 (if (or (null function) |
|
f77de1e2b48b
(rmail-new-summary): Avoid unsafe save-restriction.
Karl Heuer <kwzh@gnu.org>
parents:
6726
diff
changeset
|
202 (apply function (cons msgnum args))) |
|
f77de1e2b48b
(rmail-new-summary): Avoid unsafe save-restriction.
Karl Heuer <kwzh@gnu.org>
parents:
6726
diff
changeset
|
203 (setq summary-msgs |
|
f77de1e2b48b
(rmail-new-summary): Avoid unsafe save-restriction.
Karl Heuer <kwzh@gnu.org>
parents:
6726
diff
changeset
|
204 (cons (cons msgnum (rmail-make-summary-line msgnum)) |
|
f77de1e2b48b
(rmail-new-summary): Avoid unsafe save-restriction.
Karl Heuer <kwzh@gnu.org>
parents:
6726
diff
changeset
|
205 summary-msgs))) |
|
f77de1e2b48b
(rmail-new-summary): Avoid unsafe save-restriction.
Karl Heuer <kwzh@gnu.org>
parents:
6726
diff
changeset
|
206 (setq msgnum (1+ msgnum))) |
|
f77de1e2b48b
(rmail-new-summary): Avoid unsafe save-restriction.
Karl Heuer <kwzh@gnu.org>
parents:
6726
diff
changeset
|
207 (setq summary-msgs (nreverse summary-msgs))) |
|
f77de1e2b48b
(rmail-new-summary): Avoid unsafe save-restriction.
Karl Heuer <kwzh@gnu.org>
parents:
6726
diff
changeset
|
208 (narrow-to-region old-min old-max)) |
|
3198
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
209 ;; Temporarily, while summary buffer is unfinished, |
|
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
210 ;; we "don't have" a summary. |
|
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
211 (setq rmail-summary-buffer nil) |
|
37614
17db314acfc2
(rmail-message-subject-p): Process the result
Gerd Moellmann <gerd@gnu.org>
parents:
37590
diff
changeset
|
212 (if rmail-enable-mime |
|
17db314acfc2
(rmail-message-subject-p): Process the result
Gerd Moellmann <gerd@gnu.org>
parents:
37590
diff
changeset
|
213 (with-current-buffer rmail-view-buffer |
|
17db314acfc2
(rmail-message-subject-p): Process the result
Gerd Moellmann <gerd@gnu.org>
parents:
37590
diff
changeset
|
214 (setq rmail-summary-buffer nil))) |
|
3198
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
215 (save-excursion |
|
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
216 (let ((rbuf (current-buffer)) |
|
17096
4a2d9b3990e3
(rmail-new-summary): Setup rmail-view-buffer.
Kenichi Handa <handa@m17n.org>
parents:
16676
diff
changeset
|
217 (vbuf rmail-view-buffer) |
|
3198
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
218 (total rmail-total-messages)) |
|
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
219 (set-buffer sumbuf) |
|
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
220 ;; Set up the summary buffer's contents. |
|
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
221 (let ((buffer-read-only nil)) |
|
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
222 (erase-buffer) |
|
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
223 (while summary-msgs |
|
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
224 (princ (cdr (car summary-msgs)) sumbuf) |
|
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
225 (setq summary-msgs (cdr summary-msgs))) |
|
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
226 (goto-char (point-min))) |
|
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
227 ;; Set up the rest of its state and local variables. |
|
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
228 (setq buffer-read-only t) |
|
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
229 (rmail-summary-mode) |
|
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
230 (make-local-variable 'minor-mode-alist) |
|
15409
feee0ea235db
(rmail-new-summary): Fix typo; (concat ": " description) should be eval'ed.
Richard M. Stallman <rms@gnu.org>
parents:
14940
diff
changeset
|
231 (setq minor-mode-alist (list (list t (concat ": " description)))) |
|
3198
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
232 (setq rmail-buffer rbuf |
|
17096
4a2d9b3990e3
(rmail-new-summary): Setup rmail-view-buffer.
Kenichi Handa <handa@m17n.org>
parents:
16676
diff
changeset
|
233 rmail-view-buffer vbuf |
|
3198
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
234 rmail-summary-redo redo-form |
|
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
235 rmail-total-messages total)))) |
|
18612999f80c
(rmail-new-summary): Set rmail-summary-buffer
Richard M. Stallman <rms@gnu.org>
parents:
3100
diff
changeset
|
236 (setq rmail-summary-buffer sumbuf)) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
237 ;; Now display the summary buffer and go to the right place in it. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
238 (or was-in-summary |
| 12911 | 239 (progn |
| 240 (if (and (one-window-p) | |
| 241 pop-up-windows (not pop-up-frames)) | |
| 242 ;; If there is just one window, put the summary on the top. | |
| 243 (progn | |
| 244 (split-window (selected-window) rmail-summary-window-size) | |
| 245 (select-window (next-window (frame-first-window))) | |
| 246 (pop-to-buffer sumbuf) | |
| 247 ;; If pop-to-buffer did not use that window, delete that | |
| 248 ;; window. (This can happen if it uses another frame.) | |
| 249 (if (not (eq sumbuf (window-buffer (frame-first-window)))) | |
| 250 (delete-other-windows))) | |
| 251 (pop-to-buffer sumbuf)) | |
| 252 (set-buffer rmail-buffer) | |
| 253 ;; This is how rmail makes the summary buffer reappear. | |
| 254 ;; We do this here to make the window the proper size. | |
| 255 (rmail-select-summary nil) | |
| 256 (set-buffer rmail-summary-buffer))) | |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
257 (rmail-summary-goto-msg mesg t t) |
|
12877
e5a2fab50a4b
(rmail-new-summary): Enable the Input/output menu.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
258 (rmail-summary-construct-io-menu) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
259 (message "Computing summary lines...done"))) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
260 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
261 ;; Low levels of generating a summary. |
| 130 | 262 |
| 263 (defun rmail-make-summary-line (msg) | |
| 264 (let ((line (or (aref rmail-summary-vector (1- msg)) | |
| 265 (progn | |
| 266 (setq new-summary-line-count | |
| 267 (1+ new-summary-line-count)) | |
| 268 (if (zerop (% new-summary-line-count 10)) | |
| 269 (message "Computing summary lines...%d" | |
| 270 new-summary-line-count)) | |
| 271 (rmail-make-summary-line-1 msg))))) | |
| 272 ;; Fix up the part of the summary that says "deleted" or "unseen". | |
| 39567 | 273 (aset line 5 |
| 130 | 274 (if (rmail-message-deleted-p msg) ?\D |
| 275 (if (= ?0 (char-after (+ 3 (rmail-msgbeg msg)))) | |
| 276 ?\- ?\ ))) | |
| 277 line)) | |
| 278 | |
|
17096
4a2d9b3990e3
(rmail-new-summary): Setup rmail-view-buffer.
Kenichi Handa <handa@m17n.org>
parents:
16676
diff
changeset
|
279 ;;;###autoload |
| 17631 | 280 (defcustom rmail-summary-line-decoder (function identity) |
|
17096
4a2d9b3990e3
(rmail-new-summary): Setup rmail-view-buffer.
Kenichi Handa <handa@m17n.org>
parents:
16676
diff
changeset
|
281 "*Function to decode summary-line. |
|
4a2d9b3990e3
(rmail-new-summary): Setup rmail-view-buffer.
Kenichi Handa <handa@m17n.org>
parents:
16676
diff
changeset
|
282 |
| 17631 | 283 By default, `identity' is set." |
| 284 :type 'function | |
| 285 :group 'rmail-summary) | |
|
17096
4a2d9b3990e3
(rmail-new-summary): Setup rmail-view-buffer.
Kenichi Handa <handa@m17n.org>
parents:
16676
diff
changeset
|
286 |
| 130 | 287 (defun rmail-make-summary-line-1 (msg) |
| 288 (goto-char (rmail-msgbeg msg)) | |
| 289 (let* ((lim (save-excursion (forward-line 2) (point))) | |
| 290 pos | |
| 291 (labels | |
| 292 (progn | |
| 293 (forward-char 3) | |
| 294 (concat | |
| 295 ; (if (save-excursion (re-search-forward ",answered," lim t)) | |
| 296 ; "*" "") | |
| 297 ; (if (save-excursion (re-search-forward ",filed," lim t)) | |
| 298 ; "!" "") | |
| 299 (if (progn (search-forward ",,") (eolp)) | |
| 300 "" | |
| 301 (concat "{" | |
| 302 (buffer-substring (point) | |
| 303 (progn (end-of-line) (point))) | |
| 304 "} "))))) | |
| 305 (line | |
| 306 (progn | |
| 307 (forward-line 1) | |
| 308 (if (looking-at "Summary-line: ") | |
| 309 (progn | |
| 310 (goto-char (match-end 0)) | |
| 311 (setq line | |
| 312 (buffer-substring (point) | |
| 313 (progn (forward-line 1) (point))))))))) | |
| 314 ;; Obsolete status lines lacking a # should be flushed. | |
| 315 (and line | |
| 316 (not (string-match "#" line)) | |
| 317 (progn | |
| 318 (delete-region (point) | |
| 319 (progn (forward-line -1) (point))) | |
| 320 (setq line nil))) | |
| 321 ;; If we didn't get a valid status line from the message, | |
| 322 ;; make a new one and put it in the message. | |
| 323 (or line | |
| 324 (let* ((case-fold-search t) | |
| 325 (next (rmail-msgend msg)) | |
| 326 (beg (if (progn (goto-char (rmail-msgbeg msg)) | |
| 327 (search-forward "\n*** EOOH ***\n" next t)) | |
| 328 (point) | |
| 329 (forward-line 1) | |
| 330 (point))) | |
| 331 (end (progn (search-forward "\n\n" nil t) (point)))) | |
| 332 (save-restriction | |
| 333 (narrow-to-region beg end) | |
| 334 (goto-char beg) | |
| 335 (setq line (rmail-make-basic-summary-line))) | |
| 336 (goto-char (rmail-msgbeg msg)) | |
| 337 (forward-line 2) | |
| 338 (insert "Summary-line: " line))) | |
| 339 (setq pos (string-match "#" line)) | |
| 340 (aset rmail-summary-vector (1- msg) | |
|
17096
4a2d9b3990e3
(rmail-new-summary): Setup rmail-view-buffer.
Kenichi Handa <handa@m17n.org>
parents:
16676
diff
changeset
|
341 (funcall rmail-summary-line-decoder |
| 39567 | 342 (concat (format "%5d " msg) |
|
17096
4a2d9b3990e3
(rmail-new-summary): Setup rmail-view-buffer.
Kenichi Handa <handa@m17n.org>
parents:
16676
diff
changeset
|
343 (substring line 0 pos) |
|
4a2d9b3990e3
(rmail-new-summary): Setup rmail-view-buffer.
Kenichi Handa <handa@m17n.org>
parents:
16676
diff
changeset
|
344 labels |
|
4a2d9b3990e3
(rmail-new-summary): Setup rmail-view-buffer.
Kenichi Handa <handa@m17n.org>
parents:
16676
diff
changeset
|
345 (substring line (1+ pos))))) |
|
4a2d9b3990e3
(rmail-new-summary): Setup rmail-view-buffer.
Kenichi Handa <handa@m17n.org>
parents:
16676
diff
changeset
|
346 )) |
| 130 | 347 |
|
28487
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
348 ;;;###autoload |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
349 (defcustom rmail-user-mail-address-regexp nil |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
350 "*Regexp matching user mail addresses. |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
351 If non-nil, this variable is used to identify the correspondent |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
352 when receiving new mail. If it matches the address of the sender, |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
353 the recipient is taken as correspondent of a mail. |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
354 If nil \(default value\), your `user-login-name' and `user-mail-address' |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
355 are used to exclude yourself as correspondent. |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
356 |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
357 Usually you don't have to set this variable, except if you collect mails |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
358 sent by you under different user names. |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
359 Then it should be a regexp matching your mail adresses. |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
360 |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
361 Setting this variable has an effect only before reading a mail." |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
362 :type '(choice (const :tag "None" nil) regexp) |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
363 :group 'rmail-retrieve |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
364 :version "21.1") |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
365 |
| 130 | 366 (defun rmail-make-basic-summary-line () |
| 367 (goto-char (point-min)) | |
| 368 (concat (save-excursion | |
| 369 (if (not (re-search-forward "^Date:" nil t)) | |
| 370 " " | |
| 371 (cond ((re-search-forward "\\([^0-9:]\\)\\([0-3]?[0-9]\\)\\([- \t_]+\\)\\([adfjmnos][aceopu][bcglnprtvy]\\)" | |
| 372 (save-excursion (end-of-line) (point)) t) | |
| 373 (format "%2d-%3s" | |
| 374 (string-to-int (buffer-substring | |
| 375 (match-beginning 2) | |
| 376 (match-end 2))) | |
| 377 (buffer-substring | |
| 378 (match-beginning 4) (match-end 4)))) | |
| 379 ((re-search-forward "\\([^a-z]\\)\\([adfjmnos][acepou][bcglnprtvy]\\)\\([-a-z \t_]*\\)\\([0-9][0-9]?\\)" | |
| 380 (save-excursion (end-of-line) (point)) t) | |
| 381 (format "%2d-%3s" | |
| 382 (string-to-int (buffer-substring | |
| 383 (match-beginning 4) | |
| 384 (match-end 4))) | |
| 385 (buffer-substring | |
| 386 (match-beginning 2) (match-end 2)))) | |
|
15582
2066a7282df9
(rmail-make-basic-summary-line): Accept ISO 8601 dates as well.
Miles Bader <miles@gnu.org>
parents:
15509
diff
changeset
|
387 ((re-search-forward "\\(19\\|20\\)\\([0-9][0-9]\\)-\\([01][0-9]\\)-\\([0-3][0-9]\\)" |
|
2066a7282df9
(rmail-make-basic-summary-line): Accept ISO 8601 dates as well.
Miles Bader <miles@gnu.org>
parents:
15509
diff
changeset
|
388 (save-excursion (end-of-line) (point)) t) |
|
2066a7282df9
(rmail-make-basic-summary-line): Accept ISO 8601 dates as well.
Miles Bader <miles@gnu.org>
parents:
15509
diff
changeset
|
389 (format "%2s%2s%2s" |
|
2066a7282df9
(rmail-make-basic-summary-line): Accept ISO 8601 dates as well.
Miles Bader <miles@gnu.org>
parents:
15509
diff
changeset
|
390 (buffer-substring |
|
2066a7282df9
(rmail-make-basic-summary-line): Accept ISO 8601 dates as well.
Miles Bader <miles@gnu.org>
parents:
15509
diff
changeset
|
391 (match-beginning 2) (match-end 2)) |
|
2066a7282df9
(rmail-make-basic-summary-line): Accept ISO 8601 dates as well.
Miles Bader <miles@gnu.org>
parents:
15509
diff
changeset
|
392 (buffer-substring |
|
2066a7282df9
(rmail-make-basic-summary-line): Accept ISO 8601 dates as well.
Miles Bader <miles@gnu.org>
parents:
15509
diff
changeset
|
393 (match-beginning 3) (match-end 3)) |
|
2066a7282df9
(rmail-make-basic-summary-line): Accept ISO 8601 dates as well.
Miles Bader <miles@gnu.org>
parents:
15509
diff
changeset
|
394 (buffer-substring |
|
2066a7282df9
(rmail-make-basic-summary-line): Accept ISO 8601 dates as well.
Miles Bader <miles@gnu.org>
parents:
15509
diff
changeset
|
395 (match-beginning 4) (match-end 4)))) |
| 130 | 396 (t "??????")))) |
| 397 " " | |
| 398 (save-excursion | |
| 399 (if (not (re-search-forward "^From:[ \t]*" nil t)) | |
| 400 " " | |
| 401 (let* ((from (mail-strip-quoted-names | |
| 402 (buffer-substring | |
| 403 (1- (point)) | |
|
7421
6f9af07c5783
(rmail-make-basic-summary-line): Get all the lines of the From field.
Richard M. Stallman <rms@gnu.org>
parents:
7368
diff
changeset
|
404 ;; Get all the lines of the From field |
|
6f9af07c5783
(rmail-make-basic-summary-line): Get all the lines of the From field.
Richard M. Stallman <rms@gnu.org>
parents:
7368
diff
changeset
|
405 ;; so that we get a whole comment if there is one, |
|
6f9af07c5783
(rmail-make-basic-summary-line): Get all the lines of the From field.
Richard M. Stallman <rms@gnu.org>
parents:
7368
diff
changeset
|
406 ;; so that mail-strip-quoted-names can discard it. |
|
6f9af07c5783
(rmail-make-basic-summary-line): Get all the lines of the From field.
Richard M. Stallman <rms@gnu.org>
parents:
7368
diff
changeset
|
407 (let ((opoint (point))) |
|
6f9af07c5783
(rmail-make-basic-summary-line): Get all the lines of the From field.
Richard M. Stallman <rms@gnu.org>
parents:
7368
diff
changeset
|
408 (while (progn (forward-line 1) |
|
6f9af07c5783
(rmail-make-basic-summary-line): Get all the lines of the From field.
Richard M. Stallman <rms@gnu.org>
parents:
7368
diff
changeset
|
409 (looking-at "[ \t]"))) |
|
6f9af07c5783
(rmail-make-basic-summary-line): Get all the lines of the From field.
Richard M. Stallman <rms@gnu.org>
parents:
7368
diff
changeset
|
410 ;; Back up over newline, then trailing spaces or tabs |
|
6f9af07c5783
(rmail-make-basic-summary-line): Get all the lines of the From field.
Richard M. Stallman <rms@gnu.org>
parents:
7368
diff
changeset
|
411 (forward-char -1) |
|
6f9af07c5783
(rmail-make-basic-summary-line): Get all the lines of the From field.
Richard M. Stallman <rms@gnu.org>
parents:
7368
diff
changeset
|
412 (skip-chars-backward " \t") |
|
6f9af07c5783
(rmail-make-basic-summary-line): Get all the lines of the From field.
Richard M. Stallman <rms@gnu.org>
parents:
7368
diff
changeset
|
413 (point))))) |
|
6f9af07c5783
(rmail-make-basic-summary-line): Get all the lines of the From field.
Richard M. Stallman <rms@gnu.org>
parents:
7368
diff
changeset
|
414 len mch lo) |
|
28487
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
415 (if (string-match |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
416 (or rmail-user-mail-address-regexp |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
417 (concat "^\\(" |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
418 (regexp-quote (user-login-name)) |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
419 "\\($\\|@\\)\\|" |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
420 (regexp-quote |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
421 ;; Don't lose if run from init file |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
422 ;; where user-mail-address is not |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
423 ;; set yet. |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
424 (or user-mail-address |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
425 (concat (user-login-name) "@" |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
426 (or mail-host-address |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
427 (system-name))))) |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
428 "\\>\\)")) |
|
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
429 from) |
| 130 | 430 (save-excursion |
| 431 (goto-char (point-min)) | |
| 432 (if (not (re-search-forward "^To:[ \t]*" nil t)) | |
| 433 nil | |
| 434 (setq from | |
| 435 (concat "to: " | |
| 436 (mail-strip-quoted-names | |
| 437 (buffer-substring | |
| 438 (point) | |
| 439 (progn (end-of-line) | |
| 440 (skip-chars-backward " \t") | |
| 441 (point))))))))) | |
| 442 (setq len (length from)) | |
| 443 (setq mch (string-match "[@%]" from)) | |
| 444 (format "%25s" | |
| 445 (if (or (not mch) (<= len 25)) | |
| 446 (substring from (max 0 (- len 25))) | |
| 447 (substring from | |
|
7368
5e3d372d6016
(rmail-make-basic-summary-line): Show 14 chars before @ and 11 after.
Richard M. Stallman <rms@gnu.org>
parents:
7298
diff
changeset
|
448 (setq lo (cond ((< (- mch 14) 0) 0) |
|
5e3d372d6016
(rmail-make-basic-summary-line): Show 14 chars before @ and 11 after.
Richard M. Stallman <rms@gnu.org>
parents:
7298
diff
changeset
|
449 ((< len (+ mch 11)) |
| 130 | 450 (- len 25)) |
|
7368
5e3d372d6016
(rmail-make-basic-summary-line): Show 14 chars before @ and 11 after.
Richard M. Stallman <rms@gnu.org>
parents:
7298
diff
changeset
|
451 (t (- mch 14)))) |
| 130 | 452 (min len (+ lo 25)))))))) |
|
16389
30e3d4ddca44
(rmail-summary-line-count-flag): Renamed from rmail-summary-line-count-p.
Richard M. Stallman <rms@gnu.org>
parents:
16388
diff
changeset
|
453 (if rmail-summary-line-count-flag |
|
16388
9f29d4bcdc98
(rmail-summary-line-count-p): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
16344
diff
changeset
|
454 (save-excursion |
|
9f29d4bcdc98
(rmail-summary-line-count-p): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
16344
diff
changeset
|
455 (save-restriction |
|
9f29d4bcdc98
(rmail-summary-line-count-p): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
16344
diff
changeset
|
456 (widen) |
|
9f29d4bcdc98
(rmail-summary-line-count-p): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
16344
diff
changeset
|
457 (let ((beg (rmail-msgbeg msgnum)) |
|
9f29d4bcdc98
(rmail-summary-line-count-p): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
16344
diff
changeset
|
458 (end (rmail-msgend msgnum)) |
|
9f29d4bcdc98
(rmail-summary-line-count-p): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
16344
diff
changeset
|
459 lines) |
|
9f29d4bcdc98
(rmail-summary-line-count-p): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
16344
diff
changeset
|
460 (save-excursion |
|
9f29d4bcdc98
(rmail-summary-line-count-p): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
16344
diff
changeset
|
461 (goto-char beg) |
|
9f29d4bcdc98
(rmail-summary-line-count-p): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
16344
diff
changeset
|
462 ;; Count only lines in the reformatted header, |
|
9f29d4bcdc98
(rmail-summary-line-count-p): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
16344
diff
changeset
|
463 ;; if we have reformatted it. |
|
9f29d4bcdc98
(rmail-summary-line-count-p): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
16344
diff
changeset
|
464 (search-forward "\n*** EOOH ***\n" end t) |
|
9f29d4bcdc98
(rmail-summary-line-count-p): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
16344
diff
changeset
|
465 (setq lines (count-lines (point) end))) |
|
9f29d4bcdc98
(rmail-summary-line-count-p): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
16344
diff
changeset
|
466 (format (cond |
|
9f29d4bcdc98
(rmail-summary-line-count-p): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
16344
diff
changeset
|
467 ((<= lines 9) " [%d]") |
|
9f29d4bcdc98
(rmail-summary-line-count-p): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
16344
diff
changeset
|
468 ((<= lines 99) " [%d]") |
|
9f29d4bcdc98
(rmail-summary-line-count-p): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
16344
diff
changeset
|
469 ((<= lines 999) " [%3d]") |
|
9f29d4bcdc98
(rmail-summary-line-count-p): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
16344
diff
changeset
|
470 (t "[%d]")) |
|
9f29d4bcdc98
(rmail-summary-line-count-p): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
16344
diff
changeset
|
471 lines)))) |
|
9f29d4bcdc98
(rmail-summary-line-count-p): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
16344
diff
changeset
|
472 " ") |
|
14681
27bbf45f3393
(rmail-make-basic-summary-line): Fix previous change.
Erik Naggum <erik@naggum.no>
parents:
14675
diff
changeset
|
473 " #" ;The # is part of the format. |
| 130 | 474 (if (re-search-forward "^Subject:" nil t) |
| 475 (progn (skip-chars-forward " \t") | |
| 476 (buffer-substring (point) | |
| 477 (progn (end-of-line) | |
| 478 (point)))) | |
| 479 (re-search-forward "[\n][\n]+" nil t) | |
| 480 (buffer-substring (point) (progn (end-of-line) (point)))) | |
| 481 "\n")) | |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
482 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
483 ;; Simple motion in a summary buffer. |
| 130 | 484 |
| 485 (defun rmail-summary-next-all (&optional number) | |
| 486 (interactive "p") | |
|
2164
6e276a32aef1
(rmail-summary-next-msg): Call display-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2077
diff
changeset
|
487 (forward-line (if number number 1)) |
|
9540
cde03222210e
(rmail-summary-previous-all)
Richard M. Stallman <rms@gnu.org>
parents:
9482
diff
changeset
|
488 ;; It doesn't look nice to move forward past the last message line. |
|
cde03222210e
(rmail-summary-previous-all)
Richard M. Stallman <rms@gnu.org>
parents:
9482
diff
changeset
|
489 (and (eobp) (> number 0) |
|
cde03222210e
(rmail-summary-previous-all)
Richard M. Stallman <rms@gnu.org>
parents:
9482
diff
changeset
|
490 (forward-line -1)) |
|
2164
6e276a32aef1
(rmail-summary-next-msg): Call display-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2077
diff
changeset
|
491 (display-buffer rmail-buffer)) |
| 130 | 492 |
| 493 (defun rmail-summary-previous-all (&optional number) | |
| 494 (interactive "p") | |
|
2164
6e276a32aef1
(rmail-summary-next-msg): Call display-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2077
diff
changeset
|
495 (forward-line (- (if number number 1))) |
|
9540
cde03222210e
(rmail-summary-previous-all)
Richard M. Stallman <rms@gnu.org>
parents:
9482
diff
changeset
|
496 ;; It doesn't look nice to move forward past the last message line. |
|
cde03222210e
(rmail-summary-previous-all)
Richard M. Stallman <rms@gnu.org>
parents:
9482
diff
changeset
|
497 (and (eobp) (< number 0) |
|
cde03222210e
(rmail-summary-previous-all)
Richard M. Stallman <rms@gnu.org>
parents:
9482
diff
changeset
|
498 (forward-line -1)) |
|
2164
6e276a32aef1
(rmail-summary-next-msg): Call display-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2077
diff
changeset
|
499 (display-buffer rmail-buffer)) |
| 130 | 500 |
| 501 (defun rmail-summary-next-msg (&optional number) | |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
502 "Display next non-deleted msg from rmail file. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
503 With optional prefix argument NUMBER, moves forward this number of non-deleted |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
504 messages, or backward if NUMBER is negative." |
| 130 | 505 (interactive "p") |
| 506 (forward-line 0) | |
|
3466
c8f52c44d9a4
(rmail-summary-expunge-and-save): Do save-buffer last.
Richard M. Stallman <rms@gnu.org>
parents:
3461
diff
changeset
|
507 (and (> number 0) (end-of-line)) |
| 130 | 508 (let ((count (if (< number 0) (- number) number)) |
| 509 (search (if (> number 0) 're-search-forward 're-search-backward)) | |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
510 (non-del-msg-found nil)) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
511 (while (and (> count 0) (setq non-del-msg-found |
|
3509
a1ef317ceb18
(rmail-summary-next-msg): Fix number of dots in regexp.
Richard M. Stallman <rms@gnu.org>
parents:
3466
diff
changeset
|
512 (or (funcall search "^....[^D]" nil t) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
513 non-del-msg-found))) |
|
2164
6e276a32aef1
(rmail-summary-next-msg): Call display-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2077
diff
changeset
|
514 (setq count (1- count)))) |
|
3466
c8f52c44d9a4
(rmail-summary-expunge-and-save): Do save-buffer last.
Richard M. Stallman <rms@gnu.org>
parents:
3461
diff
changeset
|
515 (beginning-of-line) |
|
17096
4a2d9b3990e3
(rmail-new-summary): Setup rmail-view-buffer.
Kenichi Handa <handa@m17n.org>
parents:
16676
diff
changeset
|
516 (display-buffer rmail-view-buffer) |
|
4a2d9b3990e3
(rmail-new-summary): Setup rmail-view-buffer.
Kenichi Handa <handa@m17n.org>
parents:
16676
diff
changeset
|
517 ) |
| 130 | 518 |
| 519 (defun rmail-summary-previous-msg (&optional number) | |
| 520 (interactive "p") | |
| 521 (rmail-summary-next-msg (- (if number number 1)))) | |
| 522 | |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
523 (defun rmail-summary-next-labeled-message (n labels) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
524 "Show next message with LABEL. Defaults to last labels used. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
525 With prefix argument N moves forward N messages with these labels." |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
526 (interactive "p\nsMove to next msg with labels: ") |
|
15658
996e272e9192
(rmail-summary-next-labeled-message)
Karl Heuer <kwzh@gnu.org>
parents:
15645
diff
changeset
|
527 (let (msg) |
|
996e272e9192
(rmail-summary-next-labeled-message)
Karl Heuer <kwzh@gnu.org>
parents:
15645
diff
changeset
|
528 (save-excursion |
|
996e272e9192
(rmail-summary-next-labeled-message)
Karl Heuer <kwzh@gnu.org>
parents:
15645
diff
changeset
|
529 (set-buffer rmail-buffer) |
|
996e272e9192
(rmail-summary-next-labeled-message)
Karl Heuer <kwzh@gnu.org>
parents:
15645
diff
changeset
|
530 (rmail-next-labeled-message n labels) |
|
996e272e9192
(rmail-summary-next-labeled-message)
Karl Heuer <kwzh@gnu.org>
parents:
15645
diff
changeset
|
531 (setq msg rmail-current-message)) |
|
996e272e9192
(rmail-summary-next-labeled-message)
Karl Heuer <kwzh@gnu.org>
parents:
15645
diff
changeset
|
532 (rmail-summary-goto-msg msg))) |
| 130 | 533 |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
534 (defun rmail-summary-previous-labeled-message (n labels) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
535 "Show previous message with LABEL. Defaults to last labels used. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
536 With prefix argument N moves backward N messages with these labels." |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
537 (interactive "p\nsMove to previous msg with labels: ") |
|
15658
996e272e9192
(rmail-summary-next-labeled-message)
Karl Heuer <kwzh@gnu.org>
parents:
15645
diff
changeset
|
538 (let (msg) |
|
996e272e9192
(rmail-summary-next-labeled-message)
Karl Heuer <kwzh@gnu.org>
parents:
15645
diff
changeset
|
539 (save-excursion |
|
996e272e9192
(rmail-summary-next-labeled-message)
Karl Heuer <kwzh@gnu.org>
parents:
15645
diff
changeset
|
540 (set-buffer rmail-buffer) |
|
996e272e9192
(rmail-summary-next-labeled-message)
Karl Heuer <kwzh@gnu.org>
parents:
15645
diff
changeset
|
541 (rmail-previous-labeled-message n labels) |
|
996e272e9192
(rmail-summary-next-labeled-message)
Karl Heuer <kwzh@gnu.org>
parents:
15645
diff
changeset
|
542 (setq msg rmail-current-message)) |
|
996e272e9192
(rmail-summary-next-labeled-message)
Karl Heuer <kwzh@gnu.org>
parents:
15645
diff
changeset
|
543 (rmail-summary-goto-msg msg))) |
|
10663
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
544 |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
545 (defun rmail-summary-next-same-subject (n) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
546 "Go to the next message in the summary having the same subject. |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
547 With prefix argument N, do this N times. |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
548 If N is negative, go backwards." |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
549 (interactive "p") |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
550 (let (subject search-regexp i found |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
551 (forward (> n 0))) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
552 (save-excursion |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
553 (set-buffer rmail-buffer) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
554 (setq subject (mail-fetch-field "Subject")) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
555 (setq i rmail-current-message)) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
556 (if (string-match "Re:[ \t]*" subject) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
557 (setq subject (substring subject (match-end 0)))) |
|
16242
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
558 (setq search-regexp (concat "^Subject: *\\(Re: *\\)?" |
|
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
559 (regexp-quote subject) |
|
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
560 "\n")) |
|
10663
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
561 (save-excursion |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
562 (while (and (/= n 0) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
563 (if forward |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
564 (not (eobp)) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
565 (not (bobp)))) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
566 (let (done) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
567 (while (and (not done) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
568 (if forward |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
569 (not (eobp)) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
570 (not (bobp)))) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
571 ;; Advance thru summary. |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
572 (forward-line (if forward 1 -1)) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
573 ;; Get msg number of this line. |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
574 (setq i (string-to-int |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
575 (buffer-substring (point) |
| 39567 | 576 (min (point-max) (+ 6 (point)))))) |
|
10663
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
577 ;; See if that msg has desired subject. |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
578 (save-excursion |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
579 (set-buffer rmail-buffer) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
580 (save-restriction |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
581 (widen) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
582 (goto-char (rmail-msgbeg i)) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
583 (search-forward "\n*** EOOH ***\n") |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
584 (let ((beg (point)) end) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
585 (search-forward "\n\n") |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
586 (setq end (point)) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
587 (goto-char beg) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
588 (setq done (re-search-forward search-regexp end t)))))) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
589 (if done (setq found i))) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
590 (setq n (if forward (1- n) (1+ n))))) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
591 (if found |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
592 (rmail-summary-goto-msg found) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
593 (error "No %s message with same subject" |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
594 (if forward "following" "previous"))))) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
595 |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
596 (defun rmail-summary-previous-same-subject (n) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
597 "Go to the previous message in the summary having the same subject. |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
598 With prefix argument N, do this N times. |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
599 If N is negative, go forwards instead." |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
600 (interactive "p") |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
601 (rmail-summary-next-same-subject (- n))) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
602 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
603 ;; Delete and undelete summary commands. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
604 |
|
17484
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
605 (defun rmail-summary-delete-forward (&optional count) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
606 "Delete this message and move to next nondeleted one. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
607 Deleted messages stay in the file until the \\[rmail-expunge] command is given. |
|
17484
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
608 A prefix argument serves as a repeat count; |
|
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
609 a negative argument means to delete and move backward." |
|
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
610 (interactive "p") |
|
17867
4b87104dcbc7
(rmail-summary-delete-forward): Force the
Richard M. Stallman <rms@gnu.org>
parents:
17631
diff
changeset
|
611 (unless (numberp count) (setq count 1)) |
|
17484
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
612 (let (end del-msg |
|
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
613 (backward (< count 0))) |
|
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
614 (while (/= count 0) |
|
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
615 (rmail-summary-goto-msg) |
|
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
616 (with-current-buffer rmail-buffer |
|
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
617 (rmail-delete-message) |
|
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
618 (setq del-msg rmail-current-message)) |
|
5370
45ed020959f1
(rmail-summary-delete-forward): Move to next or prev msg
Richard M. Stallman <rms@gnu.org>
parents:
5275
diff
changeset
|
619 (rmail-summary-mark-deleted del-msg) |
|
45ed020959f1
(rmail-summary-delete-forward): Move to next or prev msg
Richard M. Stallman <rms@gnu.org>
parents:
5275
diff
changeset
|
620 (while (and (not (if backward (bobp) (eobp))) |
|
5514
8112b5b2651b
(rmail-summary-delete-forward): Fix regexp
Richard M. Stallman <rms@gnu.org>
parents:
5507
diff
changeset
|
621 (save-excursion (beginning-of-line) |
|
9151
02bee4d2de9a
(rmail-summary-delete-forward): Regexp for recognizing deleted message
Richard M. Stallman <rms@gnu.org>
parents:
8997
diff
changeset
|
622 (looking-at " *[0-9]+D"))) |
|
9545
0773b7048206
(rmail-summary-delete-forward): Don't move fwd to eob.
Richard M. Stallman <rms@gnu.org>
parents:
9540
diff
changeset
|
623 (forward-line (if backward -1 1))) |
|
0773b7048206
(rmail-summary-delete-forward): Don't move fwd to eob.
Richard M. Stallman <rms@gnu.org>
parents:
9540
diff
changeset
|
624 ;; It looks ugly to move to the empty line at end of buffer. |
|
0773b7048206
(rmail-summary-delete-forward): Don't move fwd to eob.
Richard M. Stallman <rms@gnu.org>
parents:
9540
diff
changeset
|
625 (and (eobp) (not backward) |
|
17484
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
626 (forward-line -1)) |
|
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
627 (setq count |
|
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
628 (if (> count 0) (1- count) (1+ count)))))) |
| 130 | 629 |
|
17484
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
630 (defun rmail-summary-delete-backward (&optional count) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
631 "Delete this message and move to previous nondeleted one. |
|
17484
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
632 Deleted messages stay in the file until the \\[rmail-expunge] command is given. |
|
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
633 A prefix argument serves as a repeat count; |
|
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
634 a negative argument means to delete and move forward." |
|
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
635 (interactive "p") |
|
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
636 (rmail-summary-delete-forward (- count))) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
637 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
638 (defun rmail-summary-mark-deleted (&optional n undel) |
|
14293
87b4bd8fea26
(rmail-make-basic-summary-line): Include msg line number.
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
639 ;; Since third arg is t, this only alters the summary, not the Rmail buf. |
|
3100
eb6ae6faff24
(rmail-summary-mark-deleted): Check for end of buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2233
diff
changeset
|
640 (and n (rmail-summary-goto-msg n t t)) |
|
eb6ae6faff24
(rmail-summary-mark-deleted): Check for end of buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2233
diff
changeset
|
641 (or (eobp) |
|
10489
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
642 (not (overlay-get rmail-summary-overlay 'face)) |
|
3100
eb6ae6faff24
(rmail-summary-mark-deleted): Check for end of buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2233
diff
changeset
|
643 (let ((buffer-read-only nil)) |
|
eb6ae6faff24
(rmail-summary-mark-deleted): Check for end of buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2233
diff
changeset
|
644 (skip-chars-forward " ") |
|
eb6ae6faff24
(rmail-summary-mark-deleted): Check for end of buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2233
diff
changeset
|
645 (skip-chars-forward "[0-9]") |
|
eb6ae6faff24
(rmail-summary-mark-deleted): Check for end of buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2233
diff
changeset
|
646 (if undel |
|
eb6ae6faff24
(rmail-summary-mark-deleted): Check for end of buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2233
diff
changeset
|
647 (if (looking-at "D") |
|
eb6ae6faff24
(rmail-summary-mark-deleted): Check for end of buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2233
diff
changeset
|
648 (progn (delete-char 1) (insert " "))) |
|
eb6ae6faff24
(rmail-summary-mark-deleted): Check for end of buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2233
diff
changeset
|
649 (delete-char 1) |
|
eb6ae6faff24
(rmail-summary-mark-deleted): Check for end of buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2233
diff
changeset
|
650 (insert "D")))) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
651 (beginning-of-line)) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
652 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
653 (defun rmail-summary-mark-undeleted (n) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
654 (rmail-summary-mark-deleted n t)) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
655 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
656 (defun rmail-summary-deleted-p (&optional n) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
657 (save-excursion |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
658 (and n (rmail-summary-goto-msg n nil t)) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
659 (skip-chars-forward " ") |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
660 (skip-chars-forward "[0-9]") |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
661 (looking-at "D"))) |
| 130 | 662 |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
663 (defun rmail-summary-undelete (&optional arg) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
664 "Undelete current message. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
665 Optional prefix ARG means undelete ARG previous messages." |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
666 (interactive "p") |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
667 (if (/= arg 1) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
668 (rmail-summary-undelete-many arg) |
|
5678
3824222fed2e
(rmail-summary-undelete): If we don't undelete anything, don't move point.
Richard M. Stallman <rms@gnu.org>
parents:
5514
diff
changeset
|
669 (let ((buffer-read-only nil) |
|
3824222fed2e
(rmail-summary-undelete): If we don't undelete anything, don't move point.
Richard M. Stallman <rms@gnu.org>
parents:
5514
diff
changeset
|
670 (opoint (point))) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
671 (end-of-line) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
672 (cond ((re-search-backward "\\(^ *[0-9]*\\)\\(D\\)" nil t) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
673 (replace-match "\\1 ") |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
674 (rmail-summary-goto-msg) |
|
37614
17db314acfc2
(rmail-message-subject-p): Process the result
Gerd Moellmann <gerd@gnu.org>
parents:
37590
diff
changeset
|
675 (if rmail-enable-mime |
|
17db314acfc2
(rmail-message-subject-p): Process the result
Gerd Moellmann <gerd@gnu.org>
parents:
37590
diff
changeset
|
676 (set-buffer rmail-buffer) |
|
17db314acfc2
(rmail-message-subject-p): Process the result
Gerd Moellmann <gerd@gnu.org>
parents:
37590
diff
changeset
|
677 (pop-to-buffer rmail-buffer)) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
678 (and (rmail-message-deleted-p rmail-current-message) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
679 (rmail-undelete-previous-message)) |
|
37614
17db314acfc2
(rmail-message-subject-p): Process the result
Gerd Moellmann <gerd@gnu.org>
parents:
37590
diff
changeset
|
680 (if rmail-enable-mime |
|
17db314acfc2
(rmail-message-subject-p): Process the result
Gerd Moellmann <gerd@gnu.org>
parents:
37590
diff
changeset
|
681 (pop-to-buffer rmail-view-buffer)) |
|
5678
3824222fed2e
(rmail-summary-undelete): If we don't undelete anything, don't move point.
Richard M. Stallman <rms@gnu.org>
parents:
5514
diff
changeset
|
682 (pop-to-buffer rmail-summary-buffer)) |
|
3824222fed2e
(rmail-summary-undelete): If we don't undelete anything, don't move point.
Richard M. Stallman <rms@gnu.org>
parents:
5514
diff
changeset
|
683 (t (goto-char opoint)))))) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
684 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
685 (defun rmail-summary-undelete-many (&optional n) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
686 "Undelete all deleted msgs, optional prefix arg N means undelete N prev msgs." |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
687 (interactive "P") |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
688 (save-excursion |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
689 (set-buffer rmail-buffer) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
690 (let* ((init-msg (if n rmail-current-message rmail-total-messages)) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
691 (rmail-current-message init-msg) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
692 (n (or n rmail-total-messages)) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
693 (msgs-undeled 0)) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
694 (while (and (> rmail-current-message 0) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
695 (< msgs-undeled n)) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
696 (if (rmail-message-deleted-p rmail-current-message) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
697 (progn (rmail-set-attribute "deleted" nil) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
698 (setq msgs-undeled (1+ msgs-undeled)))) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
699 (setq rmail-current-message (1- rmail-current-message))) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
700 (set-buffer rmail-summary-buffer) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
701 (setq rmail-current-message init-msg msgs-undeled 0) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
702 (while (and (> rmail-current-message 0) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
703 (< msgs-undeled n)) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
704 (if (rmail-summary-deleted-p rmail-current-message) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
705 (progn (rmail-summary-mark-undeleted rmail-current-message) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
706 (setq msgs-undeled (1+ msgs-undeled)))) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
707 (setq rmail-current-message (1- rmail-current-message)))) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
708 (rmail-summary-goto-msg))) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
709 |
| 130 | 710 ;; Rmail Summary mode is suitable only for specially formatted data. |
| 711 (put 'rmail-summary-mode 'mode-class 'special) | |
| 712 | |
| 713 (defun rmail-summary-mode () | |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
714 "Rmail Summary Mode is invoked from Rmail Mode by using \\<rmail-mode-map>\\[rmail-summary]. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
715 As commands are issued in the summary buffer, they are applied to the |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
716 corresponding mail messages in the rmail buffer. |
| 130 | 717 |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
718 All normal editing commands are turned off. |
|
5121
864d3ca7f2b6
(rmail-summary-wipe): If rmail buffer is not visible,
Richard M. Stallman <rms@gnu.org>
parents:
5006
diff
changeset
|
719 Instead, nearly all the Rmail mode commands are available, |
|
864d3ca7f2b6
(rmail-summary-wipe): If rmail buffer is not visible,
Richard M. Stallman <rms@gnu.org>
parents:
5006
diff
changeset
|
720 though many of them move only among the messages in the summary. |
|
864d3ca7f2b6
(rmail-summary-wipe): If rmail buffer is not visible,
Richard M. Stallman <rms@gnu.org>
parents:
5006
diff
changeset
|
721 |
|
864d3ca7f2b6
(rmail-summary-wipe): If rmail buffer is not visible,
Richard M. Stallman <rms@gnu.org>
parents:
5006
diff
changeset
|
722 These additional commands exist: |
|
864d3ca7f2b6
(rmail-summary-wipe): If rmail buffer is not visible,
Richard M. Stallman <rms@gnu.org>
parents:
5006
diff
changeset
|
723 |
|
864d3ca7f2b6
(rmail-summary-wipe): If rmail buffer is not visible,
Richard M. Stallman <rms@gnu.org>
parents:
5006
diff
changeset
|
724 \\[rmail-summary-undelete-many] Undelete all or prefix arg deleted messages. |
|
864d3ca7f2b6
(rmail-summary-wipe): If rmail buffer is not visible,
Richard M. Stallman <rms@gnu.org>
parents:
5006
diff
changeset
|
725 \\[rmail-summary-wipe] Delete the summary and go to the Rmail buffer. |
| 130 | 726 |
|
5121
864d3ca7f2b6
(rmail-summary-wipe): If rmail buffer is not visible,
Richard M. Stallman <rms@gnu.org>
parents:
5006
diff
changeset
|
727 Commands for sorting the summary: |
|
864d3ca7f2b6
(rmail-summary-wipe): If rmail buffer is not visible,
Richard M. Stallman <rms@gnu.org>
parents:
5006
diff
changeset
|
728 |
|
864d3ca7f2b6
(rmail-summary-wipe): If rmail buffer is not visible,
Richard M. Stallman <rms@gnu.org>
parents:
5006
diff
changeset
|
729 \\[rmail-summary-sort-by-date] Sort by date. |
|
864d3ca7f2b6
(rmail-summary-wipe): If rmail buffer is not visible,
Richard M. Stallman <rms@gnu.org>
parents:
5006
diff
changeset
|
730 \\[rmail-summary-sort-by-subject] Sort by subject. |
|
864d3ca7f2b6
(rmail-summary-wipe): If rmail buffer is not visible,
Richard M. Stallman <rms@gnu.org>
parents:
5006
diff
changeset
|
731 \\[rmail-summary-sort-by-author] Sort by author. |
|
864d3ca7f2b6
(rmail-summary-wipe): If rmail buffer is not visible,
Richard M. Stallman <rms@gnu.org>
parents:
5006
diff
changeset
|
732 \\[rmail-summary-sort-by-recipient] Sort by recipient. |
|
864d3ca7f2b6
(rmail-summary-wipe): If rmail buffer is not visible,
Richard M. Stallman <rms@gnu.org>
parents:
5006
diff
changeset
|
733 \\[rmail-summary-sort-by-correspondent] Sort by correspondent. |
|
6717
2121bf252398
(rmail-summary-sort-by-keywords): New function.
Karl Heuer <kwzh@gnu.org>
parents:
6688
diff
changeset
|
734 \\[rmail-summary-sort-by-lines] Sort by lines. |
|
37590
003e23c611eb
(rmail-summary-sort-by-labels): Renamed
Gerd Moellmann <gerd@gnu.org>
parents:
36746
diff
changeset
|
735 \\[rmail-summary-sort-by-labels] Sort by labels." |
| 130 | 736 (interactive) |
| 737 (kill-all-local-variables) | |
| 738 (setq major-mode 'rmail-summary-mode) | |
| 739 (setq mode-name "RMAIL Summary") | |
| 740 (setq truncate-lines t) | |
| 741 (setq buffer-read-only t) | |
| 742 (set-syntax-table text-mode-syntax-table) | |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
743 (make-local-variable 'rmail-buffer) |
|
17096
4a2d9b3990e3
(rmail-new-summary): Setup rmail-view-buffer.
Kenichi Handa <handa@m17n.org>
parents:
16676
diff
changeset
|
744 (make-local-variable 'rmail-view-buffer) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
745 (make-local-variable 'rmail-total-messages) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
746 (make-local-variable 'rmail-current-message) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
747 (setq rmail-current-message nil) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
748 (make-local-variable 'rmail-summary-redo) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
749 (setq rmail-summary-redo nil) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
750 (make-local-variable 'revert-buffer-function) |
|
9482
7330d8566c13
* rmailsum.el: (rmail-summary-mode): Set font-lock-defaults.
Simon Marshall <simon@gnu.org>
parents:
9448
diff
changeset
|
751 (make-local-variable 'font-lock-defaults) |
|
7330d8566c13
* rmailsum.el: (rmail-summary-mode): Set font-lock-defaults.
Simon Marshall <simon@gnu.org>
parents:
9448
diff
changeset
|
752 (setq font-lock-defaults '(rmail-summary-font-lock-keywords t)) |
|
6724
6728ad7f85e9
(rmail-summary-disable): New function.
Karl Heuer <kwzh@gnu.org>
parents:
6717
diff
changeset
|
753 (rmail-summary-enable) |
| 130 | 754 (run-hooks 'rmail-summary-mode-hook)) |
| 755 | |
|
6724
6728ad7f85e9
(rmail-summary-disable): New function.
Karl Heuer <kwzh@gnu.org>
parents:
6717
diff
changeset
|
756 ;; Summary features need to be disabled during edit mode. |
|
6728ad7f85e9
(rmail-summary-disable): New function.
Karl Heuer <kwzh@gnu.org>
parents:
6717
diff
changeset
|
757 (defun rmail-summary-disable () |
| 6726 | 758 (use-local-map text-mode-map) |
|
14362
55ffd73831cb
Use make-local-hook for post-command-hook
Simon Marshall <simon@gnu.org>
parents:
14293
diff
changeset
|
759 (remove-hook 'post-command-hook 'rmail-summary-rmail-update t) |
| 6726 | 760 (setq revert-buffer-function nil)) |
|
6724
6728ad7f85e9
(rmail-summary-disable): New function.
Karl Heuer <kwzh@gnu.org>
parents:
6717
diff
changeset
|
761 |
|
6728ad7f85e9
(rmail-summary-disable): New function.
Karl Heuer <kwzh@gnu.org>
parents:
6717
diff
changeset
|
762 (defun rmail-summary-enable () |
| 6726 | 763 (use-local-map rmail-summary-mode-map) |
|
14362
55ffd73831cb
Use make-local-hook for post-command-hook
Simon Marshall <simon@gnu.org>
parents:
14293
diff
changeset
|
764 (add-hook 'post-command-hook 'rmail-summary-rmail-update nil t) |
| 6726 | 765 (setq revert-buffer-function 'rmail-update-summary)) |
|
6724
6728ad7f85e9
(rmail-summary-disable): New function.
Karl Heuer <kwzh@gnu.org>
parents:
6717
diff
changeset
|
766 |
|
16242
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
767 (defvar rmail-summary-put-back-unseen nil |
|
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
768 "Used for communicating between calls to `rmail-summary-rmail-update'. |
|
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
769 If it moves to a message within an Incremental Search, and removes |
|
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
770 the `unseen' attribute from that message, it sets this flag |
|
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
771 so that if the next motion between messages is in the same Incremental |
|
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
772 Search, the `unseen' attribute is restored.") |
|
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
773 |
|
2164
6e276a32aef1
(rmail-summary-next-msg): Call display-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2077
diff
changeset
|
774 ;; Show in Rmail the message described by the summary line that point is on, |
|
6e276a32aef1
(rmail-summary-next-msg): Call display-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2077
diff
changeset
|
775 ;; but only if the Rmail buffer is already visible. |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
776 ;; This is a post-command-hook in summary buffers. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
777 (defun rmail-summary-rmail-update () |
|
6961
666f11765323
(rmail-summary-rmail-update): Update rmail buffer even if it isn't displayed.
Karl Heuer <kwzh@gnu.org>
parents:
6762
diff
changeset
|
778 (let (buffer-read-only) |
|
666f11765323
(rmail-summary-rmail-update): Update rmail buffer even if it isn't displayed.
Karl Heuer <kwzh@gnu.org>
parents:
6762
diff
changeset
|
779 (save-excursion |
|
666f11765323
(rmail-summary-rmail-update): Update rmail buffer even if it isn't displayed.
Karl Heuer <kwzh@gnu.org>
parents:
6762
diff
changeset
|
780 ;; If at end of buffer, pretend we are on the last text line. |
|
666f11765323
(rmail-summary-rmail-update): Update rmail buffer even if it isn't displayed.
Karl Heuer <kwzh@gnu.org>
parents:
6762
diff
changeset
|
781 (if (eobp) |
|
666f11765323
(rmail-summary-rmail-update): Update rmail buffer even if it isn't displayed.
Karl Heuer <kwzh@gnu.org>
parents:
6762
diff
changeset
|
782 (forward-line -1)) |
|
666f11765323
(rmail-summary-rmail-update): Update rmail buffer even if it isn't displayed.
Karl Heuer <kwzh@gnu.org>
parents:
6762
diff
changeset
|
783 (beginning-of-line) |
|
666f11765323
(rmail-summary-rmail-update): Update rmail buffer even if it isn't displayed.
Karl Heuer <kwzh@gnu.org>
parents:
6762
diff
changeset
|
784 (skip-chars-forward " ") |
|
666f11765323
(rmail-summary-rmail-update): Update rmail buffer even if it isn't displayed.
Karl Heuer <kwzh@gnu.org>
parents:
6762
diff
changeset
|
785 (let ((msg-num (string-to-int (buffer-substring |
|
666f11765323
(rmail-summary-rmail-update): Update rmail buffer even if it isn't displayed.
Karl Heuer <kwzh@gnu.org>
parents:
6762
diff
changeset
|
786 (point) |
|
666f11765323
(rmail-summary-rmail-update): Update rmail buffer even if it isn't displayed.
Karl Heuer <kwzh@gnu.org>
parents:
6762
diff
changeset
|
787 (progn (skip-chars-forward "0-9") |
|
666f11765323
(rmail-summary-rmail-update): Update rmail buffer even if it isn't displayed.
Karl Heuer <kwzh@gnu.org>
parents:
6762
diff
changeset
|
788 (point)))))) |
|
16242
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
789 ;; Always leave `unseen' removed |
|
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
790 ;; if we get out of isearch mode. |
|
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
791 ;; Don't let a subsequent isearch restore that `unseen'. |
|
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
792 (if (not isearch-mode) |
|
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
793 (setq rmail-summary-put-back-unseen nil)) |
|
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
794 |
|
6961
666f11765323
(rmail-summary-rmail-update): Update rmail buffer even if it isn't displayed.
Karl Heuer <kwzh@gnu.org>
parents:
6762
diff
changeset
|
795 (or (eq rmail-current-message msg-num) |
|
20081
cf2733572fa7
(rmail-summary-rmail-update): When looking for
Karl Heuer <kwzh@gnu.org>
parents:
19570
diff
changeset
|
796 (let ((window (get-buffer-window rmail-view-buffer t)) |
|
6961
666f11765323
(rmail-summary-rmail-update): Update rmail buffer even if it isn't displayed.
Karl Heuer <kwzh@gnu.org>
parents:
6762
diff
changeset
|
797 (owin (selected-window))) |
|
16242
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
798 (if isearch-mode |
|
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
799 (save-excursion |
|
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
800 (set-buffer rmail-buffer) |
|
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
801 ;; If we first saw the previous message in this search, |
|
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
802 ;; and we have gone to a different message while searching, |
|
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
803 ;; put back `unseen' on the former one. |
|
22352
312d6d72be14
(rmail-summary-rmail-update): Set message
Karl Heuer <kwzh@gnu.org>
parents:
22203
diff
changeset
|
804 (if rmail-summary-put-back-unseen |
|
22546
8322a6923140
(rmail-summary-rmail-update): Fix indentation.
Karl Heuer <kwzh@gnu.org>
parents:
22352
diff
changeset
|
805 (rmail-set-attribute "unseen" t |
|
8322a6923140
(rmail-summary-rmail-update): Fix indentation.
Karl Heuer <kwzh@gnu.org>
parents:
22352
diff
changeset
|
806 rmail-current-message)) |
|
16242
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
807 ;; Arrange to do that later, for the new current message, |
|
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
808 ;; if it still has `unseen'. |
|
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
809 (setq rmail-summary-put-back-unseen |
|
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
810 (rmail-message-labels-p msg-num ", ?\\(unseen\\),"))) |
|
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
811 (setq rmail-summary-put-back-unseen nil)) |
|
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
812 |
|
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
813 ;; Go to the desired message. |
|
6961
666f11765323
(rmail-summary-rmail-update): Update rmail buffer even if it isn't displayed.
Karl Heuer <kwzh@gnu.org>
parents:
6762
diff
changeset
|
814 (setq rmail-current-message msg-num) |
|
16242
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
815 |
|
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
816 ;; Update the summary to show the message has been seen. |
|
6961
666f11765323
(rmail-summary-rmail-update): Update rmail buffer even if it isn't displayed.
Karl Heuer <kwzh@gnu.org>
parents:
6762
diff
changeset
|
817 (if (= (following-char) ?-) |
|
666f11765323
(rmail-summary-rmail-update): Update rmail buffer even if it isn't displayed.
Karl Heuer <kwzh@gnu.org>
parents:
6762
diff
changeset
|
818 (progn |
|
666f11765323
(rmail-summary-rmail-update): Update rmail buffer even if it isn't displayed.
Karl Heuer <kwzh@gnu.org>
parents:
6762
diff
changeset
|
819 (delete-char 1) |
|
666f11765323
(rmail-summary-rmail-update): Update rmail buffer even if it isn't displayed.
Karl Heuer <kwzh@gnu.org>
parents:
6762
diff
changeset
|
820 (insert " "))) |
|
16242
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
821 |
|
6961
666f11765323
(rmail-summary-rmail-update): Update rmail buffer even if it isn't displayed.
Karl Heuer <kwzh@gnu.org>
parents:
6762
diff
changeset
|
822 (if window |
|
666f11765323
(rmail-summary-rmail-update): Update rmail buffer even if it isn't displayed.
Karl Heuer <kwzh@gnu.org>
parents:
6762
diff
changeset
|
823 ;; Using save-window-excursion would cause the new value |
|
3461
1dec1449324d
(rmail-summary-expunge-and-save):
Richard M. Stallman <rms@gnu.org>
parents:
3443
diff
changeset
|
824 ;; of point to get lost. |
|
1dec1449324d
(rmail-summary-expunge-and-save):
Richard M. Stallman <rms@gnu.org>
parents:
3443
diff
changeset
|
825 (unwind-protect |
|
1dec1449324d
(rmail-summary-expunge-and-save):
Richard M. Stallman <rms@gnu.org>
parents:
3443
diff
changeset
|
826 (progn |
|
1dec1449324d
(rmail-summary-expunge-and-save):
Richard M. Stallman <rms@gnu.org>
parents:
3443
diff
changeset
|
827 (select-window window) |
|
9432
a8cd4563a8ae
(rmail-summary-rmail-update): Pass new arg to rmail-show-message.
Richard M. Stallman <rms@gnu.org>
parents:
9379
diff
changeset
|
828 (rmail-show-message msg-num t)) |
|
6961
666f11765323
(rmail-summary-rmail-update): Update rmail buffer even if it isn't displayed.
Karl Heuer <kwzh@gnu.org>
parents:
6762
diff
changeset
|
829 (select-window owin)) |
|
8635
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
830 (if (buffer-name rmail-buffer) |
|
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
831 (save-excursion |
|
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
832 (set-buffer rmail-buffer) |
|
10489
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
833 (rmail-show-message msg-num t)))))) |
|
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
834 (rmail-summary-update-highlight nil))))) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
835 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
836 (defvar rmail-summary-mode-map nil) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
837 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
838 (if rmail-summary-mode-map |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
839 nil |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
840 (setq rmail-summary-mode-map (make-keymap)) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
841 (suppress-keymap rmail-summary-mode-map) |
|
19111
e561070ee48c
(rmail-summary-mouse-goto-message): New function.
Richard M. Stallman <rms@gnu.org>
parents:
17867
diff
changeset
|
842 |
|
e561070ee48c
(rmail-summary-mouse-goto-message): New function.
Richard M. Stallman <rms@gnu.org>
parents:
17867
diff
changeset
|
843 (define-key rmail-summary-mode-map [mouse-2] 'rmail-summary-mouse-goto-message) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
844 (define-key rmail-summary-mode-map "a" 'rmail-summary-add-label) |
|
15488
fd4273de8c97
(rmail-summary-bury): New function.
Richard M. Stallman <rms@gnu.org>
parents:
15409
diff
changeset
|
845 (define-key rmail-summary-mode-map "b" 'rmail-summary-bury) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
846 (define-key rmail-summary-mode-map "c" 'rmail-summary-continue) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
847 (define-key rmail-summary-mode-map "d" 'rmail-summary-delete-forward) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
848 (define-key rmail-summary-mode-map "\C-d" 'rmail-summary-delete-backward) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
849 (define-key rmail-summary-mode-map "e" 'rmail-summary-edit-current-message) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
850 (define-key rmail-summary-mode-map "f" 'rmail-summary-forward) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
851 (define-key rmail-summary-mode-map "g" 'rmail-summary-get-new-mail) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
852 (define-key rmail-summary-mode-map "h" 'rmail-summary) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
853 (define-key rmail-summary-mode-map "i" 'rmail-summary-input) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
854 (define-key rmail-summary-mode-map "j" 'rmail-summary-goto-msg) |
|
26809
db949b28b6b4
(rmail-summary-mode-map): Bind RET to rmail-summary-goto-msg.
Gerd Moellmann <gerd@gnu.org>
parents:
24849
diff
changeset
|
855 (define-key rmail-summary-mode-map "\C-m" 'rmail-summary-goto-msg) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
856 (define-key rmail-summary-mode-map "k" 'rmail-summary-kill-label) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
857 (define-key rmail-summary-mode-map "l" 'rmail-summary-by-labels) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
858 (define-key rmail-summary-mode-map "\e\C-h" 'rmail-summary) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
859 (define-key rmail-summary-mode-map "\e\C-l" 'rmail-summary-by-labels) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
860 (define-key rmail-summary-mode-map "\e\C-r" 'rmail-summary-by-recipients) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
861 (define-key rmail-summary-mode-map "\e\C-s" 'rmail-summary-by-regexp) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
862 (define-key rmail-summary-mode-map "\e\C-t" 'rmail-summary-by-topic) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
863 (define-key rmail-summary-mode-map "m" 'rmail-summary-mail) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
864 (define-key rmail-summary-mode-map "\M-m" 'rmail-summary-retry-failure) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
865 (define-key rmail-summary-mode-map "n" 'rmail-summary-next-msg) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
866 (define-key rmail-summary-mode-map "\en" 'rmail-summary-next-all) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
867 (define-key rmail-summary-mode-map "\e\C-n" 'rmail-summary-next-labeled-message) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
868 (define-key rmail-summary-mode-map "o" 'rmail-summary-output-to-rmail-file) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
869 (define-key rmail-summary-mode-map "\C-o" 'rmail-summary-output) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
870 (define-key rmail-summary-mode-map "p" 'rmail-summary-previous-msg) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
871 (define-key rmail-summary-mode-map "\ep" 'rmail-summary-previous-all) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
872 (define-key rmail-summary-mode-map "\e\C-p" 'rmail-summary-previous-labeled-message) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
873 (define-key rmail-summary-mode-map "q" 'rmail-summary-quit) |
|
22203
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
874 (define-key rmail-summary-mode-map "Q" 'rmail-summary-wipe) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
875 (define-key rmail-summary-mode-map "r" 'rmail-summary-reply) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
876 (define-key rmail-summary-mode-map "s" 'rmail-summary-expunge-and-save) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
877 (define-key rmail-summary-mode-map "\es" 'rmail-summary-search) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
878 (define-key rmail-summary-mode-map "t" 'rmail-summary-toggle-header) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
879 (define-key rmail-summary-mode-map "u" 'rmail-summary-undelete) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
880 (define-key rmail-summary-mode-map "\M-u" 'rmail-summary-undelete-many) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
881 (define-key rmail-summary-mode-map "x" 'rmail-summary-expunge) |
|
22203
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
882 (define-key rmail-summary-mode-map "w" 'rmail-summary-output-body) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
883 (define-key rmail-summary-mode-map "." 'rmail-summary-beginning-of-message) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
884 (define-key rmail-summary-mode-map "<" 'rmail-summary-first-message) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
885 (define-key rmail-summary-mode-map ">" 'rmail-summary-last-message) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
886 (define-key rmail-summary-mode-map " " 'rmail-summary-scroll-msg-up) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
887 (define-key rmail-summary-mode-map "\177" 'rmail-summary-scroll-msg-down) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
888 (define-key rmail-summary-mode-map "?" 'describe-mode) |
|
10663
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
889 (define-key rmail-summary-mode-map "\C-c\C-n" 'rmail-summary-next-same-subject) |
|
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
890 (define-key rmail-summary-mode-map "\C-c\C-p" 'rmail-summary-previous-same-subject) |
|
3879
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
891 (define-key rmail-summary-mode-map "\C-c\C-s\C-d" |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
892 'rmail-summary-sort-by-date) |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
893 (define-key rmail-summary-mode-map "\C-c\C-s\C-s" |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
894 'rmail-summary-sort-by-subject) |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
895 (define-key rmail-summary-mode-map "\C-c\C-s\C-a" |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
896 'rmail-summary-sort-by-author) |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
897 (define-key rmail-summary-mode-map "\C-c\C-s\C-r" |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
898 'rmail-summary-sort-by-recipient) |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
899 (define-key rmail-summary-mode-map "\C-c\C-s\C-c" |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
900 'rmail-summary-sort-by-correspondent) |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
901 (define-key rmail-summary-mode-map "\C-c\C-s\C-l" |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
902 'rmail-summary-sort-by-lines) |
|
6717
2121bf252398
(rmail-summary-sort-by-keywords): New function.
Karl Heuer <kwzh@gnu.org>
parents:
6688
diff
changeset
|
903 (define-key rmail-summary-mode-map "\C-c\C-s\C-k" |
|
37590
003e23c611eb
(rmail-summary-sort-by-labels): Renamed
Gerd Moellmann <gerd@gnu.org>
parents:
36746
diff
changeset
|
904 'rmail-summary-sort-by-labels) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
905 ) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
906 |
|
3862
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
907 ;;; Menu bar bindings. |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
908 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
909 (define-key rmail-summary-mode-map [menu-bar] (make-sparse-keymap)) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
910 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
911 (define-key rmail-summary-mode-map [menu-bar classify] |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
912 (cons "Classify" (make-sparse-keymap "Classify"))) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
913 |
|
8635
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
914 (define-key rmail-summary-mode-map [menu-bar classify output-menu] |
|
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
915 '("Output (Rmail Menu)..." . rmail-summary-output-menu)) |
|
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
916 |
|
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
917 (define-key rmail-summary-mode-map [menu-bar classify input-menu] |
|
12033
f7638ab47de7
Fix capitalization in menu bar.
Karl Heuer <kwzh@gnu.org>
parents:
11519
diff
changeset
|
918 '("Input Rmail File (menu)..." . rmail-input-menu)) |
|
8635
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
919 |
|
8911
3abf3f2ef6cf
(rmail-summary-construct-io-menu): New function.
Richard M. Stallman <rms@gnu.org>
parents:
8728
diff
changeset
|
920 (define-key rmail-summary-mode-map [menu-bar classify input-menu] |
|
3abf3f2ef6cf
(rmail-summary-construct-io-menu): New function.
Richard M. Stallman <rms@gnu.org>
parents:
8728
diff
changeset
|
921 '(nil)) |
|
3abf3f2ef6cf
(rmail-summary-construct-io-menu): New function.
Richard M. Stallman <rms@gnu.org>
parents:
8728
diff
changeset
|
922 |
|
3abf3f2ef6cf
(rmail-summary-construct-io-menu): New function.
Richard M. Stallman <rms@gnu.org>
parents:
8728
diff
changeset
|
923 (define-key rmail-summary-mode-map [menu-bar classify output-menu] |
|
3abf3f2ef6cf
(rmail-summary-construct-io-menu): New function.
Richard M. Stallman <rms@gnu.org>
parents:
8728
diff
changeset
|
924 '(nil)) |
|
3abf3f2ef6cf
(rmail-summary-construct-io-menu): New function.
Richard M. Stallman <rms@gnu.org>
parents:
8728
diff
changeset
|
925 |
|
22203
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
926 (define-key rmail-summary-mode-map [menu-bar classify output-body] |
|
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
927 '("Output (body)..." . rmail-summary-output-body)) |
|
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
928 |
|
3862
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
929 (define-key rmail-summary-mode-map [menu-bar classify output-inbox] |
|
8422
bfdf6de7fddb
(rmail-summary-mode-map): Add `...' where appropriate.
Richard M. Stallman <rms@gnu.org>
parents:
8421
diff
changeset
|
930 '("Output (inbox)..." . rmail-summary-output)) |
|
3862
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
931 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
932 (define-key rmail-summary-mode-map [menu-bar classify output] |
|
8422
bfdf6de7fddb
(rmail-summary-mode-map): Add `...' where appropriate.
Richard M. Stallman <rms@gnu.org>
parents:
8421
diff
changeset
|
933 '("Output (Rmail)..." . rmail-summary-output-to-rmail-file)) |
|
3862
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
934 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
935 (define-key rmail-summary-mode-map [menu-bar classify kill-label] |
|
8422
bfdf6de7fddb
(rmail-summary-mode-map): Add `...' where appropriate.
Richard M. Stallman <rms@gnu.org>
parents:
8421
diff
changeset
|
936 '("Kill Label..." . rmail-summary-kill-label)) |
|
3862
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
937 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
938 (define-key rmail-summary-mode-map [menu-bar classify add-label] |
|
8422
bfdf6de7fddb
(rmail-summary-mode-map): Add `...' where appropriate.
Richard M. Stallman <rms@gnu.org>
parents:
8421
diff
changeset
|
939 '("Add Label..." . rmail-summary-add-label)) |
|
3862
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
940 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
941 (define-key rmail-summary-mode-map [menu-bar summary] |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
942 (cons "Summary" (make-sparse-keymap "Summary"))) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
943 |
|
15509
015c38409ce5
(rmail-summary-mode-map): Add rmail-summary-by-senders.
Richard M. Stallman <rms@gnu.org>
parents:
15488
diff
changeset
|
944 (define-key rmail-summary-mode-map [menu-bar summary senders] |
|
015c38409ce5
(rmail-summary-mode-map): Add rmail-summary-by-senders.
Richard M. Stallman <rms@gnu.org>
parents:
15488
diff
changeset
|
945 '("By Senders..." . rmail-summary-by-senders)) |
|
015c38409ce5
(rmail-summary-mode-map): Add rmail-summary-by-senders.
Richard M. Stallman <rms@gnu.org>
parents:
15488
diff
changeset
|
946 |
|
3862
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
947 (define-key rmail-summary-mode-map [menu-bar summary labels] |
|
8422
bfdf6de7fddb
(rmail-summary-mode-map): Add `...' where appropriate.
Richard M. Stallman <rms@gnu.org>
parents:
8421
diff
changeset
|
948 '("By Labels..." . rmail-summary-by-labels)) |
|
3862
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
949 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
950 (define-key rmail-summary-mode-map [menu-bar summary recipients] |
|
8422
bfdf6de7fddb
(rmail-summary-mode-map): Add `...' where appropriate.
Richard M. Stallman <rms@gnu.org>
parents:
8421
diff
changeset
|
951 '("By Recipients..." . rmail-summary-by-recipients)) |
|
3862
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
952 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
953 (define-key rmail-summary-mode-map [menu-bar summary topic] |
|
8422
bfdf6de7fddb
(rmail-summary-mode-map): Add `...' where appropriate.
Richard M. Stallman <rms@gnu.org>
parents:
8421
diff
changeset
|
954 '("By Topic..." . rmail-summary-by-topic)) |
|
3862
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
955 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
956 (define-key rmail-summary-mode-map [menu-bar summary regexp] |
|
8422
bfdf6de7fddb
(rmail-summary-mode-map): Add `...' where appropriate.
Richard M. Stallman <rms@gnu.org>
parents:
8421
diff
changeset
|
957 '("By Regexp..." . rmail-summary-by-regexp)) |
|
3862
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
958 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
959 (define-key rmail-summary-mode-map [menu-bar summary all] |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
960 '("All" . rmail-summary)) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
961 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
962 (define-key rmail-summary-mode-map [menu-bar mail] |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
963 (cons "Mail" (make-sparse-keymap "Mail"))) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
964 |
|
8419
711098a43695
(rmail-summary-mode-map): Fix the Get New Mail entry.
Richard M. Stallman <rms@gnu.org>
parents:
8392
diff
changeset
|
965 (define-key rmail-summary-mode-map [menu-bar mail rmail-summary-get-new-mail] |
|
8392
f0e1008534c4
(rmail-summary-mode-map): Move new Re-send menu item to right place.
Richard M. Stallman <rms@gnu.org>
parents:
8385
diff
changeset
|
966 '("Get New Mail" . rmail-summary-get-new-mail)) |
|
f0e1008534c4
(rmail-summary-mode-map): Move new Re-send menu item to right place.
Richard M. Stallman <rms@gnu.org>
parents:
8385
diff
changeset
|
967 |
|
8421
6f13961ee63e
(rmail-summary-mode-map): Fix typo.
Richard M. Stallman <rms@gnu.org>
parents:
8419
diff
changeset
|
968 (define-key rmail-summary-mode-map [menu-bar mail lambda] |
|
8392
f0e1008534c4
(rmail-summary-mode-map): Move new Re-send menu item to right place.
Richard M. Stallman <rms@gnu.org>
parents:
8385
diff
changeset
|
969 '("----")) |
|
8379
466112a5ae5a
(rmail-summary-mode-map): Add Re-send menu item.
Richard M. Stallman <rms@gnu.org>
parents:
7421
diff
changeset
|
970 |
|
3862
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
971 (define-key rmail-summary-mode-map [menu-bar mail continue] |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
972 '("Continue" . rmail-summary-continue)) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
973 |
|
8392
f0e1008534c4
(rmail-summary-mode-map): Move new Re-send menu item to right place.
Richard M. Stallman <rms@gnu.org>
parents:
8385
diff
changeset
|
974 (define-key rmail-summary-mode-map [menu-bar mail resend] |
|
9448
99ec41e9cb2e
(rmail-summary-resend): New function.
Richard M. Stallman <rms@gnu.org>
parents:
9432
diff
changeset
|
975 '("Re-send..." . rmail-summary-resend)) |
|
8392
f0e1008534c4
(rmail-summary-mode-map): Move new Re-send menu item to right place.
Richard M. Stallman <rms@gnu.org>
parents:
8385
diff
changeset
|
976 |
|
3862
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
977 (define-key rmail-summary-mode-map [menu-bar mail forward] |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
978 '("Forward" . rmail-summary-forward)) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
979 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
980 (define-key rmail-summary-mode-map [menu-bar mail retry] |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
981 '("Retry" . rmail-summary-retry-failure)) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
982 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
983 (define-key rmail-summary-mode-map [menu-bar mail reply] |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
984 '("Reply" . rmail-summary-reply)) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
985 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
986 (define-key rmail-summary-mode-map [menu-bar mail mail] |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
987 '("Mail" . rmail-summary-mail)) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
988 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
989 (define-key rmail-summary-mode-map [menu-bar delete] |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
990 (cons "Delete" (make-sparse-keymap "Delete"))) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
991 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
992 (define-key rmail-summary-mode-map [menu-bar delete expunge/save] |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
993 '("Expunge/Save" . rmail-summary-expunge-and-save)) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
994 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
995 (define-key rmail-summary-mode-map [menu-bar delete expunge] |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
996 '("Expunge" . rmail-summary-expunge)) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
997 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
998 (define-key rmail-summary-mode-map [menu-bar delete undelete] |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
999 '("Undelete" . rmail-summary-undelete)) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1000 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1001 (define-key rmail-summary-mode-map [menu-bar delete delete] |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1002 '("Delete" . rmail-summary-delete-forward)) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1003 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1004 (define-key rmail-summary-mode-map [menu-bar move] |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1005 (cons "Move" (make-sparse-keymap "Move"))) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1006 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1007 (define-key rmail-summary-mode-map [menu-bar move search-back] |
|
8422
bfdf6de7fddb
(rmail-summary-mode-map): Add `...' where appropriate.
Richard M. Stallman <rms@gnu.org>
parents:
8421
diff
changeset
|
1008 '("Search Back..." . rmail-summary-search-backward)) |
|
3862
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1009 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1010 (define-key rmail-summary-mode-map [menu-bar move search] |
|
8422
bfdf6de7fddb
(rmail-summary-mode-map): Add `...' where appropriate.
Richard M. Stallman <rms@gnu.org>
parents:
8421
diff
changeset
|
1011 '("Search..." . rmail-summary-search)) |
|
3862
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1012 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1013 (define-key rmail-summary-mode-map [menu-bar move previous] |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1014 '("Previous Nondeleted" . rmail-summary-previous-msg)) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1015 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1016 (define-key rmail-summary-mode-map [menu-bar move next] |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1017 '("Next Nondeleted" . rmail-summary-next-msg)) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1018 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1019 (define-key rmail-summary-mode-map [menu-bar move last] |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1020 '("Last" . rmail-summary-last-message)) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1021 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1022 (define-key rmail-summary-mode-map [menu-bar move first] |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1023 '("First" . rmail-summary-first-message)) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1024 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1025 (define-key rmail-summary-mode-map [menu-bar move previous] |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1026 '("Previous" . rmail-summary-previous-all)) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1027 |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1028 (define-key rmail-summary-mode-map [menu-bar move next] |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1029 '("Next" . rmail-summary-next-all)) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1030 |
|
6422
401da3d11995
(rmail-summary-goto-msg): Highlight message number of current message.
Richard M. Stallman <rms@gnu.org>
parents:
5861
diff
changeset
|
1031 (defvar rmail-summary-overlay nil) |
|
13515
b7ad3e888238
(rmail-summary-overlay): Make it a permanent local.
Richard M. Stallman <rms@gnu.org>
parents:
13001
diff
changeset
|
1032 (put 'rmail-summary-overlay 'permanent-local t) |
|
6422
401da3d11995
(rmail-summary-goto-msg): Highlight message number of current message.
Richard M. Stallman <rms@gnu.org>
parents:
5861
diff
changeset
|
1033 |
|
19111
e561070ee48c
(rmail-summary-mouse-goto-message): New function.
Richard M. Stallman <rms@gnu.org>
parents:
17867
diff
changeset
|
1034 (defun rmail-summary-mouse-goto-message (event) |
|
e561070ee48c
(rmail-summary-mouse-goto-message): New function.
Richard M. Stallman <rms@gnu.org>
parents:
17867
diff
changeset
|
1035 "Select the message whose summary line you click on." |
|
e561070ee48c
(rmail-summary-mouse-goto-message): New function.
Richard M. Stallman <rms@gnu.org>
parents:
17867
diff
changeset
|
1036 (interactive "@e") |
|
e561070ee48c
(rmail-summary-mouse-goto-message): New function.
Richard M. Stallman <rms@gnu.org>
parents:
17867
diff
changeset
|
1037 (goto-char (posn-point (event-end event))) |
|
e561070ee48c
(rmail-summary-mouse-goto-message): New function.
Richard M. Stallman <rms@gnu.org>
parents:
17867
diff
changeset
|
1038 (rmail-summary-goto-msg)) |
|
14293
87b4bd8fea26
(rmail-make-basic-summary-line): Include msg line number.
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
1039 |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1040 (defun rmail-summary-goto-msg (&optional n nowarn skip-rmail) |
|
19111
e561070ee48c
(rmail-summary-mouse-goto-message): New function.
Richard M. Stallman <rms@gnu.org>
parents:
17867
diff
changeset
|
1041 "Go to message N in the summary buffer and the Rmail buffer. |
|
e561070ee48c
(rmail-summary-mouse-goto-message): New function.
Richard M. Stallman <rms@gnu.org>
parents:
17867
diff
changeset
|
1042 If N is nil, use the message corresponding to point in the summary |
|
e561070ee48c
(rmail-summary-mouse-goto-message): New function.
Richard M. Stallman <rms@gnu.org>
parents:
17867
diff
changeset
|
1043 and move to that message in the Rmail buffer. |
|
e561070ee48c
(rmail-summary-mouse-goto-message): New function.
Richard M. Stallman <rms@gnu.org>
parents:
17867
diff
changeset
|
1044 |
|
e561070ee48c
(rmail-summary-mouse-goto-message): New function.
Richard M. Stallman <rms@gnu.org>
parents:
17867
diff
changeset
|
1045 If NOWARN, don't say anything if N is out of range. |
|
e561070ee48c
(rmail-summary-mouse-goto-message): New function.
Richard M. Stallman <rms@gnu.org>
parents:
17867
diff
changeset
|
1046 If SKIP-RMAIL, don't do anything to the Rmail buffer." |
| 130 | 1047 (interactive "P") |
| 1048 (if (consp n) (setq n (prefix-numeric-value n))) | |
| 1049 (if (eobp) (forward-line -1)) | |
| 1050 (beginning-of-line) | |
|
9352
f10a1492ecfa
(rmail-summary-goto-msg): Get rmail-total-messages from the rmail buffer.
Richard M. Stallman <rms@gnu.org>
parents:
9151
diff
changeset
|
1051 (let* ((obuf (current-buffer)) |
|
f10a1492ecfa
(rmail-summary-goto-msg): Get rmail-total-messages from the rmail buffer.
Richard M. Stallman <rms@gnu.org>
parents:
9151
diff
changeset
|
1052 (buf rmail-buffer) |
|
f10a1492ecfa
(rmail-summary-goto-msg): Get rmail-total-messages from the rmail buffer.
Richard M. Stallman <rms@gnu.org>
parents:
9151
diff
changeset
|
1053 (cur (point)) |
|
f10a1492ecfa
(rmail-summary-goto-msg): Get rmail-total-messages from the rmail buffer.
Richard M. Stallman <rms@gnu.org>
parents:
9151
diff
changeset
|
1054 message-not-found |
|
f10a1492ecfa
(rmail-summary-goto-msg): Get rmail-total-messages from the rmail buffer.
Richard M. Stallman <rms@gnu.org>
parents:
9151
diff
changeset
|
1055 (curmsg (string-to-int |
|
f10a1492ecfa
(rmail-summary-goto-msg): Get rmail-total-messages from the rmail buffer.
Richard M. Stallman <rms@gnu.org>
parents:
9151
diff
changeset
|
1056 (buffer-substring (point) |
| 39567 | 1057 (min (point-max) (+ 6 (point)))))) |
|
9352
f10a1492ecfa
(rmail-summary-goto-msg): Get rmail-total-messages from the rmail buffer.
Richard M. Stallman <rms@gnu.org>
parents:
9151
diff
changeset
|
1058 (total (save-excursion (set-buffer buf) rmail-total-messages))) |
|
6422
401da3d11995
(rmail-summary-goto-msg): Highlight message number of current message.
Richard M. Stallman <rms@gnu.org>
parents:
5861
diff
changeset
|
1059 ;; If message number N was specified, find that message's line |
|
401da3d11995
(rmail-summary-goto-msg): Highlight message number of current message.
Richard M. Stallman <rms@gnu.org>
parents:
5861
diff
changeset
|
1060 ;; or set message-not-found. |
|
401da3d11995
(rmail-summary-goto-msg): Highlight message number of current message.
Richard M. Stallman <rms@gnu.org>
parents:
5861
diff
changeset
|
1061 ;; If N wasn't specified or that message can't be found. |
|
401da3d11995
(rmail-summary-goto-msg): Highlight message number of current message.
Richard M. Stallman <rms@gnu.org>
parents:
5861
diff
changeset
|
1062 ;; set N by default. |
| 130 | 1063 (if (not n) |
| 1064 (setq n curmsg) | |
| 1065 (if (< n 1) | |
| 1066 (progn (message "No preceding message") | |
| 1067 (setq n 1))) | |
|
9352
f10a1492ecfa
(rmail-summary-goto-msg): Get rmail-total-messages from the rmail buffer.
Richard M. Stallman <rms@gnu.org>
parents:
9151
diff
changeset
|
1068 (if (> n total) |
| 130 | 1069 (progn (message "No following message") |
| 1070 (goto-char (point-max)) | |
|
14293
87b4bd8fea26
(rmail-make-basic-summary-line): Include msg line number.
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
1071 (rmail-summary-goto-msg nil nowarn skip-rmail))) |
| 130 | 1072 (goto-char (point-min)) |
| 39567 | 1073 (if (not (re-search-forward (format "^%5d[^0-9]" n) nil t)) |
| 130 | 1074 (progn (or nowarn (message "Message %d not found" n)) |
| 1075 (setq n curmsg) | |
|
6422
401da3d11995
(rmail-summary-goto-msg): Highlight message number of current message.
Richard M. Stallman <rms@gnu.org>
parents:
5861
diff
changeset
|
1076 (setq message-not-found t) |
| 130 | 1077 (goto-char cur)))) |
| 1078 (beginning-of-line) | |
| 1079 (skip-chars-forward " ") | |
| 1080 (skip-chars-forward "0-9") | |
| 1081 (save-excursion (if (= (following-char) ?-) | |
| 1082 (let ((buffer-read-only nil)) | |
| 1083 (delete-char 1) | |
| 1084 (insert " ")))) | |
|
10489
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
1085 (rmail-summary-update-highlight message-not-found) |
| 130 | 1086 (beginning-of-line) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1087 (if skip-rmail |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1088 nil |
|
5275
c2a5a99d89e8
(rmail-summary-goto-msg): Use unwind-protect to go
Richard M. Stallman <rms@gnu.org>
parents:
5121
diff
changeset
|
1089 (let ((selwin (selected-window))) |
|
c2a5a99d89e8
(rmail-summary-goto-msg): Use unwind-protect to go
Richard M. Stallman <rms@gnu.org>
parents:
5121
diff
changeset
|
1090 (unwind-protect |
|
c2a5a99d89e8
(rmail-summary-goto-msg): Use unwind-protect to go
Richard M. Stallman <rms@gnu.org>
parents:
5121
diff
changeset
|
1091 (progn (pop-to-buffer buf) |
|
c2a5a99d89e8
(rmail-summary-goto-msg): Use unwind-protect to go
Richard M. Stallman <rms@gnu.org>
parents:
5121
diff
changeset
|
1092 (rmail-show-message n)) |
|
8728
b30c35c8e7ed
(rmail-summary-goto-msg): Preserve the current buffer.
Richard M. Stallman <rms@gnu.org>
parents:
8635
diff
changeset
|
1093 (select-window selwin) |
|
b30c35c8e7ed
(rmail-summary-goto-msg): Preserve the current buffer.
Richard M. Stallman <rms@gnu.org>
parents:
8635
diff
changeset
|
1094 ;; The actions above can alter the current buffer. Preserve it. |
|
b30c35c8e7ed
(rmail-summary-goto-msg): Preserve the current buffer.
Richard M. Stallman <rms@gnu.org>
parents:
8635
diff
changeset
|
1095 (set-buffer obuf)))))) |
|
10489
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
1096 |
|
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
1097 ;; Update the highlighted line in an rmail summary buffer. |
|
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
1098 ;; That should be current. We highlight the line point is on. |
|
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
1099 ;; If NOT-FOUND is non-nil, we turn off highlighting. |
|
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
1100 (defun rmail-summary-update-highlight (not-found) |
|
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
1101 ;; Make sure we have an overlay to use. |
|
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
1102 (or rmail-summary-overlay |
|
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
1103 (progn |
|
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
1104 (make-local-variable 'rmail-summary-overlay) |
|
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
1105 (setq rmail-summary-overlay (make-overlay (point) (point))))) |
|
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
1106 ;; If this message is in the summary, use the overlay to highlight it. |
|
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
1107 ;; Otherwise, don't highlight anything. |
|
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
1108 (if not-found |
|
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
1109 (overlay-put rmail-summary-overlay 'face nil) |
|
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
1110 (move-overlay rmail-summary-overlay |
|
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
1111 (save-excursion (beginning-of-line) |
|
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
1112 (skip-chars-forward " ") |
|
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
1113 (point)) |
|
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
1114 (save-excursion (end-of-line) (point))) |
|
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
1115 (overlay-put rmail-summary-overlay 'face 'highlight))) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1116 |
| 130 | 1117 (defun rmail-summary-scroll-msg-up (&optional dist) |
|
10030
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1118 "Scroll the Rmail window forward. |
|
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1119 If the Rmail window is displaying the end of a message, |
|
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1120 advance to the next message." |
| 130 | 1121 (interactive "P") |
|
10030
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1122 (if (eq dist '-) |
|
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1123 (rmail-summary-scroll-msg-down nil) |
|
17096
4a2d9b3990e3
(rmail-new-summary): Setup rmail-view-buffer.
Kenichi Handa <handa@m17n.org>
parents:
16676
diff
changeset
|
1124 (let ((rmail-buffer-window (get-buffer-window rmail-view-buffer))) |
|
10030
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1125 (if rmail-buffer-window |
|
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1126 (if (let ((rmail-summary-window (selected-window))) |
|
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1127 (select-window rmail-buffer-window) |
|
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1128 (prog1 |
|
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1129 ;; Is EOB visible in the buffer? |
|
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1130 (save-excursion |
|
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1131 (let ((ht (window-height (selected-window)))) |
|
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1132 (move-to-window-line (- ht 2)) |
|
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1133 (end-of-line) |
|
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1134 (eobp))) |
|
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1135 (select-window rmail-summary-window))) |
|
14940
9dceb7afbb68
(rmail-summary-scroll-between-messages): New var.
Richard M. Stallman <rms@gnu.org>
parents:
14786
diff
changeset
|
1136 (if (not rmail-summary-scroll-between-messages) |
|
9dceb7afbb68
(rmail-summary-scroll-between-messages): New var.
Richard M. Stallman <rms@gnu.org>
parents:
14786
diff
changeset
|
1137 (error "End of buffer") |
|
9dceb7afbb68
(rmail-summary-scroll-between-messages): New var.
Richard M. Stallman <rms@gnu.org>
parents:
14786
diff
changeset
|
1138 (rmail-summary-next-msg (or dist 1))) |
|
17096
4a2d9b3990e3
(rmail-new-summary): Setup rmail-view-buffer.
Kenichi Handa <handa@m17n.org>
parents:
16676
diff
changeset
|
1139 (let ((other-window-scroll-buffer rmail-view-buffer)) |
|
10030
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1140 (scroll-other-window dist))) |
|
16676
82e54a854639
(rmail-summary-beginning-of-message):
Richard M. Stallman <rms@gnu.org>
parents:
16389
diff
changeset
|
1141 ;; If it isn't visible at all, show the beginning. |
|
82e54a854639
(rmail-summary-beginning-of-message):
Richard M. Stallman <rms@gnu.org>
parents:
16389
diff
changeset
|
1142 (rmail-summary-beginning-of-message))))) |
| 130 | 1143 |
| 1144 (defun rmail-summary-scroll-msg-down (&optional dist) | |
|
10030
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1145 "Scroll the Rmail window backward. |
|
16676
82e54a854639
(rmail-summary-beginning-of-message):
Richard M. Stallman <rms@gnu.org>
parents:
16389
diff
changeset
|
1146 If the Rmail window is now displaying the beginning of a message, |
|
82e54a854639
(rmail-summary-beginning-of-message):
Richard M. Stallman <rms@gnu.org>
parents:
16389
diff
changeset
|
1147 move to the previous message." |
| 130 | 1148 (interactive "P") |
|
10030
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1149 (if (eq dist '-) |
|
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1150 (rmail-summary-scroll-msg-up nil) |
|
37614
17db314acfc2
(rmail-message-subject-p): Process the result
Gerd Moellmann <gerd@gnu.org>
parents:
37590
diff
changeset
|
1151 (let ((rmail-buffer-window (get-buffer-window rmail-view-buffer))) |
|
10030
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1152 (if rmail-buffer-window |
|
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1153 (if (let ((rmail-summary-window (selected-window))) |
|
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1154 (select-window rmail-buffer-window) |
|
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1155 (prog1 |
|
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1156 ;; Is BOB visible in the buffer? |
|
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1157 (save-excursion |
|
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1158 (move-to-window-line 0) |
|
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1159 (beginning-of-line) |
|
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1160 (bobp)) |
|
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1161 (select-window rmail-summary-window))) |
|
14940
9dceb7afbb68
(rmail-summary-scroll-between-messages): New var.
Richard M. Stallman <rms@gnu.org>
parents:
14786
diff
changeset
|
1162 (if (not rmail-summary-scroll-between-messages) |
|
9dceb7afbb68
(rmail-summary-scroll-between-messages): New var.
Richard M. Stallman <rms@gnu.org>
parents:
14786
diff
changeset
|
1163 (error "Beginning of buffer") |
|
9dceb7afbb68
(rmail-summary-scroll-between-messages): New var.
Richard M. Stallman <rms@gnu.org>
parents:
14786
diff
changeset
|
1164 (rmail-summary-previous-msg (or dist 1))) |
|
37614
17db314acfc2
(rmail-message-subject-p): Process the result
Gerd Moellmann <gerd@gnu.org>
parents:
37590
diff
changeset
|
1165 (let ((other-window-scroll-buffer rmail-view-buffer)) |
|
10030
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
1166 (scroll-other-window-down dist))) |
|
16676
82e54a854639
(rmail-summary-beginning-of-message):
Richard M. Stallman <rms@gnu.org>
parents:
16389
diff
changeset
|
1167 ;; If it isn't visible at all, show the beginning. |
|
82e54a854639
(rmail-summary-beginning-of-message):
Richard M. Stallman <rms@gnu.org>
parents:
16389
diff
changeset
|
1168 (rmail-summary-beginning-of-message))))) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1169 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1170 (defun rmail-summary-beginning-of-message () |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1171 "Show current message from the beginning." |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1172 (interactive) |
|
16676
82e54a854639
(rmail-summary-beginning-of-message):
Richard M. Stallman <rms@gnu.org>
parents:
16389
diff
changeset
|
1173 (if (and (one-window-p) (not pop-up-frames)) |
|
82e54a854639
(rmail-summary-beginning-of-message):
Richard M. Stallman <rms@gnu.org>
parents:
16389
diff
changeset
|
1174 ;; If there is just one window, put the summary on the top. |
|
37614
17db314acfc2
(rmail-message-subject-p): Process the result
Gerd Moellmann <gerd@gnu.org>
parents:
37590
diff
changeset
|
1175 (let ((buffer rmail-view-buffer)) |
|
16676
82e54a854639
(rmail-summary-beginning-of-message):
Richard M. Stallman <rms@gnu.org>
parents:
16389
diff
changeset
|
1176 (split-window (selected-window) rmail-summary-window-size) |
|
82e54a854639
(rmail-summary-beginning-of-message):
Richard M. Stallman <rms@gnu.org>
parents:
16389
diff
changeset
|
1177 (select-window (frame-first-window)) |
|
37614
17db314acfc2
(rmail-message-subject-p): Process the result
Gerd Moellmann <gerd@gnu.org>
parents:
37590
diff
changeset
|
1178 (pop-to-buffer rmail-view-buffer) |
|
16676
82e54a854639
(rmail-summary-beginning-of-message):
Richard M. Stallman <rms@gnu.org>
parents:
16389
diff
changeset
|
1179 ;; If pop-to-buffer did not use that window, delete that |
|
82e54a854639
(rmail-summary-beginning-of-message):
Richard M. Stallman <rms@gnu.org>
parents:
16389
diff
changeset
|
1180 ;; window. (This can happen if it uses another frame.) |
|
82e54a854639
(rmail-summary-beginning-of-message):
Richard M. Stallman <rms@gnu.org>
parents:
16389
diff
changeset
|
1181 (or (eq buffer (window-buffer (next-window (frame-first-window)))) |
|
82e54a854639
(rmail-summary-beginning-of-message):
Richard M. Stallman <rms@gnu.org>
parents:
16389
diff
changeset
|
1182 (delete-other-windows))) |
|
37614
17db314acfc2
(rmail-message-subject-p): Process the result
Gerd Moellmann <gerd@gnu.org>
parents:
37590
diff
changeset
|
1183 (pop-to-buffer rmail-view-buffer)) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1184 (beginning-of-buffer) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1185 (pop-to-buffer rmail-summary-buffer)) |
| 130 | 1186 |
|
15488
fd4273de8c97
(rmail-summary-bury): New function.
Richard M. Stallman <rms@gnu.org>
parents:
15409
diff
changeset
|
1187 (defun rmail-summary-bury () |
|
fd4273de8c97
(rmail-summary-bury): New function.
Richard M. Stallman <rms@gnu.org>
parents:
15409
diff
changeset
|
1188 "Bury the Rmail buffer and the Rmail summary buffer." |
|
fd4273de8c97
(rmail-summary-bury): New function.
Richard M. Stallman <rms@gnu.org>
parents:
15409
diff
changeset
|
1189 (interactive) |
|
fd4273de8c97
(rmail-summary-bury): New function.
Richard M. Stallman <rms@gnu.org>
parents:
15409
diff
changeset
|
1190 (let ((buffer-to-bury (current-buffer))) |
|
fd4273de8c97
(rmail-summary-bury): New function.
Richard M. Stallman <rms@gnu.org>
parents:
15409
diff
changeset
|
1191 (let (window) |
|
fd4273de8c97
(rmail-summary-bury): New function.
Richard M. Stallman <rms@gnu.org>
parents:
15409
diff
changeset
|
1192 (while (setq window (get-buffer-window rmail-buffer)) |
|
fd4273de8c97
(rmail-summary-bury): New function.
Richard M. Stallman <rms@gnu.org>
parents:
15409
diff
changeset
|
1193 (set-window-buffer window (other-buffer rmail-buffer))) |
|
fd4273de8c97
(rmail-summary-bury): New function.
Richard M. Stallman <rms@gnu.org>
parents:
15409
diff
changeset
|
1194 (bury-buffer rmail-buffer)) |
|
fd4273de8c97
(rmail-summary-bury): New function.
Richard M. Stallman <rms@gnu.org>
parents:
15409
diff
changeset
|
1195 (switch-to-buffer (other-buffer buffer-to-bury)) |
|
fd4273de8c97
(rmail-summary-bury): New function.
Richard M. Stallman <rms@gnu.org>
parents:
15409
diff
changeset
|
1196 (bury-buffer buffer-to-bury))) |
|
fd4273de8c97
(rmail-summary-bury): New function.
Richard M. Stallman <rms@gnu.org>
parents:
15409
diff
changeset
|
1197 |
| 130 | 1198 (defun rmail-summary-quit () |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1199 "Quit out of Rmail and Rmail summary." |
| 130 | 1200 (interactive) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1201 (rmail-summary-wipe) |
| 130 | 1202 (rmail-quit)) |
| 1203 | |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1204 (defun rmail-summary-wipe () |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1205 "Kill and wipe away Rmail summary, remaining within Rmail." |
| 130 | 1206 (interactive) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1207 (save-excursion (set-buffer rmail-buffer) (setq rmail-summary-buffer nil)) |
|
37614
17db314acfc2
(rmail-message-subject-p): Process the result
Gerd Moellmann <gerd@gnu.org>
parents:
37590
diff
changeset
|
1208 (let ((local-rmail-buffer rmail-view-buffer)) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1209 (kill-buffer (current-buffer)) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1210 ;; Delete window if not only one. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1211 (if (not (eq (selected-window) (next-window nil 'no-minibuf))) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1212 (delete-window)) |
|
5121
864d3ca7f2b6
(rmail-summary-wipe): If rmail buffer is not visible,
Richard M. Stallman <rms@gnu.org>
parents:
5006
diff
changeset
|
1213 ;; Switch windows to the rmail buffer, or switch to it in this window. |
|
864d3ca7f2b6
(rmail-summary-wipe): If rmail buffer is not visible,
Richard M. Stallman <rms@gnu.org>
parents:
5006
diff
changeset
|
1214 (pop-to-buffer local-rmail-buffer))) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1215 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1216 (defun rmail-summary-expunge () |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1217 "Actually erase all deleted messages and recompute summary headers." |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1218 (interactive) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1219 (save-excursion |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1220 (set-buffer rmail-buffer) |
| 34482 | 1221 (when (rmail-expunge-confirmed) |
| 34184 | 1222 (rmail-only-expunge))) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1223 (rmail-update-summary)) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1224 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1225 (defun rmail-summary-expunge-and-save () |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1226 "Expunge and save RMAIL file." |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1227 (interactive) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1228 (save-excursion |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1229 (set-buffer rmail-buffer) |
| 34482 | 1230 (when (rmail-expunge-confirmed) |
| 34184 | 1231 (rmail-only-expunge))) |
|
3466
c8f52c44d9a4
(rmail-summary-expunge-and-save): Do save-buffer last.
Richard M. Stallman <rms@gnu.org>
parents:
3461
diff
changeset
|
1232 (rmail-update-summary) |
|
c8f52c44d9a4
(rmail-summary-expunge-and-save): Do save-buffer last.
Richard M. Stallman <rms@gnu.org>
parents:
3461
diff
changeset
|
1233 (save-excursion |
|
3461
1dec1449324d
(rmail-summary-expunge-and-save):
Richard M. Stallman <rms@gnu.org>
parents:
3443
diff
changeset
|
1234 (set-buffer rmail-buffer) |
|
5861
882894a8c217
(rmail-summary-expunge-and-save): Mark summary buffer as unmodified.
Karl Heuer <kwzh@gnu.org>
parents:
5709
diff
changeset
|
1235 (save-buffer)) |
|
882894a8c217
(rmail-summary-expunge-and-save): Mark summary buffer as unmodified.
Karl Heuer <kwzh@gnu.org>
parents:
5709
diff
changeset
|
1236 (set-buffer-modified-p nil)) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1237 |
|
19570
a2a72d1e0970
(rmail-summary-get-new-mail):
Richard M. Stallman <rms@gnu.org>
parents:
19111
diff
changeset
|
1238 (defun rmail-summary-get-new-mail (&optional file-name) |
|
a2a72d1e0970
(rmail-summary-get-new-mail):
Richard M. Stallman <rms@gnu.org>
parents:
19111
diff
changeset
|
1239 "Get new mail and recompute summary headers. |
|
a2a72d1e0970
(rmail-summary-get-new-mail):
Richard M. Stallman <rms@gnu.org>
parents:
19111
diff
changeset
|
1240 |
|
a2a72d1e0970
(rmail-summary-get-new-mail):
Richard M. Stallman <rms@gnu.org>
parents:
19111
diff
changeset
|
1241 Optionally you can specify the file to get new mail from. In this case, |
|
a2a72d1e0970
(rmail-summary-get-new-mail):
Richard M. Stallman <rms@gnu.org>
parents:
19111
diff
changeset
|
1242 the file of new mail is not changed or deleted. Noninteractively, you can |
|
a2a72d1e0970
(rmail-summary-get-new-mail):
Richard M. Stallman <rms@gnu.org>
parents:
19111
diff
changeset
|
1243 pass the inbox file name as an argument. Interactively, a prefix |
|
a2a72d1e0970
(rmail-summary-get-new-mail):
Richard M. Stallman <rms@gnu.org>
parents:
19111
diff
changeset
|
1244 argument says to read a file name and use that file as the inbox." |
|
a2a72d1e0970
(rmail-summary-get-new-mail):
Richard M. Stallman <rms@gnu.org>
parents:
19111
diff
changeset
|
1245 (interactive |
|
a2a72d1e0970
(rmail-summary-get-new-mail):
Richard M. Stallman <rms@gnu.org>
parents:
19111
diff
changeset
|
1246 (list (if current-prefix-arg |
|
a2a72d1e0970
(rmail-summary-get-new-mail):
Richard M. Stallman <rms@gnu.org>
parents:
19111
diff
changeset
|
1247 (read-file-name "Get new mail from file: ")))) |
|
3466
c8f52c44d9a4
(rmail-summary-expunge-and-save): Do save-buffer last.
Richard M. Stallman <rms@gnu.org>
parents:
3461
diff
changeset
|
1248 (let (msg) |
|
c8f52c44d9a4
(rmail-summary-expunge-and-save): Do save-buffer last.
Richard M. Stallman <rms@gnu.org>
parents:
3461
diff
changeset
|
1249 (save-excursion |
|
c8f52c44d9a4
(rmail-summary-expunge-and-save): Do save-buffer last.
Richard M. Stallman <rms@gnu.org>
parents:
3461
diff
changeset
|
1250 (set-buffer rmail-buffer) |
|
19570
a2a72d1e0970
(rmail-summary-get-new-mail):
Richard M. Stallman <rms@gnu.org>
parents:
19111
diff
changeset
|
1251 (rmail-get-new-mail file-name) |
|
3466
c8f52c44d9a4
(rmail-summary-expunge-and-save): Do save-buffer last.
Richard M. Stallman <rms@gnu.org>
parents:
3461
diff
changeset
|
1252 ;; Get the proper new message number. |
|
c8f52c44d9a4
(rmail-summary-expunge-and-save): Do save-buffer last.
Richard M. Stallman <rms@gnu.org>
parents:
3461
diff
changeset
|
1253 (setq msg rmail-current-message)) |
|
c8f52c44d9a4
(rmail-summary-expunge-and-save): Do save-buffer last.
Richard M. Stallman <rms@gnu.org>
parents:
3461
diff
changeset
|
1254 ;; Make sure that message is displayed. |
|
13663
197f7ae5493d
(rmail-summary-get-new-mail): Don't call rmail-summary-goto-msg if msg is 0.
Richard M. Stallman <rms@gnu.org>
parents:
13515
diff
changeset
|
1255 (or (zerop msg) |
|
197f7ae5493d
(rmail-summary-get-new-mail): Don't call rmail-summary-goto-msg if msg is 0.
Richard M. Stallman <rms@gnu.org>
parents:
13515
diff
changeset
|
1256 (rmail-summary-goto-msg msg)))) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1257 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1258 (defun rmail-summary-input (filename) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1259 "Run Rmail on file FILENAME." |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1260 (interactive "FRun rmail on RMAIL file: ") |
|
3466
c8f52c44d9a4
(rmail-summary-expunge-and-save): Do save-buffer last.
Richard M. Stallman <rms@gnu.org>
parents:
3461
diff
changeset
|
1261 ;; We switch windows here, then display the other Rmail file there. |
|
c8f52c44d9a4
(rmail-summary-expunge-and-save): Do save-buffer last.
Richard M. Stallman <rms@gnu.org>
parents:
3461
diff
changeset
|
1262 (pop-to-buffer rmail-buffer) |
|
c8f52c44d9a4
(rmail-summary-expunge-and-save): Do save-buffer last.
Richard M. Stallman <rms@gnu.org>
parents:
3461
diff
changeset
|
1263 (rmail filename)) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1264 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1265 (defun rmail-summary-first-message () |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1266 "Show first message in Rmail file from summary buffer." |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1267 (interactive) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1268 (beginning-of-buffer)) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1269 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1270 (defun rmail-summary-last-message () |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1271 "Show last message in Rmail file from summary buffer." |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1272 (interactive) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1273 (end-of-buffer) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1274 (forward-line -1)) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1275 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1276 (defvar rmail-summary-edit-map nil) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1277 (if rmail-summary-edit-map |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1278 nil |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1279 (setq rmail-summary-edit-map |
|
4990
8f5a44af0114
(rmail-summary-edit-map): Inherit text-mode-map properly.
Richard M. Stallman <rms@gnu.org>
parents:
3879
diff
changeset
|
1280 (nconc (make-sparse-keymap) text-mode-map)) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1281 (define-key rmail-summary-edit-map "\C-c\C-c" 'rmail-cease-edit) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1282 (define-key rmail-summary-edit-map "\C-c\C-]" 'rmail-abort-edit)) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1283 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1284 (defun rmail-summary-edit-current-message () |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1285 "Edit the contents of this message." |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1286 (interactive) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1287 (pop-to-buffer rmail-buffer) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1288 (rmail-edit-current-message) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1289 (use-local-map rmail-summary-edit-map)) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1290 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1291 (defun rmail-summary-cease-edit () |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1292 "Finish editing message, then go back to Rmail summary buffer." |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1293 (interactive) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1294 (rmail-cease-edit) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1295 (pop-to-buffer rmail-summary-buffer)) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1296 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1297 (defun rmail-summary-abort-edit () |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1298 "Abort edit of current message; restore original contents. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1299 Go back to summary buffer." |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1300 (interactive) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1301 (rmail-abort-edit) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1302 (pop-to-buffer rmail-summary-buffer)) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1303 |
|
3862
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1304 (defun rmail-summary-search-backward (regexp &optional n) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1305 "Show message containing next match for REGEXP. |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1306 Prefix argument gives repeat count; negative argument means search |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1307 backwards (through earlier messages). |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1308 Interactively, empty argument means use same regexp used last time." |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1309 (interactive |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1310 (let* ((reversep (>= (prefix-numeric-value current-prefix-arg) 0)) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1311 (prompt |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1312 (concat (if reversep "Reverse " "") "Rmail search (regexp): ")) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1313 regexp) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1314 (if rmail-search-last-regexp |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1315 (setq prompt (concat prompt |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1316 "(default " |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1317 rmail-search-last-regexp |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1318 ") "))) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1319 (setq regexp (read-string prompt)) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1320 (cond ((not (equal regexp "")) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1321 (setq rmail-search-last-regexp regexp)) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1322 ((not rmail-search-last-regexp) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1323 (error "No previous Rmail search string"))) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1324 (list rmail-search-last-regexp |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1325 (prefix-numeric-value current-prefix-arg)))) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1326 ;; Don't use save-excursion because that prevents point from moving |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1327 ;; properly in the summary buffer. |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1328 (let ((buffer (current-buffer))) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1329 (unwind-protect |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1330 (progn |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1331 (set-buffer rmail-buffer) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1332 (rmail-search regexp (- n))) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1333 (set-buffer buffer)))) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1334 |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1335 (defun rmail-summary-search (regexp &optional n) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1336 "Show message containing next match for REGEXP. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1337 Prefix argument gives repeat count; negative argument means search |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1338 backwards (through earlier messages). |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1339 Interactively, empty argument means use same regexp used last time." |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1340 (interactive |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1341 (let* ((reversep (< (prefix-numeric-value current-prefix-arg) 0)) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1342 (prompt |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1343 (concat (if reversep "Reverse " "") "Rmail search (regexp): ")) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1344 regexp) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1345 (if rmail-search-last-regexp |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1346 (setq prompt (concat prompt |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1347 "(default " |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1348 rmail-search-last-regexp |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1349 ") "))) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1350 (setq regexp (read-string prompt)) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1351 (cond ((not (equal regexp "")) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1352 (setq rmail-search-last-regexp regexp)) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1353 ((not rmail-search-last-regexp) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1354 (error "No previous Rmail search string"))) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1355 (list rmail-search-last-regexp |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1356 (prefix-numeric-value current-prefix-arg)))) |
|
3862
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1357 ;; Don't use save-excursion because that prevents point from moving |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1358 ;; properly in the summary buffer. |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1359 (let ((buffer (current-buffer))) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1360 (unwind-protect |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1361 (progn |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1362 (set-buffer rmail-buffer) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1363 (rmail-search regexp n)) |
|
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1364 (set-buffer buffer)))) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1365 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1366 (defun rmail-summary-toggle-header () |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1367 "Show original message header if pruned header currently shown, or vice versa." |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1368 (interactive) |
|
37614
17db314acfc2
(rmail-message-subject-p): Process the result
Gerd Moellmann <gerd@gnu.org>
parents:
37590
diff
changeset
|
1369 (save-window-excursion |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1370 (set-buffer rmail-buffer) |
|
11175
025aeb70cfed
(rmail-summary-toggle-header): Make header visible in message buffer.
Richard M. Stallman <rms@gnu.org>
parents:
10784
diff
changeset
|
1371 (rmail-toggle-header)) |
|
025aeb70cfed
(rmail-summary-toggle-header): Make header visible in message buffer.
Richard M. Stallman <rms@gnu.org>
parents:
10784
diff
changeset
|
1372 ;; Inside save-excursion, some changes to point in the RMAIL buffer are lost. |
|
025aeb70cfed
(rmail-summary-toggle-header): Make header visible in message buffer.
Richard M. Stallman <rms@gnu.org>
parents:
10784
diff
changeset
|
1373 ;; Set point to point-min in the RMAIL buffer, if it is visible. |
|
37614
17db314acfc2
(rmail-message-subject-p): Process the result
Gerd Moellmann <gerd@gnu.org>
parents:
37590
diff
changeset
|
1374 (let ((window (get-buffer-window rmail-view-buffer))) |
|
11175
025aeb70cfed
(rmail-summary-toggle-header): Make header visible in message buffer.
Richard M. Stallman <rms@gnu.org>
parents:
10784
diff
changeset
|
1375 (if window |
|
025aeb70cfed
(rmail-summary-toggle-header): Make header visible in message buffer.
Richard M. Stallman <rms@gnu.org>
parents:
10784
diff
changeset
|
1376 ;; Using save-window-excursion would lose the new value of point. |
|
025aeb70cfed
(rmail-summary-toggle-header): Make header visible in message buffer.
Richard M. Stallman <rms@gnu.org>
parents:
10784
diff
changeset
|
1377 (let ((owin (selected-window))) |
|
025aeb70cfed
(rmail-summary-toggle-header): Make header visible in message buffer.
Richard M. Stallman <rms@gnu.org>
parents:
10784
diff
changeset
|
1378 (unwind-protect |
|
025aeb70cfed
(rmail-summary-toggle-header): Make header visible in message buffer.
Richard M. Stallman <rms@gnu.org>
parents:
10784
diff
changeset
|
1379 (progn |
|
025aeb70cfed
(rmail-summary-toggle-header): Make header visible in message buffer.
Richard M. Stallman <rms@gnu.org>
parents:
10784
diff
changeset
|
1380 (select-window window) |
|
025aeb70cfed
(rmail-summary-toggle-header): Make header visible in message buffer.
Richard M. Stallman <rms@gnu.org>
parents:
10784
diff
changeset
|
1381 (goto-char (point-min))) |
|
025aeb70cfed
(rmail-summary-toggle-header): Make header visible in message buffer.
Richard M. Stallman <rms@gnu.org>
parents:
10784
diff
changeset
|
1382 (select-window owin)))))) |
|
025aeb70cfed
(rmail-summary-toggle-header): Make header visible in message buffer.
Richard M. Stallman <rms@gnu.org>
parents:
10784
diff
changeset
|
1383 |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1384 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1385 (defun rmail-summary-add-label (label) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1386 "Add LABEL to labels associated with current Rmail message. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1387 Completion is performed over known labels when reading." |
|
3461
1dec1449324d
(rmail-summary-expunge-and-save):
Richard M. Stallman <rms@gnu.org>
parents:
3443
diff
changeset
|
1388 (interactive (list (save-excursion |
|
1dec1449324d
(rmail-summary-expunge-and-save):
Richard M. Stallman <rms@gnu.org>
parents:
3443
diff
changeset
|
1389 (set-buffer rmail-buffer) |
|
1dec1449324d
(rmail-summary-expunge-and-save):
Richard M. Stallman <rms@gnu.org>
parents:
3443
diff
changeset
|
1390 (rmail-read-label "Add label")))) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1391 (save-excursion |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1392 (set-buffer rmail-buffer) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1393 (rmail-add-label label))) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1394 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1395 (defun rmail-summary-kill-label (label) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1396 "Remove LABEL from labels associated with current Rmail message. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1397 Completion is performed over known labels when reading." |
|
3461
1dec1449324d
(rmail-summary-expunge-and-save):
Richard M. Stallman <rms@gnu.org>
parents:
3443
diff
changeset
|
1398 (interactive (list (save-excursion |
|
1dec1449324d
(rmail-summary-expunge-and-save):
Richard M. Stallman <rms@gnu.org>
parents:
3443
diff
changeset
|
1399 (set-buffer rmail-buffer) |
|
1dec1449324d
(rmail-summary-expunge-and-save):
Richard M. Stallman <rms@gnu.org>
parents:
3443
diff
changeset
|
1400 (rmail-read-label "Kill label")))) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1401 (save-excursion |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1402 (set-buffer rmail-buffer) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1403 (rmail-set-label label nil))) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1404 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1405 ;;;; *** Rmail Summary Mailing Commands *** |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1406 |
|
36746
6e4beb27bc38
(rmail-summary-override-mail-send-and-exit):
Gerd Moellmann <gerd@gnu.org>
parents:
34482
diff
changeset
|
1407 (defun rmail-summary-override-mail-send-and-exit () |
|
6e4beb27bc38
(rmail-summary-override-mail-send-and-exit):
Gerd Moellmann <gerd@gnu.org>
parents:
34482
diff
changeset
|
1408 "Replace bindings to 'mail-send-and-exit with 'rmail-summary-send-and-exit" |
|
6e4beb27bc38
(rmail-summary-override-mail-send-and-exit):
Gerd Moellmann <gerd@gnu.org>
parents:
34482
diff
changeset
|
1409 (use-local-map (copy-keymap (current-local-map))) |
|
6e4beb27bc38
(rmail-summary-override-mail-send-and-exit):
Gerd Moellmann <gerd@gnu.org>
parents:
34482
diff
changeset
|
1410 (dolist (key (where-is-internal 'mail-send-and-exit)) |
|
6e4beb27bc38
(rmail-summary-override-mail-send-and-exit):
Gerd Moellmann <gerd@gnu.org>
parents:
34482
diff
changeset
|
1411 (define-key (current-local-map) key 'rmail-summary-send-and-exit))) |
|
6e4beb27bc38
(rmail-summary-override-mail-send-and-exit):
Gerd Moellmann <gerd@gnu.org>
parents:
34482
diff
changeset
|
1412 |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1413 (defun rmail-summary-mail () |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1414 "Send mail in another window. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1415 While composing the message, use \\[mail-yank-original] to yank the |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1416 original message into it." |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1417 (interactive) |
|
10784
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1418 (let ((window (get-buffer-window rmail-buffer))) |
|
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1419 (if window |
|
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1420 (select-window window) |
|
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1421 (set-buffer rmail-buffer))) |
|
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1422 (rmail-start-mail nil nil nil nil nil (current-buffer)) |
|
36746
6e4beb27bc38
(rmail-summary-override-mail-send-and-exit):
Gerd Moellmann <gerd@gnu.org>
parents:
34482
diff
changeset
|
1423 (rmail-summary-override-mail-send-and-exit)) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1424 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1425 (defun rmail-summary-continue () |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1426 "Continue composing outgoing message previously being composed." |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1427 (interactive) |
|
10784
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1428 (let ((window (get-buffer-window rmail-buffer))) |
|
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1429 (if window |
|
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1430 (select-window window) |
|
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1431 (set-buffer rmail-buffer))) |
|
5709
85119c3098a0
Fix rmail summary commands to work with rmail-mail-new-frame.
Karl Heuer <kwzh@gnu.org>
parents:
5678
diff
changeset
|
1432 (rmail-start-mail t)) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1433 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1434 (defun rmail-summary-reply (just-sender) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1435 "Reply to the current message. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1436 Normally include CC: to all other recipients of original message; |
|
5709
85119c3098a0
Fix rmail summary commands to work with rmail-mail-new-frame.
Karl Heuer <kwzh@gnu.org>
parents:
5678
diff
changeset
|
1437 prefix argument means ignore them. While composing the reply, |
|
85119c3098a0
Fix rmail summary commands to work with rmail-mail-new-frame.
Karl Heuer <kwzh@gnu.org>
parents:
5678
diff
changeset
|
1438 use \\[mail-yank-original] to yank the original message into it." |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1439 (interactive "P") |
|
37614
17db314acfc2
(rmail-message-subject-p): Process the result
Gerd Moellmann <gerd@gnu.org>
parents:
37590
diff
changeset
|
1440 (let ((window (get-buffer-window rmail-view-buffer))) |
|
10784
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1441 (if window |
|
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1442 (select-window window) |
|
37614
17db314acfc2
(rmail-message-subject-p): Process the result
Gerd Moellmann <gerd@gnu.org>
parents:
37590
diff
changeset
|
1443 (set-buffer rmail-view-buffer))) |
|
5709
85119c3098a0
Fix rmail summary commands to work with rmail-mail-new-frame.
Karl Heuer <kwzh@gnu.org>
parents:
5678
diff
changeset
|
1444 (rmail-reply just-sender) |
|
36746
6e4beb27bc38
(rmail-summary-override-mail-send-and-exit):
Gerd Moellmann <gerd@gnu.org>
parents:
34482
diff
changeset
|
1445 (rmail-summary-override-mail-send-and-exit)) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1446 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1447 (defun rmail-summary-retry-failure () |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1448 "Edit a mail message which is based on the contents of the current message. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1449 For a message rejected by the mail system, extract the interesting headers and |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1450 the body of the original message; otherwise copy the current message." |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1451 (interactive) |
|
10784
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1452 (let ((window (get-buffer-window rmail-buffer))) |
|
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1453 (if window |
|
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1454 (select-window window) |
|
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1455 (set-buffer rmail-buffer))) |
|
5709
85119c3098a0
Fix rmail summary commands to work with rmail-mail-new-frame.
Karl Heuer <kwzh@gnu.org>
parents:
5678
diff
changeset
|
1456 (rmail-retry-failure) |
|
36746
6e4beb27bc38
(rmail-summary-override-mail-send-and-exit):
Gerd Moellmann <gerd@gnu.org>
parents:
34482
diff
changeset
|
1457 (rmail-summary-override-mail-send-and-exit)) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1458 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1459 (defun rmail-summary-send-and-exit () |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1460 "Send mail reply and return to summary buffer." |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1461 (interactive) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1462 (mail-send-and-exit t)) |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1463 |
|
5006
356f6a751fdf
(rmail-summary-forward): Accept prefix arg
Richard M. Stallman <rms@gnu.org>
parents:
4990
diff
changeset
|
1464 (defun rmail-summary-forward (resend) |
|
356f6a751fdf
(rmail-summary-forward): Accept prefix arg
Richard M. Stallman <rms@gnu.org>
parents:
4990
diff
changeset
|
1465 "Forward the current message to another user. |
|
356f6a751fdf
(rmail-summary-forward): Accept prefix arg
Richard M. Stallman <rms@gnu.org>
parents:
4990
diff
changeset
|
1466 With prefix argument, \"resend\" the message instead of forwarding it; |
|
356f6a751fdf
(rmail-summary-forward): Accept prefix arg
Richard M. Stallman <rms@gnu.org>
parents:
4990
diff
changeset
|
1467 see the documentation of `rmail-resend'." |
|
356f6a751fdf
(rmail-summary-forward): Accept prefix arg
Richard M. Stallman <rms@gnu.org>
parents:
4990
diff
changeset
|
1468 (interactive "P") |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1469 (save-excursion |
|
10784
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1470 (let ((window (get-buffer-window rmail-buffer))) |
|
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1471 (if window |
|
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1472 (select-window window) |
|
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1473 (set-buffer rmail-buffer))) |
|
5006
356f6a751fdf
(rmail-summary-forward): Accept prefix arg
Richard M. Stallman <rms@gnu.org>
parents:
4990
diff
changeset
|
1474 (rmail-forward resend) |
|
36746
6e4beb27bc38
(rmail-summary-override-mail-send-and-exit):
Gerd Moellmann <gerd@gnu.org>
parents:
34482
diff
changeset
|
1475 (rmail-summary-override-mail-send-and-exit))) |
|
9448
99ec41e9cb2e
(rmail-summary-resend): New function.
Richard M. Stallman <rms@gnu.org>
parents:
9432
diff
changeset
|
1476 |
|
99ec41e9cb2e
(rmail-summary-resend): New function.
Richard M. Stallman <rms@gnu.org>
parents:
9432
diff
changeset
|
1477 (defun rmail-summary-resend () |
|
99ec41e9cb2e
(rmail-summary-resend): New function.
Richard M. Stallman <rms@gnu.org>
parents:
9432
diff
changeset
|
1478 "Resend current message using 'rmail-resend'." |
|
99ec41e9cb2e
(rmail-summary-resend): New function.
Richard M. Stallman <rms@gnu.org>
parents:
9432
diff
changeset
|
1479 (interactive) |
|
99ec41e9cb2e
(rmail-summary-resend): New function.
Richard M. Stallman <rms@gnu.org>
parents:
9432
diff
changeset
|
1480 (save-excursion |
|
10784
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1481 (let ((window (get-buffer-window rmail-buffer))) |
|
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1482 (if window |
|
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1483 (select-window window) |
|
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1484 (set-buffer rmail-buffer))) |
|
9448
99ec41e9cb2e
(rmail-summary-resend): New function.
Richard M. Stallman <rms@gnu.org>
parents:
9432
diff
changeset
|
1485 (call-interactively 'rmail-resend))) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1486 |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1487 ;; Summary output commands. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1488 |
|
24837
e8e1a22961da
(rmail-summary-output-to-rmail-file): Fix typo.
Karl Heuer <kwzh@gnu.org>
parents:
23985
diff
changeset
|
1489 (defun rmail-summary-output-to-rmail-file (&optional file-name n) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1490 "Append the current message to an Rmail file named FILE-NAME. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1491 If the file does not exist, ask if it should be created. |
|
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1492 If file is being visited, the message is appended to the Emacs |
|
23221
8d1c55a12c94
(rmail-summary-output-to-rmail-file):
Karl Heuer <kwzh@gnu.org>
parents:
22546
diff
changeset
|
1493 buffer visiting that file. |
|
8d1c55a12c94
(rmail-summary-output-to-rmail-file):
Karl Heuer <kwzh@gnu.org>
parents:
22546
diff
changeset
|
1494 |
|
8d1c55a12c94
(rmail-summary-output-to-rmail-file):
Karl Heuer <kwzh@gnu.org>
parents:
22546
diff
changeset
|
1495 A prefix argument N says to output N consecutive messages |
|
8d1c55a12c94
(rmail-summary-output-to-rmail-file):
Karl Heuer <kwzh@gnu.org>
parents:
22546
diff
changeset
|
1496 starting with the current one. Deleted messages are skipped and don't count." |
|
23985
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1497 (interactive |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1498 (progn (require 'rmailout) |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1499 (list (rmail-output-read-rmail-file-name) |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1500 (prefix-numeric-value current-prefix-arg)))) |
|
24849
0e79d47f61d6
(rmail-summary-output-to-rmail-file): Avoid
Karl Heuer <kwzh@gnu.org>
parents:
24837
diff
changeset
|
1501 (let ((i 0) prev-msg) |
|
0e79d47f61d6
(rmail-summary-output-to-rmail-file): Avoid
Karl Heuer <kwzh@gnu.org>
parents:
24837
diff
changeset
|
1502 (while |
|
0e79d47f61d6
(rmail-summary-output-to-rmail-file): Avoid
Karl Heuer <kwzh@gnu.org>
parents:
24837
diff
changeset
|
1503 (and (< i n) |
|
0e79d47f61d6
(rmail-summary-output-to-rmail-file): Avoid
Karl Heuer <kwzh@gnu.org>
parents:
24837
diff
changeset
|
1504 (progn (rmail-summary-goto-msg) |
|
0e79d47f61d6
(rmail-summary-output-to-rmail-file): Avoid
Karl Heuer <kwzh@gnu.org>
parents:
24837
diff
changeset
|
1505 (not (eq prev-msg |
|
0e79d47f61d6
(rmail-summary-output-to-rmail-file): Avoid
Karl Heuer <kwzh@gnu.org>
parents:
24837
diff
changeset
|
1506 (setq prev-msg |
|
0e79d47f61d6
(rmail-summary-output-to-rmail-file): Avoid
Karl Heuer <kwzh@gnu.org>
parents:
24837
diff
changeset
|
1507 (with-current-buffer rmail-buffer |
|
0e79d47f61d6
(rmail-summary-output-to-rmail-file): Avoid
Karl Heuer <kwzh@gnu.org>
parents:
24837
diff
changeset
|
1508 rmail-current-message)))))) |
|
23985
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1509 (setq i (1+ i)) |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1510 (with-current-buffer rmail-buffer |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1511 (let ((rmail-delete-after-output nil)) |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1512 (rmail-output-to-rmail-file file-name 1))) |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1513 (if rmail-delete-after-output |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1514 (rmail-summary-delete-forward nil) |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1515 (if (< i n) |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1516 (rmail-summary-next-msg 1)))))) |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1517 |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1518 (defun rmail-summary-output (&optional file-name n) |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1519 "Append this message to Unix mail file named FILE-NAME. |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1520 |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1521 A prefix argument N says to output N consecutive messages |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1522 starting with the current one. Deleted messages are skipped and don't count." |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1523 (interactive |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1524 (progn (require 'rmailout) |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1525 (list (rmail-output-read-file-name) |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1526 (prefix-numeric-value current-prefix-arg)))) |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1527 (let ((i 0)) |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1528 (while (< i n) |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1529 (setq i (1+ i)) |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1530 (with-current-buffer rmail-buffer |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1531 (let ((rmail-delete-after-output nil)) |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1532 (rmail-output file-name 1))) |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1533 (if rmail-delete-after-output |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1534 (rmail-summary-delete-forward nil) |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1535 (if (< i n) |
|
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1536 (rmail-summary-next-msg 1)))))) |
|
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1537 |
|
8635
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
1538 (defun rmail-summary-output-menu () |
|
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
1539 "Output current message to another Rmail file, chosen with a menu. |
|
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
1540 Also set the default for subsequent \\[rmail-output-to-rmail-file] commands. |
|
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
1541 The variables `rmail-secondary-file-directory' and |
|
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
1542 `rmail-secondary-file-regexp' control which files are offered in the menu." |
|
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
1543 (interactive) |
|
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
1544 (save-excursion |
|
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
1545 (set-buffer rmail-buffer) |
|
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
1546 (let ((rmail-delete-after-output nil)) |
|
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
1547 (call-interactively 'rmail-output-menu))) |
|
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
1548 (if rmail-delete-after-output |
|
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
1549 (rmail-summary-delete-forward nil))) |
|
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
1550 |
|
8911
3abf3f2ef6cf
(rmail-summary-construct-io-menu): New function.
Richard M. Stallman <rms@gnu.org>
parents:
8728
diff
changeset
|
1551 (defun rmail-summary-construct-io-menu () |
|
3abf3f2ef6cf
(rmail-summary-construct-io-menu): New function.
Richard M. Stallman <rms@gnu.org>
parents:
8728
diff
changeset
|
1552 (let ((files (rmail-find-all-files rmail-secondary-file-directory))) |
|
13001
7946d20948fc
(rmail-summary-construct-io-menu): Use all of FILES.
Richard M. Stallman <rms@gnu.org>
parents:
12911
diff
changeset
|
1553 (if files |
|
8911
3abf3f2ef6cf
(rmail-summary-construct-io-menu): New function.
Richard M. Stallman <rms@gnu.org>
parents:
8728
diff
changeset
|
1554 (progn |
|
3abf3f2ef6cf
(rmail-summary-construct-io-menu): New function.
Richard M. Stallman <rms@gnu.org>
parents:
8728
diff
changeset
|
1555 (define-key rmail-summary-mode-map [menu-bar classify input-menu] |
|
3abf3f2ef6cf
(rmail-summary-construct-io-menu): New function.
Richard M. Stallman <rms@gnu.org>
parents:
8728
diff
changeset
|
1556 (cons "Input Rmail File" |
|
3abf3f2ef6cf
(rmail-summary-construct-io-menu): New function.
Richard M. Stallman <rms@gnu.org>
parents:
8728
diff
changeset
|
1557 (rmail-list-to-menu "Input Rmail File" |
|
13001
7946d20948fc
(rmail-summary-construct-io-menu): Use all of FILES.
Richard M. Stallman <rms@gnu.org>
parents:
12911
diff
changeset
|
1558 files |
|
8911
3abf3f2ef6cf
(rmail-summary-construct-io-menu): New function.
Richard M. Stallman <rms@gnu.org>
parents:
8728
diff
changeset
|
1559 'rmail-summary-input))) |
|
3abf3f2ef6cf
(rmail-summary-construct-io-menu): New function.
Richard M. Stallman <rms@gnu.org>
parents:
8728
diff
changeset
|
1560 (define-key rmail-summary-mode-map [menu-bar classify output-menu] |
|
3abf3f2ef6cf
(rmail-summary-construct-io-menu): New function.
Richard M. Stallman <rms@gnu.org>
parents:
8728
diff
changeset
|
1561 (cons "Output Rmail File" |
|
3abf3f2ef6cf
(rmail-summary-construct-io-menu): New function.
Richard M. Stallman <rms@gnu.org>
parents:
8728
diff
changeset
|
1562 (rmail-list-to-menu "Output Rmail File" |
|
13001
7946d20948fc
(rmail-summary-construct-io-menu): Use all of FILES.
Richard M. Stallman <rms@gnu.org>
parents:
12911
diff
changeset
|
1563 files |
|
7946d20948fc
(rmail-summary-construct-io-menu): Use all of FILES.
Richard M. Stallman <rms@gnu.org>
parents:
12911
diff
changeset
|
1564 'rmail-summary-output-to-rmail-file)))) |
|
7946d20948fc
(rmail-summary-construct-io-menu): Use all of FILES.
Richard M. Stallman <rms@gnu.org>
parents:
12911
diff
changeset
|
1565 (define-key rmail-summary-mode-map [menu-bar classify input-menu] |
|
7946d20948fc
(rmail-summary-construct-io-menu): Use all of FILES.
Richard M. Stallman <rms@gnu.org>
parents:
12911
diff
changeset
|
1566 '("Input Rmail File" . rmail-disable-menu)) |
|
7946d20948fc
(rmail-summary-construct-io-menu): Use all of FILES.
Richard M. Stallman <rms@gnu.org>
parents:
12911
diff
changeset
|
1567 (define-key rmail-summary-mode-map [menu-bar classify output-menu] |
|
7946d20948fc
(rmail-summary-construct-io-menu): Use all of FILES.
Richard M. Stallman <rms@gnu.org>
parents:
12911
diff
changeset
|
1568 '("Output Rmail File" . rmail-disable-menu))))) |
|
8911
3abf3f2ef6cf
(rmail-summary-construct-io-menu): New function.
Richard M. Stallman <rms@gnu.org>
parents:
8728
diff
changeset
|
1569 |
|
22203
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
1570 (defun rmail-summary-output-body (&optional file-name) |
|
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
1571 "Write this message body to the file FILE-NAME. |
|
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
1572 FILE-NAME defaults, interactively, from the Subject field of the message." |
|
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
1573 (interactive) |
|
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
1574 (save-excursion |
|
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
1575 (set-buffer rmail-buffer) |
|
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
1576 (let ((rmail-delete-after-output nil)) |
|
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
1577 (if file-name |
|
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
1578 (rmail-output-body-to-file file-name) |
|
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
1579 (call-interactively 'rmail-output-body-to-file)))) |
|
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
1580 (if rmail-delete-after-output |
|
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
1581 (rmail-summary-delete-forward nil))) |
|
3879
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1582 |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1583 ;; Sorting messages in Rmail Summary buffer. |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1584 |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1585 (defun rmail-summary-sort-by-date (reverse) |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1586 "Sort messages of current Rmail summary by date. |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1587 If prefix argument REVERSE is non-nil, sort them in reverse order." |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1588 (interactive "P") |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1589 (rmail-sort-from-summary (function rmail-sort-by-date) reverse)) |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1590 |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1591 (defun rmail-summary-sort-by-subject (reverse) |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1592 "Sort messages of current Rmail summary by subject. |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1593 If prefix argument REVERSE is non-nil, sort them in reverse order." |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1594 (interactive "P") |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1595 (rmail-sort-from-summary (function rmail-sort-by-subject) reverse)) |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1596 |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1597 (defun rmail-summary-sort-by-author (reverse) |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1598 "Sort messages of current Rmail summary by author. |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1599 If prefix argument REVERSE is non-nil, sort them in reverse order." |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1600 (interactive "P") |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1601 (rmail-sort-from-summary (function rmail-sort-by-author) reverse)) |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1602 |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1603 (defun rmail-summary-sort-by-recipient (reverse) |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1604 "Sort messages of current Rmail summary by recipient. |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1605 If prefix argument REVERSE is non-nil, sort them in reverse order." |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1606 (interactive "P") |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1607 (rmail-sort-from-summary (function rmail-sort-by-recipient) reverse)) |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1608 |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1609 (defun rmail-summary-sort-by-correspondent (reverse) |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1610 "Sort messages of current Rmail summary by other correspondent. |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1611 If prefix argument REVERSE is non-nil, sort them in reverse order." |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1612 (interactive "P") |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1613 (rmail-sort-from-summary (function rmail-sort-by-correspondent) reverse)) |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1614 |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1615 (defun rmail-summary-sort-by-lines (reverse) |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1616 "Sort messages of current Rmail summary by lines of the message. |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1617 If prefix argument REVERSE is non-nil, sort them in reverse order." |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1618 (interactive "P") |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1619 (rmail-sort-from-summary (function rmail-sort-by-lines) reverse)) |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1620 |
|
37590
003e23c611eb
(rmail-summary-sort-by-labels): Renamed
Gerd Moellmann <gerd@gnu.org>
parents:
36746
diff
changeset
|
1621 (defun rmail-summary-sort-by-labels (reverse labels) |
|
003e23c611eb
(rmail-summary-sort-by-labels): Renamed
Gerd Moellmann <gerd@gnu.org>
parents:
36746
diff
changeset
|
1622 "Sort messages of current Rmail summary by labels. |
|
6717
2121bf252398
(rmail-summary-sort-by-keywords): New function.
Karl Heuer <kwzh@gnu.org>
parents:
6688
diff
changeset
|
1623 If prefix argument REVERSE is non-nil, sort them in reverse order. |
|
2121bf252398
(rmail-summary-sort-by-keywords): New function.
Karl Heuer <kwzh@gnu.org>
parents:
6688
diff
changeset
|
1624 KEYWORDS is a comma-separated list of labels." |
|
2121bf252398
(rmail-summary-sort-by-keywords): New function.
Karl Heuer <kwzh@gnu.org>
parents:
6688
diff
changeset
|
1625 (interactive "P\nsSort by labels: ") |
|
2121bf252398
(rmail-summary-sort-by-keywords): New function.
Karl Heuer <kwzh@gnu.org>
parents:
6688
diff
changeset
|
1626 (rmail-sort-from-summary |
|
2121bf252398
(rmail-summary-sort-by-keywords): New function.
Karl Heuer <kwzh@gnu.org>
parents:
6688
diff
changeset
|
1627 (function (lambda (reverse) |
|
37590
003e23c611eb
(rmail-summary-sort-by-labels): Renamed
Gerd Moellmann <gerd@gnu.org>
parents:
36746
diff
changeset
|
1628 (rmail-sort-by-labels reverse labels))) |
|
6717
2121bf252398
(rmail-summary-sort-by-keywords): New function.
Karl Heuer <kwzh@gnu.org>
parents:
6688
diff
changeset
|
1629 reverse)) |
|
2121bf252398
(rmail-summary-sort-by-keywords): New function.
Karl Heuer <kwzh@gnu.org>
parents:
6688
diff
changeset
|
1630 |
|
3879
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1631 (defun rmail-sort-from-summary (sortfun reverse) |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1632 "Sort Rmail messages from Summary buffer and update it after sorting." |
|
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1633 (require 'rmailsort) |
|
6582
bac8e17d51b3
(rmail-sort-from-summary): Preserve window selection.
Karl Heuer <kwzh@gnu.org>
parents:
6422
diff
changeset
|
1634 (let ((selwin (selected-window))) |
|
bac8e17d51b3
(rmail-sort-from-summary): Preserve window selection.
Karl Heuer <kwzh@gnu.org>
parents:
6422
diff
changeset
|
1635 (unwind-protect |
|
bac8e17d51b3
(rmail-sort-from-summary): Preserve window selection.
Karl Heuer <kwzh@gnu.org>
parents:
6422
diff
changeset
|
1636 (progn (pop-to-buffer rmail-buffer) |
|
bac8e17d51b3
(rmail-sort-from-summary): Preserve window selection.
Karl Heuer <kwzh@gnu.org>
parents:
6422
diff
changeset
|
1637 (funcall sortfun reverse)) |
|
bac8e17d51b3
(rmail-sort-from-summary): Preserve window selection.
Karl Heuer <kwzh@gnu.org>
parents:
6422
diff
changeset
|
1638 (select-window selwin)))) |
|
658
7cbd4fcd8b0f
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
130
diff
changeset
|
1639 |
| 29210 | 1640 (provide 'rmailsum) |
| 1641 | |
|
658
7cbd4fcd8b0f
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
130
diff
changeset
|
1642 ;;; rmailsum.el ends here |
