Mercurial > emacs
annotate lisp/mail/rmailsum.el @ 88348:a943d2961193
*** empty log message ***
author | Henrik Enberg <henrik.enberg@telia.com> |
---|---|
date | Mon, 30 Apr 2007 20:47:19 +0000 |
parents | 7f7748896b97 |
children |
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 |
88155 | 3 ;; Copyright (C) 1985, 1993, 1994, 1995, 1996, 2000, 2001, 2002, 2003, |
4 ;; 2004, 2005 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 |
88155 | 23 ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
24 ;; Boston, MA 02110-1301, 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 |
88130 | 28 ;; All commands run from the summary buffer update the buffer local |
29 ;; variable `rmail-current-message'. As part of the post command | |
30 ;; processing point is moved to the beginning of the line describing | |
31 ;; the current message. | |
32 | |
33 ;;; History: | |
34 | |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
35 ;; Extended by Bob Weiner of Motorola |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
36 ;; 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
|
37 ;; bindings in both modes wholly compatible. |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
38 |
88130 | 39 ;; Overhauled by Paul Reilly to support mbox format. |
40 | |
2232
4f9d60f7de9d
Add standard library headers.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2164
diff
changeset
|
41 ;;; Code: |
4f9d60f7de9d
Add standard library headers.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2164
diff
changeset
|
42 |
88155 | 43 (defvar msgnum) |
44 | |
12911 | 45 ;; For rmail-select-summary |
46 (require 'rmail) | |
47 | |
14940
9dceb7afbb68
(rmail-summary-scroll-between-messages): New var.
Richard M. Stallman <rms@gnu.org>
parents:
14786
diff
changeset
|
48 ;;;###autoload |
17631 | 49 (defcustom rmail-summary-scroll-between-messages t |
50 "*Non-nil means Rmail summary scroll commands move between messages." | |
51 :type 'boolean | |
52 :group 'rmail-summary) | |
14940
9dceb7afbb68
(rmail-summary-scroll-between-messages): New var.
Richard M. Stallman <rms@gnu.org>
parents:
14786
diff
changeset
|
53 |
16388
9f29d4bcdc98
(rmail-summary-line-count-p): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
16344
diff
changeset
|
54 ;;;###autoload |
17631 | 55 (defcustom rmail-summary-line-count-flag t |
88130 | 56 "*Non-nil if Rmail summary should show the number of lines in each message." |
17631 | 57 :type 'boolean |
58 :group 'rmail-summary) | |
16388
9f29d4bcdc98
(rmail-summary-line-count-p): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
16344
diff
changeset
|
59 |
9379
138d99e53e94
(rmail-summary-font-lock-keywords): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
9352
diff
changeset
|
60 (defvar rmail-summary-font-lock-keywords |
88160
a271a865e911
*** empty log message ***
Henrik Enberg <henrik.enberg@telia.com>
parents:
88159
diff
changeset
|
61 '(("^.....D.*" . font-lock-string-face) ; Deleted. |
88186
10d5bd44bd6d
(rmail-summary-font-lock-keywords): Fix regular
Alex Schroeder <alex@gnu.org>
parents:
88181
diff
changeset
|
62 ("^.....-.*" . font-lock-type-face) ; Unread. |
9379
138d99e53e94
(rmail-summary-font-lock-keywords): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
9352
diff
changeset
|
63 ;; Neither of the below will be highlighted if either of the above are: |
88160
a271a865e911
*** empty log message ***
Henrik Enberg <henrik.enberg@telia.com>
parents:
88159
diff
changeset
|
64 ("^.....[^D-]....\\(......\\)" 1 font-lock-keyword-face) ; Date. |
88172
7bba2fede2be
(rmail-summary-font-lock-keywords): Fix typo for
Alex Schroeder <alex@gnu.org>
parents:
88169
diff
changeset
|
65 ("{ \\([^\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
|
66 "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
|
67 |
88130 | 68 (defvar rmail-summary-redo nil |
69 "Private storage for Rmail summary history.") | |
70 | |
71 (defvar rmail-summary-overlay nil | |
72 "Private storage for an Rmail summary overlay cache") | |
73 (put 'rmail-summary-overlay 'permanent-local t) | |
74 | |
88299
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
75 (defvar rmail-summary-mode-map |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
76 (let ((map (make-keymap))) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
77 (suppress-keymap map) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
78 (define-key map [mouse-2] 'rmail-summary-mouse-goto-message) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
79 (define-key map "a" 'rmail-summary-add-label) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
80 (define-key map "b" 'rmail-summary-bury) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
81 (define-key map "B" 'rmail-summary-browse-body) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
82 (define-key map "c" 'rmail-summary-continue) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
83 (define-key map "d" 'rmail-summary-delete-forward) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
84 (define-key map "\C-d" 'rmail-summary-delete-backward) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
85 (define-key map "e" 'rmail-summary-edit-current-message) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
86 (define-key map "f" 'rmail-summary-forward) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
87 (define-key map "g" 'rmail-summary-get-new-mail) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
88 (define-key map "h" 'rmail-summary) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
89 (define-key map "i" 'rmail-summary-input) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
90 (define-key map "j" 'rmail-summary-goto-msg) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
91 (define-key map "\C-m" 'rmail-summary-goto-msg) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
92 (define-key map "k" 'rmail-summary-kill-label) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
93 (define-key map "l" 'rmail-summary-by-labels) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
94 (define-key map "\e\C-h" 'rmail-summary) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
95 (define-key map "\e\C-l" 'rmail-summary-by-labels) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
96 (define-key map "\e\C-r" 'rmail-summary-by-recipients) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
97 (define-key map "\e\C-f" 'rmail-summary-by-senders) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
98 (define-key map "\e\C-s" 'rmail-summary-by-regexp) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
99 (define-key map "\e\C-t" 'rmail-summary-by-topic) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
100 (define-key map "m" 'rmail-summary-mail) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
101 (define-key map "\M-m" 'rmail-summary-retry-failure) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
102 (define-key map "n" 'rmail-summary-next-msg) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
103 (define-key map "\en" 'rmail-summary-next-all) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
104 (define-key map "\e\C-n" 'rmail-summary-next-labeled-message) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
105 (define-key map "o" 'rmail-summary-output) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
106 (define-key map "\C-o" 'rmail-summary-output) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
107 (define-key map "p" 'rmail-summary-previous-msg) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
108 (define-key map "\ep" 'rmail-summary-previous-all) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
109 (define-key map "\e\C-p" 'rmail-summary-previous-labeled-message) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
110 (define-key map "q" 'rmail-summary-quit) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
111 (define-key map "Q" 'rmail-summary-wipe) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
112 (define-key map "r" 'rmail-summary-reply) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
113 (define-key map "s" 'rmail-summary-expunge-and-save) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
114 (define-key map "\es" 'rmail-summary-search) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
115 (define-key map "t" 'rmail-summary-toggle-header) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
116 (define-key map "u" 'rmail-summary-undelete) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
117 (define-key map "\M-u" 'rmail-summary-undelete-many) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
118 (define-key map "x" 'rmail-summary-expunge) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
119 (define-key map "w" 'rmail-summary-output-body) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
120 (define-key map "." 'rmail-summary-beginning-of-message) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
121 (define-key map "/" 'rmail-summary-end-of-message) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
122 (define-key map "<" 'rmail-summary-first-message) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
123 (define-key map ">" 'rmail-summary-last-message) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
124 (define-key map " " 'rmail-summary-scroll-msg-up) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
125 (define-key map "\177" 'rmail-summary-scroll-msg-down) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
126 (define-key map "?" 'describe-mode) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
127 (define-key map "\C-c\C-n" 'rmail-summary-next-same-subject) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
128 (define-key map "\C-c\C-p" 'rmail-summary-previous-same-subject) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
129 (define-key map "\C-c\C-s\C-d" 'rmail-summary-sort-by-date) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
130 (define-key map "\C-c\C-s\C-s" 'rmail-summary-sort-by-subject) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
131 (define-key map "\C-c\C-s\C-a" 'rmail-summary-sort-by-author) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
132 (define-key map "\C-c\C-s\C-r" 'rmail-summary-sort-by-recipient) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
133 (define-key map "\C-c\C-s\C-c" 'rmail-summary-sort-by-correspondent) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
134 (define-key map "\C-c\C-s\C-l" 'rmail-summary-sort-by-lines) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
135 (define-key map "\C-c\C-s\C-k" 'rmail-summary-sort-by-labels) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
136 (define-key map [menu-bar] (make-sparse-keymap)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
137 (define-key map [menu-bar classify] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
138 (cons "Classify" (make-sparse-keymap "Classify"))) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
139 (define-key map [menu-bar classify output-menu] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
140 '("Output (Rmail Menu)..." . rmail-summary-output-menu)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
141 (define-key map [menu-bar classify input-menu] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
142 '("Input Rmail File (menu)..." . rmail-input-menu)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
143 (define-key map [menu-bar classify input-menu] '(nil)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
144 (define-key map [menu-bar classify output-menu] '(nil)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
145 (define-key map [menu-bar classify output-body] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
146 '("Output (body)..." . rmail-summary-output-body)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
147 (define-key map [menu-bar classify output-inbox] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
148 '("Output (inbox)..." . rmail-summary-output)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
149 (define-key map [menu-bar classify output] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
150 '("Output (Rmail)..." . rmail-summary-output)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
151 (define-key map [menu-bar classify kill-label] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
152 '("Kill Label..." . rmail-summary-kill-label)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
153 (define-key map [menu-bar classify add-label] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
154 '("Add Label..." . rmail-summary-add-label)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
155 (define-key map [menu-bar summary] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
156 (cons "Summary" (make-sparse-keymap "Summary"))) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
157 (define-key map [menu-bar summary senders] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
158 '("By Senders..." . rmail-summary-by-senders)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
159 (define-key map [menu-bar summary labels] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
160 '("By Labels..." . rmail-summary-by-labels)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
161 (define-key map [menu-bar summary recipients] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
162 '("By Recipients..." . rmail-summary-by-recipients)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
163 (define-key map [menu-bar summary topic] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
164 '("By Topic..." . rmail-summary-by-topic)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
165 (define-key map [menu-bar summary regexp] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
166 '("By Regexp..." . rmail-summary-by-regexp)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
167 (define-key map [menu-bar summary all] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
168 '("All" . rmail-summary)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
169 (define-key map [menu-bar mail] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
170 (cons "Mail" (make-sparse-keymap "Mail"))) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
171 (define-key map [menu-bar mail rmail-summary-get-new-mail] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
172 '("Get New Mail" . rmail-summary-get-new-mail)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
173 (define-key map [menu-bar mail lambda] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
174 '("----")) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
175 (define-key map [menu-bar mail continue] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
176 '("Continue" . rmail-summary-continue)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
177 (define-key map [menu-bar mail resend] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
178 '("Re-send..." . rmail-summary-resend)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
179 (define-key map [menu-bar mail forward] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
180 '("Forward" . rmail-summary-forward)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
181 (define-key map [menu-bar mail retry] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
182 '("Retry" . rmail-summary-retry-failure)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
183 (define-key map [menu-bar mail reply] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
184 '("Reply" . rmail-summary-reply)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
185 (define-key map [menu-bar mail mail] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
186 '("Mail" . rmail-summary-mail)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
187 (define-key map [menu-bar delete] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
188 (cons "Delete" (make-sparse-keymap "Delete"))) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
189 (define-key map [menu-bar delete expunge/save] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
190 '("Expunge/Save" . rmail-summary-expunge-and-save)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
191 (define-key map [menu-bar delete expunge] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
192 '("Expunge" . rmail-summary-expunge)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
193 (define-key map [menu-bar delete undelete] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
194 '("Undelete" . rmail-summary-undelete)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
195 (define-key map [menu-bar delete delete] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
196 '("Delete" . rmail-summary-delete-forward)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
197 (define-key map [menu-bar move] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
198 (cons "Move" (make-sparse-keymap "Move"))) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
199 (define-key map [menu-bar move search-back] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
200 '("Search Back..." . rmail-summary-search-backward)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
201 (define-key map [menu-bar move search] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
202 '("Search..." . rmail-summary-search)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
203 (define-key map [menu-bar move previous] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
204 '("Previous Nondeleted" . rmail-summary-previous-msg)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
205 (define-key map [menu-bar move next] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
206 '("Next Nondeleted" . rmail-summary-next-msg)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
207 (define-key map [menu-bar move last] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
208 '("Last" . rmail-summary-last-message)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
209 (define-key map [menu-bar move first] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
210 '("First" . rmail-summary-first-message)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
211 (define-key map [menu-bar move previous] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
212 '("Previous" . rmail-summary-previous-all)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
213 (define-key map [menu-bar move next] |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
214 '("Next" . rmail-summary-next-all)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
215 map) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
216 "Keymap for `rmail-summary-mode'.") |
88130 | 217 |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
218 ;; Entry points for making a summary buffer. |
130 | 219 |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
220 ;; Regenerate the contents of the summary |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
221 ;; using the same selection criterion as last time. |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
222 ;; 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
|
223 (defun rmail-update-summary (&rest ignore) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
224 (apply (car rmail-summary-redo) (cdr rmail-summary-redo))) |
130 | 225 |
16344
ec0f59ba6768
(rmail-summary-by-senders, rmail-summary): Add autoload.
Richard M. Stallman <rms@gnu.org>
parents:
16242
diff
changeset
|
226 ;;;###autoload |
130 | 227 (defun rmail-summary () |
228 "Display a summary of all messages, one line per message." | |
229 (interactive) | |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
230 (rmail-new-summary "All" '(rmail-summary) nil)) |
130 | 231 |
16344
ec0f59ba6768
(rmail-summary-by-senders, rmail-summary): Add autoload.
Richard M. Stallman <rms@gnu.org>
parents:
16242
diff
changeset
|
232 ;;;###autoload |
130 | 233 (defun rmail-summary-by-labels (labels) |
234 "Display a summary of all messages with one or more LABELS. | |
235 LABELS should be a string containing the desired labels, separated by commas." | |
236 (interactive "sLabels to summarize by: ") | |
237 (if (string= labels "") | |
238 (setq labels (or rmail-last-multi-labels | |
239 (error "No label specified")))) | |
240 (setq rmail-last-multi-labels labels) | |
241 (rmail-new-summary (concat "labels " labels) | |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
242 (list 'rmail-summary-by-labels labels) |
130 | 243 'rmail-message-labels-p |
88189
41d86c3e40fe
(rmail-summary-by-labels): No longer concatenate
Alex Schroeder <alex@gnu.org>
parents:
88186
diff
changeset
|
244 (mail-comma-list-regexp labels))) |
130 | 245 |
16344
ec0f59ba6768
(rmail-summary-by-senders, rmail-summary): Add autoload.
Richard M. Stallman <rms@gnu.org>
parents:
16242
diff
changeset
|
246 ;;;###autoload |
130 | 247 (defun rmail-summary-by-recipients (recipients &optional primary-only) |
248 "Display a summary of all messages with the given RECIPIENTS. | |
249 Normally checks the To, From and Cc fields of headers; | |
250 but if PRIMARY-ONLY is non-nil (prefix arg given), | |
251 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
|
252 RECIPIENTS is a string of regexps separated by commas." |
130 | 253 (interactive "sRecipients to summarize by: \nP") |
254 (rmail-new-summary | |
255 (concat "recipients " recipients) | |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
256 (list 'rmail-summary-by-recipients recipients primary-only) |
130 | 257 'rmail-message-recipients-p |
258 (mail-comma-list-regexp recipients) primary-only)) | |
259 | |
16344
ec0f59ba6768
(rmail-summary-by-senders, rmail-summary): Add autoload.
Richard M. Stallman <rms@gnu.org>
parents:
16242
diff
changeset
|
260 ;;;###autoload |
130 | 261 (defun rmail-summary-by-regexp (regexp) |
262 "Display a summary of all messages according to regexp REGEXP. | |
263 If the regular expression is found in the header of the message | |
264 \(including in the date and other lines, as well as the subject line), | |
265 Emacs will list the header line in the RMAIL-summary." | |
266 (interactive "sRegexp to summarize by: ") | |
267 (if (string= regexp "") | |
268 (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
|
269 (error "No regexp specified")))) |
130 | 270 (setq rmail-last-regexp regexp) |
271 (rmail-new-summary (concat "regexp " regexp) | |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
272 (list 'rmail-summary-by-regexp regexp) |
130 | 273 'rmail-message-regexp-p |
274 regexp)) | |
275 | |
16344
ec0f59ba6768
(rmail-summary-by-senders, rmail-summary): Add autoload.
Richard M. Stallman <rms@gnu.org>
parents:
16242
diff
changeset
|
276 ;;;###autoload |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
277 (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
|
278 "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
|
279 Normally checks the Subject field of headers; |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46130
diff
changeset
|
280 but if WHOLE-MESSAGE is non-nil (prefix arg given), |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
281 look in the whole message. |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
282 SUBJECT is a string of regexps separated by commas." |
88155 | 283 (interactive |
284 (let* ((subject (with-current-buffer rmail-buffer | |
285 (rmail-current-subject))) | |
286 (prompt (concat "Topics to summarize by (regexp" | |
287 (if subject ", default current subject" "") | |
288 "): "))) | |
289 (list (read-string prompt nil nil subject) current-prefix-arg))) | |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
290 (rmail-new-summary |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
291 (concat "about " subject) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
292 (list 'rmail-summary-by-topic subject whole-message) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
293 'rmail-message-subject-p |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
294 (mail-comma-list-regexp subject) whole-message)) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
295 |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
296 (defun rmail-message-subject-p (msg subject &optional whole-message) |
88169
c506eb58293b
(rmail-message-subject-p, rmail-message-senders-p):
Alex Schroeder <alex@gnu.org>
parents:
88166
diff
changeset
|
297 "Return non-nil if SUBJECT is found in MSG. |
c506eb58293b
(rmail-message-subject-p, rmail-message-senders-p):
Alex Schroeder <alex@gnu.org>
parents:
88166
diff
changeset
|
298 If WHOLE-MESSAGE is nil only the subject header will be searched, |
c506eb58293b
(rmail-message-subject-p, rmail-message-senders-p):
Alex Schroeder <alex@gnu.org>
parents:
88166
diff
changeset
|
299 otherwise the whole message will be searched for text matching |
c506eb58293b
(rmail-message-subject-p, rmail-message-senders-p):
Alex Schroeder <alex@gnu.org>
parents:
88166
diff
changeset
|
300 SUBJECT. Return nil to indicate that SUBJECT is not found, |
c506eb58293b
(rmail-message-subject-p, rmail-message-senders-p):
Alex Schroeder <alex@gnu.org>
parents:
88166
diff
changeset
|
301 non-nil otherwise." |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
302 (save-restriction |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
303 (narrow-to-region |
88136
31edc813b710
(rmail-message-subject-p, rmail-message-senders-p): Rewrite for mbox
Paul Reilly <pmr@pajato.com>
parents:
88130
diff
changeset
|
304 (rmail-desc-get-start msg) |
31edc813b710
(rmail-message-subject-p, rmail-message-senders-p): Rewrite for mbox
Paul Reilly <pmr@pajato.com>
parents:
88130
diff
changeset
|
305 (rmail-desc-get-end msg)) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
306 (goto-char (point-min)) |
88136
31edc813b710
(rmail-message-subject-p, rmail-message-senders-p): Rewrite for mbox
Paul Reilly <pmr@pajato.com>
parents:
88130
diff
changeset
|
307 (if whole-message |
88230
2406115dbe50
(rmail-summary-by-topic): Don't use rmail-current-subject-regexp.
Alex Schroeder <alex@gnu.org>
parents:
88228
diff
changeset
|
308 (re-search-forward subject nil t)) |
2406115dbe50
(rmail-summary-by-topic): Don't use rmail-current-subject-regexp.
Alex Schroeder <alex@gnu.org>
parents:
88228
diff
changeset
|
309 (string-match subject |
2406115dbe50
(rmail-summary-by-topic): Don't use rmail-current-subject-regexp.
Alex Schroeder <alex@gnu.org>
parents:
88228
diff
changeset
|
310 (let ((subj (rmail-header-get-header "subject"))) |
2406115dbe50
(rmail-summary-by-topic): Don't use rmail-current-subject-regexp.
Alex Schroeder <alex@gnu.org>
parents:
88228
diff
changeset
|
311 (if subj |
2406115dbe50
(rmail-summary-by-topic): Don't use rmail-current-subject-regexp.
Alex Schroeder <alex@gnu.org>
parents:
88228
diff
changeset
|
312 (funcall rmail-summary-line-decoder subj) |
2406115dbe50
(rmail-summary-by-topic): Don't use rmail-current-subject-regexp.
Alex Schroeder <alex@gnu.org>
parents:
88228
diff
changeset
|
313 ""))))) |
3443
7a15b35366f8
(rmail-summary-by-senders): New function.
Richard M. Stallman <rms@gnu.org>
parents:
3349
diff
changeset
|
314 |
16344
ec0f59ba6768
(rmail-summary-by-senders, rmail-summary): Add autoload.
Richard M. Stallman <rms@gnu.org>
parents:
16242
diff
changeset
|
315 ;;;###autoload |
3443
7a15b35366f8
(rmail-summary-by-senders): New function.
Richard M. Stallman <rms@gnu.org>
parents:
3349
diff
changeset
|
316 (defun rmail-summary-by-senders (senders) |
7a15b35366f8
(rmail-summary-by-senders): New function.
Richard M. Stallman <rms@gnu.org>
parents:
3349
diff
changeset
|
317 "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
|
318 SENDERS is a string of names separated by commas." |
88230
2406115dbe50
(rmail-summary-by-topic): Don't use rmail-current-subject-regexp.
Alex Schroeder <alex@gnu.org>
parents:
88228
diff
changeset
|
319 (interactive |
2406115dbe50
(rmail-summary-by-topic): Don't use rmail-current-subject-regexp.
Alex Schroeder <alex@gnu.org>
parents:
88228
diff
changeset
|
320 (let* ((sender (when rmail-current-message |
2406115dbe50
(rmail-summary-by-topic): Don't use rmail-current-subject-regexp.
Alex Schroeder <alex@gnu.org>
parents:
88228
diff
changeset
|
321 (rmail-desc-get-sender rmail-current-message))) |
2406115dbe50
(rmail-summary-by-topic): Don't use rmail-current-subject-regexp.
Alex Schroeder <alex@gnu.org>
parents:
88228
diff
changeset
|
322 (sender-re (with-current-buffer rmail-buffer |
2406115dbe50
(rmail-summary-by-topic): Don't use rmail-current-subject-regexp.
Alex Schroeder <alex@gnu.org>
parents:
88228
diff
changeset
|
323 (regexp-quote sender))) |
2406115dbe50
(rmail-summary-by-topic): Don't use rmail-current-subject-regexp.
Alex Schroeder <alex@gnu.org>
parents:
88228
diff
changeset
|
324 (prompt (concat "Senders to summarize by (regexp" |
2406115dbe50
(rmail-summary-by-topic): Don't use rmail-current-subject-regexp.
Alex Schroeder <alex@gnu.org>
parents:
88228
diff
changeset
|
325 (if sender ", default current sender" "") |
2406115dbe50
(rmail-summary-by-topic): Don't use rmail-current-subject-regexp.
Alex Schroeder <alex@gnu.org>
parents:
88228
diff
changeset
|
326 "): "))) |
2406115dbe50
(rmail-summary-by-topic): Don't use rmail-current-subject-regexp.
Alex Schroeder <alex@gnu.org>
parents:
88228
diff
changeset
|
327 (list (read-string prompt nil nil sender)))) |
3443
7a15b35366f8
(rmail-summary-by-senders): New function.
Richard M. Stallman <rms@gnu.org>
parents:
3349
diff
changeset
|
328 (rmail-new-summary |
7a15b35366f8
(rmail-summary-by-senders): New function.
Richard M. Stallman <rms@gnu.org>
parents:
3349
diff
changeset
|
329 (concat "senders " senders) |
5507
0a6c0e720ece
(rmail-summary-by-senders):
Richard M. Stallman <rms@gnu.org>
parents:
5370
diff
changeset
|
330 (list 'rmail-summary-by-senders senders) |
3443
7a15b35366f8
(rmail-summary-by-senders): New function.
Richard M. Stallman <rms@gnu.org>
parents:
3349
diff
changeset
|
331 'rmail-message-senders-p |
7a15b35366f8
(rmail-summary-by-senders): New function.
Richard M. Stallman <rms@gnu.org>
parents:
3349
diff
changeset
|
332 (mail-comma-list-regexp senders))) |
7a15b35366f8
(rmail-summary-by-senders): New function.
Richard M. Stallman <rms@gnu.org>
parents:
3349
diff
changeset
|
333 |
88169
c506eb58293b
(rmail-message-subject-p, rmail-message-senders-p):
Alex Schroeder <alex@gnu.org>
parents:
88166
diff
changeset
|
334 (defun rmail-message-senders-p (msg sender) |
c506eb58293b
(rmail-message-subject-p, rmail-message-senders-p):
Alex Schroeder <alex@gnu.org>
parents:
88166
diff
changeset
|
335 "Return non-nil if SENDER is found in MSG. |
c506eb58293b
(rmail-message-subject-p, rmail-message-senders-p):
Alex Schroeder <alex@gnu.org>
parents:
88166
diff
changeset
|
336 The From header is tested." |
3443
7a15b35366f8
(rmail-summary-by-senders): New function.
Richard M. Stallman <rms@gnu.org>
parents:
3349
diff
changeset
|
337 (save-restriction |
88136
31edc813b710
(rmail-message-subject-p, rmail-message-senders-p): Rewrite for mbox
Paul Reilly <pmr@pajato.com>
parents:
88130
diff
changeset
|
338 (narrow-to-region |
31edc813b710
(rmail-message-subject-p, rmail-message-senders-p): Rewrite for mbox
Paul Reilly <pmr@pajato.com>
parents:
88130
diff
changeset
|
339 (rmail-desc-get-start msg) |
31edc813b710
(rmail-message-subject-p, rmail-message-senders-p): Rewrite for mbox
Paul Reilly <pmr@pajato.com>
parents:
88130
diff
changeset
|
340 (rmail-desc-get-end msg)) |
88169
c506eb58293b
(rmail-message-subject-p, rmail-message-senders-p):
Alex Schroeder <alex@gnu.org>
parents:
88166
diff
changeset
|
341 (goto-char (point-min)) |
88259
e7a1851e3fcc
(rmail-message-senders-p): Fix Typo.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88245
diff
changeset
|
342 (string-match sender (or (mail-fetch-field "From") "")))) |
130 | 343 |
88130 | 344 ;;;; General making of a summary buffer. |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
345 |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
346 (defvar rmail-summary-symbol-number 0) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
347 |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
348 (defun rmail-new-summary (description redo-form function &rest args) |
130 | 349 "Create a summary of selected messages. |
350 DESCRIPTION makes part of the mode line of the summary buffer. | |
351 For each message, FUNCTION is applied to the message number and ARGS... | |
352 and if the result is non-nil, that message is included. | |
353 nil for FUNCTION means all messages." | |
354 (message "Computing summary lines...") | |
88130 | 355 (let ((summary-msgs ()) |
356 (new-summary-line-count 0) | |
357 (msgnum 1) | |
358 current-message sumbuf was-in-summary) | |
88146
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
359 (save-excursion |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
360 ;; Go to the Rmail buffer. |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
361 (if (eq major-mode 'rmail-summary-mode) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
362 (setq was-in-summary t)) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
363 (set-buffer rmail-buffer) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
364 ;; Find its summary buffer, or make one. |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
365 (setq current-message rmail-current-message |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
366 sumbuf |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
367 (if (and rmail-summary-buffer |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
368 (buffer-name rmail-summary-buffer)) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
369 rmail-summary-buffer |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
370 (generate-new-buffer (concat (buffer-name) "-summary")))) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
371 ;; Collect the message summaries based on the filtering |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
372 ;; argument (FUNCTION). |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
373 (while (>= rmail-total-messages msgnum) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
374 (if (or (null function) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
375 (apply function (cons msgnum args))) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
376 (setq summary-msgs |
88299
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
377 (cons (cons msgnum (rmail-summary-get-summary-line msgnum)) |
88146
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
378 summary-msgs))) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
379 (setq msgnum (1+ msgnum))) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
380 (setq summary-msgs (nreverse summary-msgs)) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
381 ;; Place the collected summaries into the summary buffer. |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
382 (setq rmail-summary-buffer nil) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
383 (save-excursion |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
384 (let ((rbuf (current-buffer)) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
385 (vbuf rmail-view-buffer) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
386 (total rmail-total-messages)) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
387 (set-buffer sumbuf) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
388 ;; Set up the summary buffer's contents. |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
389 (let ((buffer-read-only nil)) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
390 (erase-buffer) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
391 (while summary-msgs |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
392 (princ (cdr (car summary-msgs)) sumbuf) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
393 (setq summary-msgs (cdr summary-msgs))) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
394 (goto-char (point-min))) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
395 ;; Set up the rest of its state and local variables. |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
396 (setq buffer-read-only t) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
397 (rmail-summary-mode) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
398 (make-local-variable 'minor-mode-alist) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
399 (setq minor-mode-alist (list (list t (concat ": " description)))) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
400 (setq rmail-buffer rbuf |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
401 rmail-view-buffer vbuf |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
402 rmail-summary-redo redo-form |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
403 rmail-total-messages total |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
404 rmail-current-message current-message))) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
405 (setq rmail-summary-buffer sumbuf)) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
406 ;; 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
|
407 (or was-in-summary |
88146
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
408 (progn |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
409 (if (and (one-window-p) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
410 pop-up-windows (not pop-up-frames)) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
411 ;; If there is just one window, put the summary on the top. |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
412 (progn |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
413 (split-window (selected-window) rmail-summary-window-size) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
414 (select-window (next-window (frame-first-window))) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
415 (pop-to-buffer sumbuf) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
416 ;; If pop-to-buffer did not use that window, delete that |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
417 ;; window. (This can happen if it uses another frame.) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
418 (if (not (eq sumbuf (window-buffer (frame-first-window)))) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
419 (delete-other-windows))) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
420 (pop-to-buffer sumbuf)) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
421 (set-buffer rmail-buffer) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
422 ;; This is how rmail makes the summary buffer reappear. |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
423 ;; We do this here to make the window the proper size. |
88166
d20b1cfca610
(rmail-new-summary): Make sure summary buffer is current when selecting message.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88160
diff
changeset
|
424 (rmail-select-summary nil) |
d20b1cfca610
(rmail-new-summary): Make sure summary buffer is current when selecting message.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88160
diff
changeset
|
425 (set-buffer rmail-summary-buffer))) |
88146
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
426 (rmail-summary-goto-msg current-message nil t) |
a64fe1ff909a
(rmail-make-summary-line): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
88136
diff
changeset
|
427 (rmail-summary-construct-io-menu) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
428 (message "Computing summary lines...done"))) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
429 |
88130 | 430 ;;;; Low levels of generating a summary. |
130 | 431 |
17096
4a2d9b3990e3
(rmail-new-summary): Setup rmail-view-buffer.
Kenichi Handa <handa@m17n.org>
parents:
16676
diff
changeset
|
432 ;;;###autoload |
17631 | 433 (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
|
434 "*Function to decode summary-line. |
4a2d9b3990e3
(rmail-new-summary): Setup rmail-view-buffer.
Kenichi Handa <handa@m17n.org>
parents:
16676
diff
changeset
|
435 |
17631 | 436 By default, `identity' is set." |
437 :type 'function | |
438 :group 'rmail-summary) | |
17096
4a2d9b3990e3
(rmail-new-summary): Setup rmail-view-buffer.
Kenichi Handa <handa@m17n.org>
parents:
16676
diff
changeset
|
439 |
28487
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
440 ;;;###autoload |
88284
0be17d16f2ef
(rmail-user-mail-address-regexp): Compute a default
Alex Schroeder <alex@gnu.org>
parents:
88264
diff
changeset
|
441 (defcustom rmail-user-mail-address-regexp |
88292
b77cb10ab1be
(rmail-summary-get-sender): Handle a nil value of
Henrik Enberg <henrik.enberg@telia.com>
parents:
88287
diff
changeset
|
442 (concat "^\\(" |
b77cb10ab1be
(rmail-summary-get-sender): Handle a nil value of
Henrik Enberg <henrik.enberg@telia.com>
parents:
88287
diff
changeset
|
443 (regexp-quote (user-login-name)) |
b77cb10ab1be
(rmail-summary-get-sender): Handle a nil value of
Henrik Enberg <henrik.enberg@telia.com>
parents:
88287
diff
changeset
|
444 "\\($\\|@\\)\\|" |
b77cb10ab1be
(rmail-summary-get-sender): Handle a nil value of
Henrik Enberg <henrik.enberg@telia.com>
parents:
88287
diff
changeset
|
445 (regexp-quote |
b77cb10ab1be
(rmail-summary-get-sender): Handle a nil value of
Henrik Enberg <henrik.enberg@telia.com>
parents:
88287
diff
changeset
|
446 (or user-mail-address |
b77cb10ab1be
(rmail-summary-get-sender): Handle a nil value of
Henrik Enberg <henrik.enberg@telia.com>
parents:
88287
diff
changeset
|
447 (concat (user-login-name) "@" |
b77cb10ab1be
(rmail-summary-get-sender): Handle a nil value of
Henrik Enberg <henrik.enberg@telia.com>
parents:
88287
diff
changeset
|
448 (or mail-host-address |
b77cb10ab1be
(rmail-summary-get-sender): Handle a nil value of
Henrik Enberg <henrik.enberg@telia.com>
parents:
88287
diff
changeset
|
449 (system-name))))) |
b77cb10ab1be
(rmail-summary-get-sender): Handle a nil value of
Henrik Enberg <henrik.enberg@telia.com>
parents:
88287
diff
changeset
|
450 "\\>\\)") |
28487
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
451 "*Regexp matching user mail addresses. |
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
452 If non-nil, this variable is used to identify the correspondent |
88284
0be17d16f2ef
(rmail-user-mail-address-regexp): Compute a default
Alex Schroeder <alex@gnu.org>
parents:
88264
diff
changeset
|
453 when receiving new mail. If it matches the address of the |
0be17d16f2ef
(rmail-user-mail-address-regexp): Compute a default
Alex Schroeder <alex@gnu.org>
parents:
88264
diff
changeset
|
454 sender, the recipient is taken as correspondent of a mail. It is |
0be17d16f2ef
(rmail-user-mail-address-regexp): Compute a default
Alex Schroeder <alex@gnu.org>
parents:
88264
diff
changeset
|
455 initialized based on your `user-login-name' and |
0be17d16f2ef
(rmail-user-mail-address-regexp): Compute a default
Alex Schroeder <alex@gnu.org>
parents:
88264
diff
changeset
|
456 `user-mail-address'. |
28487
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
457 |
88284
0be17d16f2ef
(rmail-user-mail-address-regexp): Compute a default
Alex Schroeder <alex@gnu.org>
parents:
88264
diff
changeset
|
458 Usually you don't have to set this variable, except if you |
0be17d16f2ef
(rmail-user-mail-address-regexp): Compute a default
Alex Schroeder <alex@gnu.org>
parents:
88264
diff
changeset
|
459 collect mails sent by you under different user names. Then it |
0be17d16f2ef
(rmail-user-mail-address-regexp): Compute a default
Alex Schroeder <alex@gnu.org>
parents:
88264
diff
changeset
|
460 should be a regexp matching your mail addresses. |
28487
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
461 |
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
462 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
|
463 :type '(choice (const :tag "None" nil) regexp) |
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
464 :group 'rmail-retrieve |
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
465 :version "21.1") |
653e53467c66
(rmail-user-mail-address-regexp): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
28180
diff
changeset
|
466 |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
467 |
88130 | 468 ;;;; Simple motion in a summary buffer. |
130 | 469 |
470 (defun rmail-summary-next-all (&optional number) | |
88130 | 471 "Move to an nearby message. |
472 If NUMBER is positive then move forward NUMBER messages. If NUMBER is | |
473 negative then move backwards NUMBER messages. If NUMBER is nil then | |
474 move forward one message." | |
130 | 475 (interactive "p") |
2164
6e276a32aef1
(rmail-summary-next-msg): Call display-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2077
diff
changeset
|
476 (forward-line (if number number 1)) |
9540
cde03222210e
(rmail-summary-previous-all)
Richard M. Stallman <rms@gnu.org>
parents:
9482
diff
changeset
|
477 ;; 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
|
478 (and (eobp) (> number 0) |
cde03222210e
(rmail-summary-previous-all)
Richard M. Stallman <rms@gnu.org>
parents:
9482
diff
changeset
|
479 (forward-line -1)) |
2164
6e276a32aef1
(rmail-summary-next-msg): Call display-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2077
diff
changeset
|
480 (display-buffer rmail-buffer)) |
130 | 481 |
482 (defun rmail-summary-previous-all (&optional number) | |
483 (interactive "p") | |
2164
6e276a32aef1
(rmail-summary-next-msg): Call display-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2077
diff
changeset
|
484 (forward-line (- (if number number 1))) |
9540
cde03222210e
(rmail-summary-previous-all)
Richard M. Stallman <rms@gnu.org>
parents:
9482
diff
changeset
|
485 ;; 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
|
486 (and (eobp) (< number 0) |
cde03222210e
(rmail-summary-previous-all)
Richard M. Stallman <rms@gnu.org>
parents:
9482
diff
changeset
|
487 (forward-line -1)) |
2164
6e276a32aef1
(rmail-summary-next-msg): Call display-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2077
diff
changeset
|
488 (display-buffer rmail-buffer)) |
130 | 489 |
490 (defun rmail-summary-next-msg (&optional number) | |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
491 "Display next non-deleted msg from rmail file. |
88166
d20b1cfca610
(rmail-new-summary): Make sure summary buffer is current when selecting message.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88160
diff
changeset
|
492 With optional prefix argument NUMBER, moves forward this number of |
d20b1cfca610
(rmail-new-summary): Make sure summary buffer is current when selecting message.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88160
diff
changeset
|
493 non-deleted messages, or backward if NUMBER is negative." |
130 | 494 (interactive "p") |
88130 | 495 (let (msg) |
496 (with-current-buffer rmail-buffer | |
497 (rmail-next-undeleted-message number) | |
498 (setq msg rmail-current-message)) | |
499 (rmail-summary-goto-msg msg))) | |
130 | 500 |
501 (defun rmail-summary-previous-msg (&optional number) | |
88166
d20b1cfca610
(rmail-new-summary): Make sure summary buffer is current when selecting message.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88160
diff
changeset
|
502 "Display previous non-deleted msg from rmail file. |
d20b1cfca610
(rmail-new-summary): Make sure summary buffer is current when selecting message.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88160
diff
changeset
|
503 With optional prefix argument NUMBER, moves backward this number of |
d20b1cfca610
(rmail-new-summary): Make sure summary buffer is current when selecting message.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88160
diff
changeset
|
504 non-deleted messages." |
130 | 505 (interactive "p") |
506 (rmail-summary-next-msg (- (if number number 1)))) | |
507 | |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
508 (defun rmail-summary-next-labeled-message (n labels) |
88130 | 509 "Show next message with LABEL. Defaults to last labels used. |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
510 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
|
511 (interactive "p\nsMove to next msg with labels: ") |
15658
996e272e9192
(rmail-summary-next-labeled-message)
Karl Heuer <kwzh@gnu.org>
parents:
15645
diff
changeset
|
512 (let (msg) |
996e272e9192
(rmail-summary-next-labeled-message)
Karl Heuer <kwzh@gnu.org>
parents:
15645
diff
changeset
|
513 (save-excursion |
996e272e9192
(rmail-summary-next-labeled-message)
Karl Heuer <kwzh@gnu.org>
parents:
15645
diff
changeset
|
514 (set-buffer rmail-buffer) |
996e272e9192
(rmail-summary-next-labeled-message)
Karl Heuer <kwzh@gnu.org>
parents:
15645
diff
changeset
|
515 (rmail-next-labeled-message n labels) |
996e272e9192
(rmail-summary-next-labeled-message)
Karl Heuer <kwzh@gnu.org>
parents:
15645
diff
changeset
|
516 (setq msg rmail-current-message)) |
88130 | 517 (setq rmail-current-message msg))) |
130 | 518 |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
519 (defun rmail-summary-previous-labeled-message (n labels) |
88130 | 520 "Show previous message with LABEL. Defaults to last labels used. |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
521 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
|
522 (interactive "p\nsMove to previous msg with labels: ") |
15658
996e272e9192
(rmail-summary-next-labeled-message)
Karl Heuer <kwzh@gnu.org>
parents:
15645
diff
changeset
|
523 (let (msg) |
996e272e9192
(rmail-summary-next-labeled-message)
Karl Heuer <kwzh@gnu.org>
parents:
15645
diff
changeset
|
524 (save-excursion |
996e272e9192
(rmail-summary-next-labeled-message)
Karl Heuer <kwzh@gnu.org>
parents:
15645
diff
changeset
|
525 (set-buffer rmail-buffer) |
996e272e9192
(rmail-summary-next-labeled-message)
Karl Heuer <kwzh@gnu.org>
parents:
15645
diff
changeset
|
526 (rmail-previous-labeled-message n labels) |
996e272e9192
(rmail-summary-next-labeled-message)
Karl Heuer <kwzh@gnu.org>
parents:
15645
diff
changeset
|
527 (setq msg rmail-current-message)) |
88130 | 528 (setq rmail-current-message msg))) |
10663
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
529 |
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
530 (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
|
531 "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
|
532 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
|
533 If N is negative, go backwards." |
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
534 (interactive "p") |
88169
c506eb58293b
(rmail-message-subject-p, rmail-message-senders-p):
Alex Schroeder <alex@gnu.org>
parents:
88166
diff
changeset
|
535 (with-current-buffer rmail-buffer |
c506eb58293b
(rmail-message-subject-p, rmail-message-senders-p):
Alex Schroeder <alex@gnu.org>
parents:
88166
diff
changeset
|
536 (rmail-next-same-subject n))) |
88130 | 537 |
10663
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
538 (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
|
539 "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
|
540 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
|
541 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
|
542 (interactive "p") |
b0bf7d40a75d
(rmail-summary-next-same-subject): New command.
Richard M. Stallman <rms@gnu.org>
parents:
10489
diff
changeset
|
543 (rmail-summary-next-same-subject (- n))) |
88169
c506eb58293b
(rmail-message-subject-p, rmail-message-senders-p):
Alex Schroeder <alex@gnu.org>
parents:
88166
diff
changeset
|
544 |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
545 |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
546 ;; Delete and undelete summary commands. |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
547 |
17484
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
548 (defun rmail-summary-delete-forward (&optional count) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
549 "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
|
550 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
|
551 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
|
552 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
|
553 (interactive "p") |
17867
4b87104dcbc7
(rmail-summary-delete-forward): Force the
Richard M. Stallman <rms@gnu.org>
parents:
17631
diff
changeset
|
554 (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
|
555 (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
|
556 (backward (< count 0))) |
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
557 (while (/= count 0) |
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
558 (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
|
559 (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
|
560 (rmail-delete-message) |
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
561 (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
|
562 (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
|
563 (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
|
564 (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
|
565 (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
|
566 (forward-line (if backward -1 1))) |
17484
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
567 (setq count |
88130 | 568 (if (> count 0) (1- count) (1+ count)))) |
569 ;; Update the summary buffer current message counter and show the | |
570 ;; message in the Rmail buffer. | |
571 (rmail-summary-goto-msg (rmail-summary-get-message-at-point)))) | |
130 | 572 |
17484
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
573 (defun rmail-summary-delete-backward (&optional count) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
574 "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
|
575 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
|
576 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
|
577 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
|
578 (interactive "p") |
3303fa112347
(rmail-summary-delete-forward): Argument is now a repeat count.
Richard M. Stallman <rms@gnu.org>
parents:
17096
diff
changeset
|
579 (rmail-summary-delete-forward (- count))) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
580 |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
581 (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
|
582 ;; Since third arg is t, this only alters the summary, not the Rmail buf. |
88130 | 583 (and n (rmail-summary-goto-msg n t)) |
3100
eb6ae6faff24
(rmail-summary-mark-deleted): Check for end of buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2233
diff
changeset
|
584 (or (eobp) |
10489
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
585 (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
|
586 (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
|
587 (skip-chars-forward " ") |
eb6ae6faff24
(rmail-summary-mark-deleted): Check for end of buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2233
diff
changeset
|
588 (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
|
589 (if undel |
eb6ae6faff24
(rmail-summary-mark-deleted): Check for end of buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2233
diff
changeset
|
590 (if (looking-at "D") |
eb6ae6faff24
(rmail-summary-mark-deleted): Check for end of buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2233
diff
changeset
|
591 (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
|
592 (delete-char 1) |
eb6ae6faff24
(rmail-summary-mark-deleted): Check for end of buffer.
Richard M. Stallman <rms@gnu.org>
parents:
2233
diff
changeset
|
593 (insert "D")))) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
594 (beginning-of-line)) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
595 |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
596 (defun rmail-summary-mark-undeleted (n) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
597 (rmail-summary-mark-deleted n t)) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
598 |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
599 (defun rmail-summary-deleted-p (&optional n) |
88297
64f03d0b622f
(rmail-summary-deleted-p): Fix misplaced paren.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88292
diff
changeset
|
600 (unless n (setq n rmail-current-message)) |
64f03d0b622f
(rmail-summary-deleted-p): Fix misplaced paren.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88292
diff
changeset
|
601 (with-current-buffer rmail-buffer |
64f03d0b622f
(rmail-summary-deleted-p): Fix misplaced paren.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88292
diff
changeset
|
602 (rmail-desc-deleted-p n))) |
130 | 603 |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
604 (defun rmail-summary-undelete (&optional arg) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
605 "Undelete current message. |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
606 Optional prefix ARG means undelete ARG previous messages." |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
607 (interactive "p") |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
608 (if (/= arg 1) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
609 (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
|
610 (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
|
611 (opoint (point))) |
88297
64f03d0b622f
(rmail-summary-deleted-p): Fix misplaced paren.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88292
diff
changeset
|
612 (goto-char (line-end-position)) |
64f03d0b622f
(rmail-summary-deleted-p): Fix misplaced paren.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88292
diff
changeset
|
613 (if (not (re-search-backward "\\(^ *[0-9]*\\)\\(D\\)" nil t)) |
64f03d0b622f
(rmail-summary-deleted-p): Fix misplaced paren.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88292
diff
changeset
|
614 (goto-char opoint) |
64f03d0b622f
(rmail-summary-deleted-p): Fix misplaced paren.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88292
diff
changeset
|
615 (replace-match "\\1 ") |
64f03d0b622f
(rmail-summary-deleted-p): Fix misplaced paren.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88292
diff
changeset
|
616 (rmail-summary-goto-msg) |
64f03d0b622f
(rmail-summary-deleted-p): Fix misplaced paren.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88292
diff
changeset
|
617 (if rmail-enable-mime |
64f03d0b622f
(rmail-summary-deleted-p): Fix misplaced paren.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88292
diff
changeset
|
618 (set-buffer rmail-buffer) |
64f03d0b622f
(rmail-summary-deleted-p): Fix misplaced paren.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88292
diff
changeset
|
619 (pop-to-buffer rmail-buffer)) |
64f03d0b622f
(rmail-summary-deleted-p): Fix misplaced paren.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88292
diff
changeset
|
620 (when (rmail-message-deleted-p rmail-current-message) |
64f03d0b622f
(rmail-summary-deleted-p): Fix misplaced paren.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88292
diff
changeset
|
621 (rmail-undelete-previous-message)) |
64f03d0b622f
(rmail-summary-deleted-p): Fix misplaced paren.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88292
diff
changeset
|
622 (when rmail-enable-mime |
64f03d0b622f
(rmail-summary-deleted-p): Fix misplaced paren.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88292
diff
changeset
|
623 (pop-to-buffer rmail-view-buffer)) |
64f03d0b622f
(rmail-summary-deleted-p): Fix misplaced paren.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88292
diff
changeset
|
624 (pop-to-buffer rmail-summary-buffer))))) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
625 |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
626 (defun rmail-summary-undelete-many (&optional n) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
627 "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
|
628 (interactive "P") |
88299
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
629 (with-current-buffer rmail-buffer |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
630 (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
|
631 (rmail-current-message init-msg) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
632 (n (or n rmail-total-messages)) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
633 (msgs-undeled 0)) |
88299
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
634 (while (and (> rmail-current-message 0) (< msgs-undeled n)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
635 (when (rmail-message-deleted-p rmail-current-message) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
636 (rmail-set-attribute "deleted" nil) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
637 (setq msgs-undeled (1+ msgs-undeled))) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
638 (setq rmail-current-message (1- rmail-current-message))) |
88299
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
639 (with-current-buffer rmail-summary-buffer |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
640 (setq rmail-current-message init-msg msgs-undeled 0) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
641 (while (and (> rmail-current-message 0) (< msgs-undeled n)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
642 (when (rmail-summary-deleted-p rmail-current-message) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
643 (rmail-summary-mark-undeleted rmail-current-message) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
644 (setq msgs-undeled (1+ msgs-undeled))) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
645 (setq rmail-current-message (1- rmail-current-message))))))) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
646 |
130 | 647 ;; Rmail Summary mode is suitable only for specially formatted data. |
648 (put 'rmail-summary-mode 'mode-class 'special) | |
649 | |
650 (defun rmail-summary-mode () | |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
651 "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
|
652 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
|
653 corresponding mail messages in the rmail buffer. |
130 | 654 |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
655 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
|
656 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
|
657 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
|
658 |
864d3ca7f2b6
(rmail-summary-wipe): If rmail buffer is not visible,
Richard M. Stallman <rms@gnu.org>
parents:
5006
diff
changeset
|
659 These additional commands exist: |
864d3ca7f2b6
(rmail-summary-wipe): If rmail buffer is not visible,
Richard M. Stallman <rms@gnu.org>
parents:
5006
diff
changeset
|
660 |
864d3ca7f2b6
(rmail-summary-wipe): If rmail buffer is not visible,
Richard M. Stallman <rms@gnu.org>
parents:
5006
diff
changeset
|
661 \\[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
|
662 \\[rmail-summary-wipe] Delete the summary and go to the Rmail buffer. |
130 | 663 |
88186
10d5bd44bd6d
(rmail-summary-font-lock-keywords): Fix regular
Alex Schroeder <alex@gnu.org>
parents:
88181
diff
changeset
|
664 Commands for filtering the summary: |
10d5bd44bd6d
(rmail-summary-font-lock-keywords): Fix regular
Alex Schroeder <alex@gnu.org>
parents:
88181
diff
changeset
|
665 |
10d5bd44bd6d
(rmail-summary-font-lock-keywords): Fix regular
Alex Schroeder <alex@gnu.org>
parents:
88181
diff
changeset
|
666 \\[rmail-summary-by-labels] Filter by label. |
10d5bd44bd6d
(rmail-summary-font-lock-keywords): Fix regular
Alex Schroeder <alex@gnu.org>
parents:
88181
diff
changeset
|
667 \\[rmail-summary-by-topic] Filter by Subject. |
10d5bd44bd6d
(rmail-summary-font-lock-keywords): Fix regular
Alex Schroeder <alex@gnu.org>
parents:
88181
diff
changeset
|
668 Filter by the entire message (header and body) if given a |
10d5bd44bd6d
(rmail-summary-font-lock-keywords): Fix regular
Alex Schroeder <alex@gnu.org>
parents:
88181
diff
changeset
|
669 prefix argument. |
88228
fc29854c8b18
(rmail-summary-mode): Fixed typo in doc string and
Alex Schroeder <alex@gnu.org>
parents:
88217
diff
changeset
|
670 \\[rmail-summary-by-senders] Filter by From field. |
88186
10d5bd44bd6d
(rmail-summary-font-lock-keywords): Fix regular
Alex Schroeder <alex@gnu.org>
parents:
88181
diff
changeset
|
671 \\[rmail-summary-by-recipients] Filter by To, From, and Cc fields. |
10d5bd44bd6d
(rmail-summary-font-lock-keywords): Fix regular
Alex Schroeder <alex@gnu.org>
parents:
88181
diff
changeset
|
672 Filter by To and From only if given a prefix argument. |
10d5bd44bd6d
(rmail-summary-font-lock-keywords): Fix regular
Alex Schroeder <alex@gnu.org>
parents:
88181
diff
changeset
|
673 |
10d5bd44bd6d
(rmail-summary-font-lock-keywords): Fix regular
Alex Schroeder <alex@gnu.org>
parents:
88181
diff
changeset
|
674 The commands listed above take comma-separated lists of regular |
10d5bd44bd6d
(rmail-summary-font-lock-keywords): Fix regular
Alex Schroeder <alex@gnu.org>
parents:
88181
diff
changeset
|
675 expressions. |
10d5bd44bd6d
(rmail-summary-font-lock-keywords): Fix regular
Alex Schroeder <alex@gnu.org>
parents:
88181
diff
changeset
|
676 |
10d5bd44bd6d
(rmail-summary-font-lock-keywords): Fix regular
Alex Schroeder <alex@gnu.org>
parents:
88181
diff
changeset
|
677 \\[rmail-summary-by-regexp] Filter by any header line. |
10d5bd44bd6d
(rmail-summary-font-lock-keywords): Fix regular
Alex Schroeder <alex@gnu.org>
parents:
88181
diff
changeset
|
678 \\[rmail-summary] Restore the default summary. |
10d5bd44bd6d
(rmail-summary-font-lock-keywords): Fix regular
Alex Schroeder <alex@gnu.org>
parents:
88181
diff
changeset
|
679 |
5121
864d3ca7f2b6
(rmail-summary-wipe): If rmail buffer is not visible,
Richard M. Stallman <rms@gnu.org>
parents:
5006
diff
changeset
|
680 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
|
681 |
864d3ca7f2b6
(rmail-summary-wipe): If rmail buffer is not visible,
Richard M. Stallman <rms@gnu.org>
parents:
5006
diff
changeset
|
682 \\[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
|
683 \\[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
|
684 \\[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
|
685 \\[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
|
686 \\[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
|
687 \\[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
|
688 \\[rmail-summary-sort-by-labels] Sort by labels." |
130 | 689 (interactive) |
690 (kill-all-local-variables) | |
691 (setq major-mode 'rmail-summary-mode) | |
692 (setq mode-name "RMAIL Summary") | |
693 (setq truncate-lines t) | |
694 (setq buffer-read-only t) | |
695 (set-syntax-table text-mode-syntax-table) | |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
696 (make-local-variable 'rmail-buffer) |
17096
4a2d9b3990e3
(rmail-new-summary): Setup rmail-view-buffer.
Kenichi Handa <handa@m17n.org>
parents:
16676
diff
changeset
|
697 (make-local-variable 'rmail-view-buffer) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
698 (make-local-variable 'rmail-total-messages) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
699 (make-local-variable 'rmail-current-message) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
700 (setq rmail-current-message nil) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
701 (make-local-variable 'rmail-summary-redo) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
702 (setq rmail-summary-redo nil) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
703 (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
|
704 (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
|
705 (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
|
706 (rmail-summary-enable) |
88155 | 707 (run-mode-hooks 'rmail-summary-mode-hook)) |
130 | 708 |
6724
6728ad7f85e9
(rmail-summary-disable): New function.
Karl Heuer <kwzh@gnu.org>
parents:
6717
diff
changeset
|
709 ;; Summary features need to be disabled during edit mode. |
6728ad7f85e9
(rmail-summary-disable): New function.
Karl Heuer <kwzh@gnu.org>
parents:
6717
diff
changeset
|
710 (defun rmail-summary-disable () |
6726 | 711 (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
|
712 (remove-hook 'post-command-hook 'rmail-summary-rmail-update t) |
6726 | 713 (setq revert-buffer-function nil)) |
6724
6728ad7f85e9
(rmail-summary-disable): New function.
Karl Heuer <kwzh@gnu.org>
parents:
6717
diff
changeset
|
714 |
6728ad7f85e9
(rmail-summary-disable): New function.
Karl Heuer <kwzh@gnu.org>
parents:
6717
diff
changeset
|
715 (defun rmail-summary-enable () |
6726 | 716 (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
|
717 (add-hook 'post-command-hook 'rmail-summary-rmail-update nil t) |
6726 | 718 (setq revert-buffer-function 'rmail-update-summary)) |
6724
6728ad7f85e9
(rmail-summary-disable): New function.
Karl Heuer <kwzh@gnu.org>
parents:
6717
diff
changeset
|
719 |
16242
fa3885bdc49c
(rmail-summary-next-same-subject): Don't set
Richard M. Stallman <rms@gnu.org>
parents:
15658
diff
changeset
|
720 (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
|
721 "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
|
722 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
|
723 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
|
724 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
|
725 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
|
726 |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
727 (defun rmail-summary-rmail-update () |
88130 | 728 "Update the Rmail summary buffer. |
88234
76be5e1eba7d
(rmail-summary-get-summary): Fix display of
Alex Schroeder <alex@gnu.org>
parents:
88230
diff
changeset
|
729 Put the cursor on the beginning of the line containing the |
76be5e1eba7d
(rmail-summary-get-summary): Fix display of
Alex Schroeder <alex@gnu.org>
parents:
88230
diff
changeset
|
730 current message and highlight the buffer. Show in Rmail the |
76be5e1eba7d
(rmail-summary-get-summary): Fix display of
Alex Schroeder <alex@gnu.org>
parents:
88230
diff
changeset
|
731 message described by the summary line that point is on, but only |
76be5e1eba7d
(rmail-summary-get-summary): Fix display of
Alex Schroeder <alex@gnu.org>
parents:
88230
diff
changeset
|
732 if the Rmail buffer is already visible. This is on |
76be5e1eba7d
(rmail-summary-get-summary): Fix display of
Alex Schroeder <alex@gnu.org>
parents:
88230
diff
changeset
|
733 `post-command-hook' in summary buffers." |
88155 | 734 (let (buffer-read-only) |
735 (save-excursion | |
736 ;; If at end of buffer, pretend we are on the last text line. | |
88234
76be5e1eba7d
(rmail-summary-get-summary): Fix display of
Alex Schroeder <alex@gnu.org>
parents:
88230
diff
changeset
|
737 (when (eobp) |
76be5e1eba7d
(rmail-summary-get-summary): Fix display of
Alex Schroeder <alex@gnu.org>
parents:
88230
diff
changeset
|
738 (forward-line -1)) |
76be5e1eba7d
(rmail-summary-get-summary): Fix display of
Alex Schroeder <alex@gnu.org>
parents:
88230
diff
changeset
|
739 ;; Determine the message number corresponding to line point is on. |
88155 | 740 (beginning-of-line) |
741 (skip-chars-forward " ") | |
88166
d20b1cfca610
(rmail-new-summary): Make sure summary buffer is current when selecting message.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88160
diff
changeset
|
742 (let ((msg-num (string-to-number (buffer-substring |
d20b1cfca610
(rmail-new-summary): Make sure summary buffer is current when selecting message.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88160
diff
changeset
|
743 (point) |
d20b1cfca610
(rmail-new-summary): Make sure summary buffer is current when selecting message.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88160
diff
changeset
|
744 (progn (skip-chars-forward "0-9") |
d20b1cfca610
(rmail-new-summary): Make sure summary buffer is current when selecting message.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88160
diff
changeset
|
745 (point)))))) |
88155 | 746 ;; Always leave `unseen' removed if we get out of isearch mode. |
747 ;; Don't let a subsequent isearch restore `unseen'. | |
88234
76be5e1eba7d
(rmail-summary-get-summary): Fix display of
Alex Schroeder <alex@gnu.org>
parents:
88230
diff
changeset
|
748 (when (not isearch-mode) |
76be5e1eba7d
(rmail-summary-get-summary): Fix display of
Alex Schroeder <alex@gnu.org>
parents:
88230
diff
changeset
|
749 (setq rmail-summary-put-back-unseen nil)) |
88155 | 750 (or (eq rmail-current-message msg-num) |
751 (let ((window (get-buffer-window rmail-view-buffer t)) | |
752 (owin (selected-window))) | |
753 (if isearch-mode | |
754 (save-excursion | |
755 (set-buffer rmail-buffer) | |
756 ;; If we first saw the previous message in this | |
757 ;; search, and we have gone to a different message | |
758 ;; while searching, put back `unseen' on the former | |
759 ;; one. | |
760 (if rmail-summary-put-back-unseen | |
761 (rmail-set-attribute "unseen" t | |
762 rmail-current-message)) | |
763 ;; Arrange to do that later, for the new current message, | |
764 ;; if it still has `unseen'. | |
765 (setq rmail-summary-put-back-unseen | |
88189
41d86c3e40fe
(rmail-summary-by-labels): No longer concatenate
Alex Schroeder <alex@gnu.org>
parents:
88186
diff
changeset
|
766 (member "unseen" (rmail-desc-get-keywords msg-num)))) |
88155 | 767 (setq rmail-summary-put-back-unseen nil)) |
768 ;; Go to the desired message. | |
769 (setq rmail-current-message msg-num) | |
770 ;; Update the summary to show the message has been seen. | |
88234
76be5e1eba7d
(rmail-summary-get-summary): Fix display of
Alex Schroeder <alex@gnu.org>
parents:
88230
diff
changeset
|
771 (when (= (following-char) ?-) |
76be5e1eba7d
(rmail-summary-get-summary): Fix display of
Alex Schroeder <alex@gnu.org>
parents:
88230
diff
changeset
|
772 (delete-char 1) |
76be5e1eba7d
(rmail-summary-get-summary): Fix display of
Alex Schroeder <alex@gnu.org>
parents:
88230
diff
changeset
|
773 (insert " ")) |
88155 | 774 (if window |
775 ;; Using save-window-excursion would cause the new value | |
776 ;; of point to get lost. | |
777 (unwind-protect | |
778 (progn | |
779 (select-window window) | |
780 (rmail-show-message msg-num t)) | |
781 (select-window owin)) | |
88234
76be5e1eba7d
(rmail-summary-get-summary): Fix display of
Alex Schroeder <alex@gnu.org>
parents:
88230
diff
changeset
|
782 (when (buffer-name rmail-buffer) |
76be5e1eba7d
(rmail-summary-get-summary): Fix display of
Alex Schroeder <alex@gnu.org>
parents:
88230
diff
changeset
|
783 (save-excursion |
88155 | 784 (set-buffer rmail-buffer) |
785 (rmail-show-message msg-num t)))))) | |
786 (rmail-summary-update-highlight nil))))) | |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
787 |
19111
e561070ee48c
(rmail-summary-mouse-goto-message): New function.
Richard M. Stallman <rms@gnu.org>
parents:
17867
diff
changeset
|
788 (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
|
789 "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
|
790 (interactive "@e") |
e561070ee48c
(rmail-summary-mouse-goto-message): New function.
Richard M. Stallman <rms@gnu.org>
parents:
17867
diff
changeset
|
791 (goto-char (posn-point (event-end event))) |
88130 | 792 (setq rmail-current-message (rmail-summary-get-message-at-point)) |
793 (rmail-summary-rmail-update)) | |
794 | |
795 (defun rmail-summary-get-message-at-point () | |
796 "Return the message number corresponding to the line containing point. | |
797 If the summary buffer contains no messages, nil is returned." | |
798 (save-excursion | |
799 ;; Position point at the beginning of a line. | |
800 (if (eobp) | |
801 (forward-line -1) | |
802 (forward-line 0)) | |
803 ;; Parse the message number. | |
88166
d20b1cfca610
(rmail-new-summary): Make sure summary buffer is current when selecting message.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88160
diff
changeset
|
804 (string-to-number |
88181
49f75e9e02e5
(rmail-summary-get-message-at-point): Handle 5-digit message ids.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88178
diff
changeset
|
805 (buffer-substring (point) (min (point-max) (+ 6 (point))))))) |
88155 | 806 |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
807 (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
|
808 "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
|
809 If N is nil, use the message corresponding to point in the summary |
88130 | 810 buffer and move to that message in the Rmail buffer. |
19111
e561070ee48c
(rmail-summary-mouse-goto-message): New function.
Richard M. Stallman <rms@gnu.org>
parents:
17867
diff
changeset
|
811 |
e561070ee48c
(rmail-summary-mouse-goto-message): New function.
Richard M. Stallman <rms@gnu.org>
parents:
17867
diff
changeset
|
812 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
|
813 If SKIP-RMAIL, don't do anything to the Rmail buffer." |
130 | 814 (interactive "P") |
815 (if (consp n) (setq n (prefix-numeric-value n))) | |
88130 | 816 ;; Do the end of buffer adjustment. |
130 | 817 (if (eobp) (forward-line -1)) |
818 (beginning-of-line) | |
88130 | 819 ;; Set N to the current message unless it was already set by the |
820 ;; caller. | |
88166
d20b1cfca610
(rmail-new-summary): Make sure summary buffer is current when selecting message.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88160
diff
changeset
|
821 (unless n (setq n (rmail-summary-get-message-at-point))) |
88155 | 822 (let* ((obuf (current-buffer)) |
823 (buf rmail-buffer) | |
824 (cur (point)) | |
825 message-not-found | |
88166
d20b1cfca610
(rmail-new-summary): Make sure summary buffer is current when selecting message.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88160
diff
changeset
|
826 (curmsg (string-to-number |
88155 | 827 (buffer-substring (point) |
828 (min (point-max) (+ 6 (point)))))) | |
88166
d20b1cfca610
(rmail-new-summary): Make sure summary buffer is current when selecting message.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88160
diff
changeset
|
829 (total (with-current-buffer buf |
88155 | 830 rmail-total-messages))) |
831 ;; Do a validity check on N. If it is valid then set the current | |
832 ;; summary message to N. `rmail-summary-rmail-update' will then | |
833 ;; actually move point to the selected message. | |
834 (if (< n 1) | |
835 (progn (message "No preceding message") | |
836 (setq n 1))) | |
837 (if (and (> n total) | |
838 (> total 0)) | |
839 (progn (message "No following message") | |
840 (goto-char (point-max)) | |
841 (rmail-summary-goto-msg nil nowarn skip-rmail))) | |
842 (goto-char (point-min)) | |
88159
052f90cd157d
*** empty log message ***
Henrik Enberg <henrik.enberg@telia.com>
parents:
88155
diff
changeset
|
843 (if (not (re-search-forward (format "^%5d[^0-9]" n) nil t)) |
88155 | 844 (progn (or nowarn (message "Message %d not found" n)) |
845 (setq n curmsg) | |
846 (setq message-not-found t) | |
847 (goto-char cur))) | |
848 (beginning-of-line) | |
849 (skip-chars-forward " ") | |
850 (skip-chars-forward "0-9") | |
851 (save-excursion (if (= (following-char) ?-) | |
852 (let ((buffer-read-only nil)) | |
853 (delete-char 1) | |
854 (insert " ")))) | |
855 (rmail-summary-update-highlight message-not-found) | |
856 (beginning-of-line) | |
857 ;; Determine if the Rmail buffer needs to be processed. | |
858 (if skip-rmail | |
859 nil | |
860 ;; It does. | |
861 (let ((selwin (selected-window))) | |
862 (unwind-protect | |
863 (progn (pop-to-buffer buf) | |
864 (rmail-show-message n)) | |
865 (select-window selwin) | |
866 ;; The actions above can alter the current buffer. Preserve it. | |
867 (set-buffer obuf)))))) | |
10489
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
868 |
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
869 ;; 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
|
870 ;; 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
|
871 ;; 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
|
872 (defun rmail-summary-update-highlight (not-found) |
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
873 ;; 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
|
874 (or rmail-summary-overlay |
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
875 (progn |
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
876 (make-local-variable 'rmail-summary-overlay) |
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
877 (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
|
878 ;; 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
|
879 ;; Otherwise, don't highlight anything. |
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
880 (if not-found |
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
881 (overlay-put rmail-summary-overlay 'face nil) |
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
882 (move-overlay rmail-summary-overlay |
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
883 (save-excursion (beginning-of-line) |
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
884 (skip-chars-forward " ") |
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
885 (point)) |
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
886 (save-excursion (end-of-line) (point))) |
5906e2f35eb9
(rmail-summary-update-highlight): New function.
Richard M. Stallman <rms@gnu.org>
parents:
10142
diff
changeset
|
887 (overlay-put rmail-summary-overlay 'face 'highlight))) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
888 |
130 | 889 (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
|
890 "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
|
891 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
|
892 advance to the next message." |
130 | 893 (interactive "P") |
10030
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
894 (if (eq dist '-) |
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
895 (rmail-summary-scroll-msg-down nil) |
17096
4a2d9b3990e3
(rmail-new-summary): Setup rmail-view-buffer.
Kenichi Handa <handa@m17n.org>
parents:
16676
diff
changeset
|
896 (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
|
897 (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
|
898 (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
|
899 (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
|
900 (prog1 |
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
901 ;; 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
|
902 (save-excursion |
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
903 (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
|
904 (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
|
905 (end-of-line) |
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
906 (eobp))) |
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
907 (select-window rmail-summary-window))) |
14940
9dceb7afbb68
(rmail-summary-scroll-between-messages): New var.
Richard M. Stallman <rms@gnu.org>
parents:
14786
diff
changeset
|
908 (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
|
909 (error "End of buffer") |
9dceb7afbb68
(rmail-summary-scroll-between-messages): New var.
Richard M. Stallman <rms@gnu.org>
parents:
14786
diff
changeset
|
910 (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
|
911 (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
|
912 (scroll-other-window dist))) |
16676
82e54a854639
(rmail-summary-beginning-of-message):
Richard M. Stallman <rms@gnu.org>
parents:
16389
diff
changeset
|
913 ;; 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
|
914 (rmail-summary-beginning-of-message))))) |
130 | 915 |
916 (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
|
917 "Scroll the Rmail window backward. |
16676
82e54a854639
(rmail-summary-beginning-of-message):
Richard M. Stallman <rms@gnu.org>
parents:
16389
diff
changeset
|
918 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
|
919 move to the previous message." |
130 | 920 (interactive "P") |
10030
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
921 (if (eq dist '-) |
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
922 (rmail-summary-scroll-msg-up nil) |
37614
17db314acfc2
(rmail-message-subject-p): Process the result
Gerd Moellmann <gerd@gnu.org>
parents:
37590
diff
changeset
|
923 (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
|
924 (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
|
925 (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
|
926 (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
|
927 (prog1 |
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
928 ;; 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
|
929 (save-excursion |
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
930 (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
|
931 (beginning-of-line) |
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
932 (bobp)) |
f0264fb75509
(rmail-summary-scroll-msg-up): If at end of message,
Richard M. Stallman <rms@gnu.org>
parents:
9545
diff
changeset
|
933 (select-window rmail-summary-window))) |
14940
9dceb7afbb68
(rmail-summary-scroll-between-messages): New var.
Richard M. Stallman <rms@gnu.org>
parents:
14786
diff
changeset
|
934 (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
|
935 (error "Beginning of buffer") |
9dceb7afbb68
(rmail-summary-scroll-between-messages): New var.
Richard M. Stallman <rms@gnu.org>
parents:
14786
diff
changeset
|
936 (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
|
937 (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
|
938 (scroll-other-window-down dist))) |
16676
82e54a854639
(rmail-summary-beginning-of-message):
Richard M. Stallman <rms@gnu.org>
parents:
16389
diff
changeset
|
939 ;; 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
|
940 (rmail-summary-beginning-of-message))))) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
941 |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
942 (defun rmail-summary-beginning-of-message () |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
943 "Show current message from the beginning." |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
944 (interactive) |
88155 | 945 (rmail-summary-show-message 'BEG)) |
946 | |
947 (defun rmail-summary-end-of-message () | |
948 "Show bottom of current message." | |
949 (interactive) | |
950 (rmail-summary-show-message 'END)) | |
951 | |
952 (defun rmail-summary-show-message (where) | |
953 "Show current mail message. | |
954 Position it according to WHERE which can be BEG or END" | |
16676
82e54a854639
(rmail-summary-beginning-of-message):
Richard M. Stallman <rms@gnu.org>
parents:
16389
diff
changeset
|
955 (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
|
956 ;; 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
|
957 (let ((buffer rmail-view-buffer)) |
16676
82e54a854639
(rmail-summary-beginning-of-message):
Richard M. Stallman <rms@gnu.org>
parents:
16389
diff
changeset
|
958 (split-window (selected-window) rmail-summary-window-size) |
82e54a854639
(rmail-summary-beginning-of-message):
Richard M. Stallman <rms@gnu.org>
parents:
16389
diff
changeset
|
959 (select-window (frame-first-window)) |
37614
17db314acfc2
(rmail-message-subject-p): Process the result
Gerd Moellmann <gerd@gnu.org>
parents:
37590
diff
changeset
|
960 (pop-to-buffer rmail-view-buffer) |
16676
82e54a854639
(rmail-summary-beginning-of-message):
Richard M. Stallman <rms@gnu.org>
parents:
16389
diff
changeset
|
961 ;; 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
|
962 ;; 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
|
963 (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
|
964 (delete-other-windows))) |
37614
17db314acfc2
(rmail-message-subject-p): Process the result
Gerd Moellmann <gerd@gnu.org>
parents:
37590
diff
changeset
|
965 (pop-to-buffer rmail-view-buffer)) |
88299
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
966 (cond ((eq where 'BEG) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
967 (goto-char (point-min)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
968 (search-forward "\n\n")) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
969 ((eq where 'END) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
970 (goto-char (point-max)) |
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
971 (recenter (1- (window-height))))) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
972 (pop-to-buffer rmail-summary-buffer)) |
130 | 973 |
15488
fd4273de8c97
(rmail-summary-bury): New function.
Richard M. Stallman <rms@gnu.org>
parents:
15409
diff
changeset
|
974 (defun rmail-summary-bury () |
fd4273de8c97
(rmail-summary-bury): New function.
Richard M. Stallman <rms@gnu.org>
parents:
15409
diff
changeset
|
975 "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
|
976 (interactive) |
fd4273de8c97
(rmail-summary-bury): New function.
Richard M. Stallman <rms@gnu.org>
parents:
15409
diff
changeset
|
977 (let ((buffer-to-bury (current-buffer))) |
fd4273de8c97
(rmail-summary-bury): New function.
Richard M. Stallman <rms@gnu.org>
parents:
15409
diff
changeset
|
978 (let (window) |
fd4273de8c97
(rmail-summary-bury): New function.
Richard M. Stallman <rms@gnu.org>
parents:
15409
diff
changeset
|
979 (while (setq window (get-buffer-window rmail-buffer)) |
fd4273de8c97
(rmail-summary-bury): New function.
Richard M. Stallman <rms@gnu.org>
parents:
15409
diff
changeset
|
980 (set-window-buffer window (other-buffer rmail-buffer))) |
fd4273de8c97
(rmail-summary-bury): New function.
Richard M. Stallman <rms@gnu.org>
parents:
15409
diff
changeset
|
981 (bury-buffer rmail-buffer)) |
fd4273de8c97
(rmail-summary-bury): New function.
Richard M. Stallman <rms@gnu.org>
parents:
15409
diff
changeset
|
982 (switch-to-buffer (other-buffer buffer-to-bury)) |
fd4273de8c97
(rmail-summary-bury): New function.
Richard M. Stallman <rms@gnu.org>
parents:
15409
diff
changeset
|
983 (bury-buffer buffer-to-bury))) |
fd4273de8c97
(rmail-summary-bury): New function.
Richard M. Stallman <rms@gnu.org>
parents:
15409
diff
changeset
|
984 |
130 | 985 (defun rmail-summary-quit () |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
986 "Quit out of Rmail and Rmail summary." |
130 | 987 (interactive) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
988 (rmail-summary-wipe) |
130 | 989 (rmail-quit)) |
990 | |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
991 (defun rmail-summary-wipe () |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
992 "Kill and wipe away Rmail summary, remaining within Rmail." |
130 | 993 (interactive) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
994 (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
|
995 (let ((local-rmail-buffer rmail-view-buffer)) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
996 (kill-buffer (current-buffer)) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
997 ;; Delete window if not only one. |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
998 (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
|
999 (delete-window)) |
5121
864d3ca7f2b6
(rmail-summary-wipe): If rmail buffer is not visible,
Richard M. Stallman <rms@gnu.org>
parents:
5006
diff
changeset
|
1000 ;; 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
|
1001 (pop-to-buffer local-rmail-buffer))) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1002 |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1003 (defun rmail-summary-expunge () |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1004 "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
|
1005 (interactive) |
88130 | 1006 (set-buffer rmail-buffer) |
1007 (rmail-expunge) | |
1008 (set-buffer rmail-summary-buffer)) | |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1009 |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1010 (defun rmail-summary-expunge-and-save () |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1011 "Expunge and save RMAIL file." |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1012 (interactive) |
88130 | 1013 (set-buffer rmail-buffer) |
1014 (rmail-expunge) | |
1015 (save-buffer) | |
1016 (set-buffer rmail-summary-buffer) | |
5861
882894a8c217
(rmail-summary-expunge-and-save): Mark summary buffer as unmodified.
Karl Heuer <kwzh@gnu.org>
parents:
5709
diff
changeset
|
1017 (set-buffer-modified-p nil)) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1018 |
19570
a2a72d1e0970
(rmail-summary-get-new-mail):
Richard M. Stallman <rms@gnu.org>
parents:
19111
diff
changeset
|
1019 (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
|
1020 "Get new mail and recompute summary headers. |
a2a72d1e0970
(rmail-summary-get-new-mail):
Richard M. Stallman <rms@gnu.org>
parents:
19111
diff
changeset
|
1021 |
a2a72d1e0970
(rmail-summary-get-new-mail):
Richard M. Stallman <rms@gnu.org>
parents:
19111
diff
changeset
|
1022 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
|
1023 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
|
1024 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
|
1025 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
|
1026 (interactive |
a2a72d1e0970
(rmail-summary-get-new-mail):
Richard M. Stallman <rms@gnu.org>
parents:
19111
diff
changeset
|
1027 (list (if current-prefix-arg |
a2a72d1e0970
(rmail-summary-get-new-mail):
Richard M. Stallman <rms@gnu.org>
parents:
19111
diff
changeset
|
1028 (read-file-name "Get new mail from file: ")))) |
88201
f6f1785286db
(rmail-summary-get-new-mail): Only call
Henrik Enberg <henrik.enberg@telia.com>
parents:
88189
diff
changeset
|
1029 (let (current-message new-mail) |
88130 | 1030 (with-current-buffer rmail-buffer |
88201
f6f1785286db
(rmail-summary-get-new-mail): Only call
Henrik Enberg <henrik.enberg@telia.com>
parents:
88189
diff
changeset
|
1031 (setq new-mail (rmail-get-new-mail file-name) |
f6f1785286db
(rmail-summary-get-new-mail): Only call
Henrik Enberg <henrik.enberg@telia.com>
parents:
88189
diff
changeset
|
1032 current-message rmail-current-message)) |
f6f1785286db
(rmail-summary-get-new-mail): Only call
Henrik Enberg <henrik.enberg@telia.com>
parents:
88189
diff
changeset
|
1033 ;; If new mail was found, display of the correct message was |
f6f1785286db
(rmail-summary-get-new-mail): Only call
Henrik Enberg <henrik.enberg@telia.com>
parents:
88189
diff
changeset
|
1034 ;; done elsewhere. |
f6f1785286db
(rmail-summary-get-new-mail): Only call
Henrik Enberg <henrik.enberg@telia.com>
parents:
88189
diff
changeset
|
1035 (unless new-mail |
f6f1785286db
(rmail-summary-get-new-mail): Only call
Henrik Enberg <henrik.enberg@telia.com>
parents:
88189
diff
changeset
|
1036 (rmail-summary-goto-msg current-message nil t)))) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1037 |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1038 (defun rmail-summary-input (filename) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1039 "Run Rmail on file FILENAME." |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1040 (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
|
1041 ;; 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
|
1042 (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
|
1043 (rmail filename)) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1044 |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1045 (defun rmail-summary-first-message () |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1046 "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
|
1047 (interactive) |
88155 | 1048 (with-no-warnings |
1049 (beginning-of-buffer))) | |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1050 |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1051 (defun rmail-summary-last-message () |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1052 "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
|
1053 (interactive) |
88155 | 1054 (with-no-warnings |
1055 (end-of-buffer)) | |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1056 (forward-line -1)) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1057 |
88287
c4875198e277
(rmail-summary-edit-map): Rewrite.
Alex Schroeder <alex@gnu.org>
parents:
88284
diff
changeset
|
1058 (defvar rmail-summary-edit-map |
c4875198e277
(rmail-summary-edit-map): Rewrite.
Alex Schroeder <alex@gnu.org>
parents:
88284
diff
changeset
|
1059 (let ((map (nconc (make-sparse-keymap) text-mode-map))) |
c4875198e277
(rmail-summary-edit-map): Rewrite.
Alex Schroeder <alex@gnu.org>
parents:
88284
diff
changeset
|
1060 (define-key map "\C-c\C-c" 'rmail-cease-edit) |
c4875198e277
(rmail-summary-edit-map): Rewrite.
Alex Schroeder <alex@gnu.org>
parents:
88284
diff
changeset
|
1061 (define-key map "\C-c\C-]" 'rmail-abort-edit) |
c4875198e277
(rmail-summary-edit-map): Rewrite.
Alex Schroeder <alex@gnu.org>
parents:
88284
diff
changeset
|
1062 map) |
c4875198e277
(rmail-summary-edit-map): Rewrite.
Alex Schroeder <alex@gnu.org>
parents:
88284
diff
changeset
|
1063 "Mode map to use when editing the rmail summary.") |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1064 |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1065 (defun rmail-summary-edit-current-message () |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1066 "Edit the contents of this message." |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1067 (interactive) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1068 (pop-to-buffer rmail-buffer) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1069 (rmail-edit-current-message) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1070 (use-local-map rmail-summary-edit-map)) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1071 |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1072 (defun rmail-summary-cease-edit () |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1073 "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
|
1074 (interactive) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1075 (rmail-cease-edit) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1076 (pop-to-buffer rmail-summary-buffer)) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1077 |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1078 (defun rmail-summary-abort-edit () |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1079 "Abort edit of current message; restore original contents. |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1080 Go back to summary buffer." |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1081 (interactive) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1082 (rmail-abort-edit) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1083 (pop-to-buffer rmail-summary-buffer)) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1084 |
3862
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1085 (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
|
1086 "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
|
1087 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
|
1088 backwards (through earlier messages). |
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1089 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
|
1090 (interactive |
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1091 (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
|
1092 (prompt |
88155 | 1093 (concat (if reversep "Reverse " "") "Rmail search (regexp")) |
3862
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1094 regexp) |
88155 | 1095 (setq prompt |
1096 (concat prompt | |
1097 (if rmail-search-last-regexp | |
1098 (concat ", default " | |
1099 rmail-search-last-regexp "): ") | |
1100 "): "))) | |
3862
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1101 (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
|
1102 (cond ((not (equal regexp "")) |
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1103 (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
|
1104 ((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
|
1105 (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
|
1106 (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
|
1107 (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
|
1108 ;; 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
|
1109 ;; 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
|
1110 (let ((buffer (current-buffer))) |
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1111 (unwind-protect |
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1112 (progn |
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1113 (set-buffer rmail-buffer) |
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1114 (rmail-search regexp (- n))) |
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1115 (set-buffer buffer)))) |
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1116 |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1117 (defun rmail-summary-search (regexp &optional n) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1118 "Show message containing next match for REGEXP. |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1119 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
|
1120 backwards (through earlier messages). |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1121 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
|
1122 (interactive |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1123 (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
|
1124 (prompt |
88155 | 1125 (concat (if reversep "Reverse " "") "Rmail search (regexp")) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1126 regexp) |
88155 | 1127 (setq prompt |
1128 (concat prompt | |
1129 (if rmail-search-last-regexp | |
1130 (concat ", default " | |
1131 rmail-search-last-regexp "): ") | |
1132 "): "))) | |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1133 (setq regexp (read-string prompt)) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1134 (cond ((not (equal regexp "")) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1135 (setq rmail-search-last-regexp regexp)) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1136 ((not rmail-search-last-regexp) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1137 (error "No previous Rmail search string"))) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1138 (list rmail-search-last-regexp |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1139 (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
|
1140 ;; 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
|
1141 ;; 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
|
1142 (let ((buffer (current-buffer))) |
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1143 (unwind-protect |
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1144 (progn |
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1145 (set-buffer rmail-buffer) |
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1146 (rmail-search regexp n)) |
d65e83bd1120
(rmail-summary-mode-map): Add local menu bar bindings.
Richard M. Stallman <rms@gnu.org>
parents:
3509
diff
changeset
|
1147 (set-buffer buffer)))) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1148 |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1149 (defun rmail-summary-toggle-header () |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1150 "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
|
1151 (interactive) |
88166
d20b1cfca610
(rmail-new-summary): Make sure summary buffer is current when selecting message.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88160
diff
changeset
|
1152 (with-current-buffer rmail-buffer |
88130 | 1153 (rmail-toggle-header))) |
11175
025aeb70cfed
(rmail-summary-toggle-header): Make header visible in message buffer.
Richard M. Stallman <rms@gnu.org>
parents:
10784
diff
changeset
|
1154 |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1155 (defun rmail-summary-add-label (label) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1156 "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
|
1157 Completion is performed over known labels when reading." |
88166
d20b1cfca610
(rmail-new-summary): Make sure summary buffer is current when selecting message.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88160
diff
changeset
|
1158 (interactive (list (with-current-buffer rmail-buffer |
3461
1dec1449324d
(rmail-summary-expunge-and-save):
Richard M. Stallman <rms@gnu.org>
parents:
3443
diff
changeset
|
1159 (rmail-read-label "Add label")))) |
88166
d20b1cfca610
(rmail-new-summary): Make sure summary buffer is current when selecting message.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88160
diff
changeset
|
1160 (with-current-buffer rmail-buffer |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1161 (rmail-add-label label))) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1162 |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1163 (defun rmail-summary-kill-label (label) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1164 "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
|
1165 Completion is performed over known labels when reading." |
88166
d20b1cfca610
(rmail-new-summary): Make sure summary buffer is current when selecting message.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88160
diff
changeset
|
1166 (interactive (list (with-current-buffer rmail-buffer |
88217
8d6ba139b4a1
(rmail-make-summary-line-1)
Alex Schroeder <alex@gnu.org>
parents:
88201
diff
changeset
|
1167 (rmail-read-label "Kill label" t)))) |
88166
d20b1cfca610
(rmail-new-summary): Make sure summary buffer is current when selecting message.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88160
diff
changeset
|
1168 (with-current-buffer rmail-buffer |
88335
7f7748896b97
(rmail-summary-kill-label): Call rmail-kill-label
Alex Schroeder <alex@gnu.org>
parents:
88324
diff
changeset
|
1169 (rmail-kill-label label))) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1170 |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1171 ;;;; *** Rmail Summary Mailing Commands *** |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1172 |
36746
6e4beb27bc38
(rmail-summary-override-mail-send-and-exit):
Gerd Moellmann <gerd@gnu.org>
parents:
34482
diff
changeset
|
1173 (defun rmail-summary-override-mail-send-and-exit () |
88130 | 1174 "Replace bindings to 'mail-send-and-exit with 'rmail-summary-send-and-exit" |
36746
6e4beb27bc38
(rmail-summary-override-mail-send-and-exit):
Gerd Moellmann <gerd@gnu.org>
parents:
34482
diff
changeset
|
1175 (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
|
1176 (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
|
1177 (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
|
1178 |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1179 (defun rmail-summary-mail () |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1180 "Send mail in another window. |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1181 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
|
1182 original message into it." |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1183 (interactive) |
10784
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1184 (let ((window (get-buffer-window rmail-buffer))) |
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1185 (if window |
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1186 (select-window window) |
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1187 (set-buffer rmail-buffer))) |
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1188 (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
|
1189 (rmail-summary-override-mail-send-and-exit)) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1190 |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1191 (defun rmail-summary-continue () |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1192 "Continue composing outgoing message previously being composed." |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1193 (interactive) |
10784
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1194 (let ((window (get-buffer-window rmail-buffer))) |
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1195 (if window |
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1196 (select-window window) |
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1197 (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
|
1198 (rmail-start-mail t)) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1199 |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1200 (defun rmail-summary-reply (just-sender) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1201 "Reply to the current message. |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1202 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
|
1203 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
|
1204 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
|
1205 (interactive "P") |
37614
17db314acfc2
(rmail-message-subject-p): Process the result
Gerd Moellmann <gerd@gnu.org>
parents:
37590
diff
changeset
|
1206 (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
|
1207 (if window |
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1208 (select-window window) |
37614
17db314acfc2
(rmail-message-subject-p): Process the result
Gerd Moellmann <gerd@gnu.org>
parents:
37590
diff
changeset
|
1209 (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
|
1210 (rmail-reply just-sender) |
36746
6e4beb27bc38
(rmail-summary-override-mail-send-and-exit):
Gerd Moellmann <gerd@gnu.org>
parents:
34482
diff
changeset
|
1211 (rmail-summary-override-mail-send-and-exit)) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1212 |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1213 (defun rmail-summary-retry-failure () |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1214 "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
|
1215 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
|
1216 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
|
1217 (interactive) |
10784
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1218 (let ((window (get-buffer-window rmail-buffer))) |
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1219 (if window |
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1220 (select-window window) |
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1221 (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
|
1222 (rmail-retry-failure) |
36746
6e4beb27bc38
(rmail-summary-override-mail-send-and-exit):
Gerd Moellmann <gerd@gnu.org>
parents:
34482
diff
changeset
|
1223 (rmail-summary-override-mail-send-and-exit)) |
2077
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-send-and-exit () |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1226 "Send mail reply and return to summary buffer." |
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 (mail-send-and-exit t)) |
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1229 |
5006
356f6a751fdf
(rmail-summary-forward): Accept prefix arg
Richard M. Stallman <rms@gnu.org>
parents:
4990
diff
changeset
|
1230 (defun rmail-summary-forward (resend) |
356f6a751fdf
(rmail-summary-forward): Accept prefix arg
Richard M. Stallman <rms@gnu.org>
parents:
4990
diff
changeset
|
1231 "Forward the current message to another user. |
356f6a751fdf
(rmail-summary-forward): Accept prefix arg
Richard M. Stallman <rms@gnu.org>
parents:
4990
diff
changeset
|
1232 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
|
1233 see the documentation of `rmail-resend'." |
356f6a751fdf
(rmail-summary-forward): Accept prefix arg
Richard M. Stallman <rms@gnu.org>
parents:
4990
diff
changeset
|
1234 (interactive "P") |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1235 (save-excursion |
10784
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1236 (let ((window (get-buffer-window rmail-buffer))) |
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1237 (if window |
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1238 (select-window window) |
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1239 (set-buffer rmail-buffer))) |
5006
356f6a751fdf
(rmail-summary-forward): Accept prefix arg
Richard M. Stallman <rms@gnu.org>
parents:
4990
diff
changeset
|
1240 (rmail-forward resend) |
36746
6e4beb27bc38
(rmail-summary-override-mail-send-and-exit):
Gerd Moellmann <gerd@gnu.org>
parents:
34482
diff
changeset
|
1241 (rmail-summary-override-mail-send-and-exit))) |
9448
99ec41e9cb2e
(rmail-summary-resend): New function.
Richard M. Stallman <rms@gnu.org>
parents:
9432
diff
changeset
|
1242 |
99ec41e9cb2e
(rmail-summary-resend): New function.
Richard M. Stallman <rms@gnu.org>
parents:
9432
diff
changeset
|
1243 (defun rmail-summary-resend () |
49637
32bf542aaf1c
(rmail-summary-previous-msg): Add docstring.
John Paul Wallington <jpw@pobox.com>
parents:
49598
diff
changeset
|
1244 "Resend current message using `rmail-resend'." |
9448
99ec41e9cb2e
(rmail-summary-resend): New function.
Richard M. Stallman <rms@gnu.org>
parents:
9432
diff
changeset
|
1245 (interactive) |
99ec41e9cb2e
(rmail-summary-resend): New function.
Richard M. Stallman <rms@gnu.org>
parents:
9432
diff
changeset
|
1246 (save-excursion |
10784
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1247 (let ((window (get-buffer-window rmail-buffer))) |
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1248 (if window |
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1249 (select-window window) |
fdc9df3761d8
(rmail-summary-mail, rmail-summary-continue)
Richard M. Stallman <rms@gnu.org>
parents:
10663
diff
changeset
|
1250 (set-buffer rmail-buffer))) |
9448
99ec41e9cb2e
(rmail-summary-resend): New function.
Richard M. Stallman <rms@gnu.org>
parents:
9432
diff
changeset
|
1251 (call-interactively 'rmail-resend))) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1252 |
88130 | 1253 ;;;; Summary output commands. |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1254 |
24837
e8e1a22961da
(rmail-summary-output-to-rmail-file): Fix typo.
Karl Heuer <kwzh@gnu.org>
parents:
23985
diff
changeset
|
1255 (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
|
1256 "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
|
1257 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
|
1258 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
|
1259 buffer visiting that file. |
8d1c55a12c94
(rmail-summary-output-to-rmail-file):
Karl Heuer <kwzh@gnu.org>
parents:
22546
diff
changeset
|
1260 |
8d1c55a12c94
(rmail-summary-output-to-rmail-file):
Karl Heuer <kwzh@gnu.org>
parents:
22546
diff
changeset
|
1261 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
|
1262 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
|
1263 (interactive |
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1264 (progn (require 'rmailout) |
88178
62610a0cbb6e
(rmail-summary-output-to-rmail-file): Use `rmail-output-read-file-name'.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88172
diff
changeset
|
1265 (list (rmail-output-read-file-name) |
23985
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1266 (prefix-numeric-value current-prefix-arg)))) |
24849
0e79d47f61d6
(rmail-summary-output-to-rmail-file): Avoid
Karl Heuer <kwzh@gnu.org>
parents:
24837
diff
changeset
|
1267 (let ((i 0) prev-msg) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46130
diff
changeset
|
1268 (while |
24849
0e79d47f61d6
(rmail-summary-output-to-rmail-file): Avoid
Karl Heuer <kwzh@gnu.org>
parents:
24837
diff
changeset
|
1269 (and (< i n) |
0e79d47f61d6
(rmail-summary-output-to-rmail-file): Avoid
Karl Heuer <kwzh@gnu.org>
parents:
24837
diff
changeset
|
1270 (progn (rmail-summary-goto-msg) |
0e79d47f61d6
(rmail-summary-output-to-rmail-file): Avoid
Karl Heuer <kwzh@gnu.org>
parents:
24837
diff
changeset
|
1271 (not (eq prev-msg |
0e79d47f61d6
(rmail-summary-output-to-rmail-file): Avoid
Karl Heuer <kwzh@gnu.org>
parents:
24837
diff
changeset
|
1272 (setq prev-msg |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46130
diff
changeset
|
1273 (with-current-buffer rmail-buffer |
24849
0e79d47f61d6
(rmail-summary-output-to-rmail-file): Avoid
Karl Heuer <kwzh@gnu.org>
parents:
24837
diff
changeset
|
1274 rmail-current-message)))))) |
23985
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1275 (setq i (1+ i)) |
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1276 (with-current-buffer rmail-buffer |
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1277 (let ((rmail-delete-after-output nil)) |
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1278 (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
|
1279 (if rmail-delete-after-output |
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1280 (rmail-summary-delete-forward nil) |
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1281 (if (< i n) |
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1282 (rmail-summary-next-msg 1)))))) |
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1283 |
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1284 (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
|
1285 "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
|
1286 |
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1287 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
|
1288 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
|
1289 (interactive |
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1290 (progn (require 'rmailout) |
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1291 (list (rmail-output-read-file-name) |
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1292 (prefix-numeric-value current-prefix-arg)))) |
43481
21de4f4cda23
(rmail-summary-output): Properly advance
Richard M. Stallman <rms@gnu.org>
parents:
42001
diff
changeset
|
1293 (let ((i 0) prev-msg) |
21de4f4cda23
(rmail-summary-output): Properly advance
Richard M. Stallman <rms@gnu.org>
parents:
42001
diff
changeset
|
1294 (while |
21de4f4cda23
(rmail-summary-output): Properly advance
Richard M. Stallman <rms@gnu.org>
parents:
42001
diff
changeset
|
1295 (and (< i n) |
21de4f4cda23
(rmail-summary-output): Properly advance
Richard M. Stallman <rms@gnu.org>
parents:
42001
diff
changeset
|
1296 (progn (rmail-summary-goto-msg) |
21de4f4cda23
(rmail-summary-output): Properly advance
Richard M. Stallman <rms@gnu.org>
parents:
42001
diff
changeset
|
1297 (not (eq prev-msg |
21de4f4cda23
(rmail-summary-output): Properly advance
Richard M. Stallman <rms@gnu.org>
parents:
42001
diff
changeset
|
1298 (setq prev-msg |
21de4f4cda23
(rmail-summary-output): Properly advance
Richard M. Stallman <rms@gnu.org>
parents:
42001
diff
changeset
|
1299 (with-current-buffer rmail-buffer |
21de4f4cda23
(rmail-summary-output): Properly advance
Richard M. Stallman <rms@gnu.org>
parents:
42001
diff
changeset
|
1300 rmail-current-message)))))) |
23985
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1301 (setq i (1+ i)) |
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1302 (with-current-buffer rmail-buffer |
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1303 (let ((rmail-delete-after-output nil)) |
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1304 (rmail-output file-name 1))) |
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1305 (if rmail-delete-after-output |
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1306 (rmail-summary-delete-forward nil) |
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1307 (if (< i n) |
9cdc05332687
(rmail-summary-output-to-rmail-file):
Richard M. Stallman <rms@gnu.org>
parents:
23831
diff
changeset
|
1308 (rmail-summary-next-msg 1)))))) |
2077
6885836c2f98
(rmail-update-summary): New function.
Richard M. Stallman <rms@gnu.org>
parents:
845
diff
changeset
|
1309 |
8635
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
1310 (defun rmail-summary-output-menu () |
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
1311 "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
|
1312 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
|
1313 The variables `rmail-secondary-file-directory' and |
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
1314 `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
|
1315 (interactive) |
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
1316 (save-excursion |
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
1317 (set-buffer rmail-buffer) |
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
1318 (let ((rmail-delete-after-output nil)) |
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
1319 (call-interactively 'rmail-output-menu))) |
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
1320 (if rmail-delete-after-output |
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
1321 (rmail-summary-delete-forward nil))) |
a241401a67ff
(rmail-summary-output-menu): New command.
Richard M. Stallman <rms@gnu.org>
parents:
8547
diff
changeset
|
1322 |
8911
3abf3f2ef6cf
(rmail-summary-construct-io-menu): New function.
Richard M. Stallman <rms@gnu.org>
parents:
8728
diff
changeset
|
1323 (defun rmail-summary-construct-io-menu () |
3abf3f2ef6cf
(rmail-summary-construct-io-menu): New function.
Richard M. Stallman <rms@gnu.org>
parents:
8728
diff
changeset
|
1324 (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
|
1325 (if files |
8911
3abf3f2ef6cf
(rmail-summary-construct-io-menu): New function.
Richard M. Stallman <rms@gnu.org>
parents:
8728
diff
changeset
|
1326 (progn |
3abf3f2ef6cf
(rmail-summary-construct-io-menu): New function.
Richard M. Stallman <rms@gnu.org>
parents:
8728
diff
changeset
|
1327 (define-key rmail-summary-mode-map [menu-bar classify input-menu] |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46130
diff
changeset
|
1328 (cons "Input Rmail File" |
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46130
diff
changeset
|
1329 (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
|
1330 files |
8911
3abf3f2ef6cf
(rmail-summary-construct-io-menu): New function.
Richard M. Stallman <rms@gnu.org>
parents:
8728
diff
changeset
|
1331 'rmail-summary-input))) |
3abf3f2ef6cf
(rmail-summary-construct-io-menu): New function.
Richard M. Stallman <rms@gnu.org>
parents:
8728
diff
changeset
|
1332 (define-key rmail-summary-mode-map [menu-bar classify output-menu] |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46130
diff
changeset
|
1333 (cons "Output Rmail File" |
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46130
diff
changeset
|
1334 (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
|
1335 files |
7946d20948fc
(rmail-summary-construct-io-menu): Use all of FILES.
Richard M. Stallman <rms@gnu.org>
parents:
12911
diff
changeset
|
1336 '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
|
1337 (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
|
1338 '("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
|
1339 (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
|
1340 '("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
|
1341 |
22203
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
1342 (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
|
1343 "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
|
1344 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
|
1345 (interactive) |
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
1346 (save-excursion |
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
1347 (set-buffer rmail-buffer) |
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
1348 (let ((rmail-delete-after-output nil)) |
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
1349 (if file-name |
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
1350 (rmail-output-body-to-file file-name) |
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
1351 (call-interactively 'rmail-output-body-to-file)))) |
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
1352 (if rmail-delete-after-output |
481d174f762a
(rmail-summary-output-body): New function.
Richard M. Stallman <rms@gnu.org>
parents:
20081
diff
changeset
|
1353 (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
|
1354 |
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1355 ;; 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
|
1356 |
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1357 (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
|
1358 "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
|
1359 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
|
1360 (interactive "P") |
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1361 (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
|
1362 |
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1363 (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
|
1364 "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
|
1365 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
|
1366 (interactive "P") |
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1367 (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
|
1368 |
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1369 (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
|
1370 "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
|
1371 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
|
1372 (interactive "P") |
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1373 (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
|
1374 |
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1375 (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
|
1376 "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
|
1377 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
|
1378 (interactive "P") |
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1379 (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
|
1380 |
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1381 (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
|
1382 "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
|
1383 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
|
1384 (interactive "P") |
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1385 (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
|
1386 |
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1387 (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
|
1388 "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
|
1389 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
|
1390 (interactive "P") |
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1391 (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
|
1392 |
37590
003e23c611eb
(rmail-summary-sort-by-labels): Renamed
Gerd Moellmann <gerd@gnu.org>
parents:
36746
diff
changeset
|
1393 (defun rmail-summary-sort-by-labels (reverse labels) |
003e23c611eb
(rmail-summary-sort-by-labels): Renamed
Gerd Moellmann <gerd@gnu.org>
parents:
36746
diff
changeset
|
1394 "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
|
1395 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
|
1396 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
|
1397 (interactive "P\nsSort by labels: ") |
2121bf252398
(rmail-summary-sort-by-keywords): New function.
Karl Heuer <kwzh@gnu.org>
parents:
6688
diff
changeset
|
1398 (rmail-sort-from-summary |
2121bf252398
(rmail-summary-sort-by-keywords): New function.
Karl Heuer <kwzh@gnu.org>
parents:
6688
diff
changeset
|
1399 (function (lambda (reverse) |
37590
003e23c611eb
(rmail-summary-sort-by-labels): Renamed
Gerd Moellmann <gerd@gnu.org>
parents:
36746
diff
changeset
|
1400 (rmail-sort-by-labels reverse labels))) |
6717
2121bf252398
(rmail-summary-sort-by-keywords): New function.
Karl Heuer <kwzh@gnu.org>
parents:
6688
diff
changeset
|
1401 reverse)) |
2121bf252398
(rmail-summary-sort-by-keywords): New function.
Karl Heuer <kwzh@gnu.org>
parents:
6688
diff
changeset
|
1402 |
3879
b8c99f30ca3f
(rmail-summary-mode-map): Bind summary sort commands.
Richard M. Stallman <rms@gnu.org>
parents:
3862
diff
changeset
|
1403 (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
|
1404 "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
|
1405 (require 'rmailsort) |
6582
bac8e17d51b3
(rmail-sort-from-summary): Preserve window selection.
Karl Heuer <kwzh@gnu.org>
parents:
6422
diff
changeset
|
1406 (let ((selwin (selected-window))) |
bac8e17d51b3
(rmail-sort-from-summary): Preserve window selection.
Karl Heuer <kwzh@gnu.org>
parents:
6422
diff
changeset
|
1407 (unwind-protect |
bac8e17d51b3
(rmail-sort-from-summary): Preserve window selection.
Karl Heuer <kwzh@gnu.org>
parents:
6422
diff
changeset
|
1408 (progn (pop-to-buffer rmail-buffer) |
bac8e17d51b3
(rmail-sort-from-summary): Preserve window selection.
Karl Heuer <kwzh@gnu.org>
parents:
6422
diff
changeset
|
1409 (funcall sortfun reverse)) |
bac8e17d51b3
(rmail-sort-from-summary): Preserve window selection.
Karl Heuer <kwzh@gnu.org>
parents:
6422
diff
changeset
|
1410 (select-window selwin)))) |
658
7cbd4fcd8b0f
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
130
diff
changeset
|
1411 |
88241
5d16d8710768
(rmail-summary-get-sender): New function.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88239
diff
changeset
|
1412 (defun rmail-summary-get-sender (n) |
5d16d8710768
(rmail-summary-get-sender): New function.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88239
diff
changeset
|
1413 "Return the sender for message N. |
88245
e2d921647a85
(rmail-summary-get-sender): Doc fix.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88241
diff
changeset
|
1414 If sender matches `rmail-user-mail-address-regexp' or |
88241
5d16d8710768
(rmail-summary-get-sender): New function.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88239
diff
changeset
|
1415 `user-mail-address', return the to-address instead." |
5d16d8710768
(rmail-summary-get-sender): New function.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88239
diff
changeset
|
1416 (let ((sender (rmail-desc-get-sender n))) |
5d16d8710768
(rmail-summary-get-sender): New function.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88239
diff
changeset
|
1417 (if (or (null sender) |
88292
b77cb10ab1be
(rmail-summary-get-sender): Handle a nil value of
Henrik Enberg <henrik.enberg@telia.com>
parents:
88287
diff
changeset
|
1418 (and rmail-user-mail-address-regexp |
b77cb10ab1be
(rmail-summary-get-sender): Handle a nil value of
Henrik Enberg <henrik.enberg@telia.com>
parents:
88287
diff
changeset
|
1419 (string-match rmail-user-mail-address-regexp sender))) |
88241
5d16d8710768
(rmail-summary-get-sender): New function.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88239
diff
changeset
|
1420 ;; Either no sender known, or it's this user. |
88264
127c0cb66742
(rmail-summary-get-sender): Narrow to current
Henrik Enberg <henrik.enberg@telia.com>
parents:
88259
diff
changeset
|
1421 (save-restriction |
127c0cb66742
(rmail-summary-get-sender): Narrow to current
Henrik Enberg <henrik.enberg@telia.com>
parents:
88259
diff
changeset
|
1422 (narrow-to-region (rmail-desc-get-start n) |
127c0cb66742
(rmail-summary-get-sender): Narrow to current
Henrik Enberg <henrik.enberg@telia.com>
parents:
88259
diff
changeset
|
1423 (rmail-desc-get-end n)) |
127c0cb66742
(rmail-summary-get-sender): Narrow to current
Henrik Enberg <henrik.enberg@telia.com>
parents:
88259
diff
changeset
|
1424 (concat "to: " (mail-strip-quoted-names |
127c0cb66742
(rmail-summary-get-sender): Narrow to current
Henrik Enberg <henrik.enberg@telia.com>
parents:
88259
diff
changeset
|
1425 (rmail-header-get-header "to")))) |
88241
5d16d8710768
(rmail-summary-get-sender): New function.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88239
diff
changeset
|
1426 sender))) |
5d16d8710768
(rmail-summary-get-sender): New function.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88239
diff
changeset
|
1427 |
88130 | 1428 (defun rmail-summary-get-line-count (n) |
88241
5d16d8710768
(rmail-summary-get-sender): New function.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88239
diff
changeset
|
1429 "Return a string containing the number of lines in message N. |
5d16d8710768
(rmail-summary-get-sender): New function.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88239
diff
changeset
|
1430 If `rmail-summary-line-count-flag' is nil, return the empty string." |
88130 | 1431 (if rmail-summary-line-count-flag |
88159
052f90cd157d
*** empty log message ***
Henrik Enberg <henrik.enberg@telia.com>
parents:
88155
diff
changeset
|
1432 (let ((lines (rmail-desc-get-line-count n))) |
052f90cd157d
*** empty log message ***
Henrik Enberg <henrik.enberg@telia.com>
parents:
88155
diff
changeset
|
1433 (format (cond ((<= lines 9) " [%d]") |
052f90cd157d
*** empty log message ***
Henrik Enberg <henrik.enberg@telia.com>
parents:
88155
diff
changeset
|
1434 ((<= lines 99) " [%d]") |
052f90cd157d
*** empty log message ***
Henrik Enberg <henrik.enberg@telia.com>
parents:
88155
diff
changeset
|
1435 ((<= lines 999) " [%3d]") |
052f90cd157d
*** empty log message ***
Henrik Enberg <henrik.enberg@telia.com>
parents:
88155
diff
changeset
|
1436 (t "[%d]")) |
052f90cd157d
*** empty log message ***
Henrik Enberg <henrik.enberg@telia.com>
parents:
88155
diff
changeset
|
1437 lines)) |
88130 | 1438 "")) |
1439 | |
1440 (defun rmail-summary-get-summary-attributes (n) | |
88241
5d16d8710768
(rmail-summary-get-sender): New function.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88239
diff
changeset
|
1441 "Return the attribute character codes for message N. |
5d16d8710768
(rmail-summary-get-sender): New function.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88239
diff
changeset
|
1442 `-' means an unseen message, `D' means marked for deletion." |
88130 | 1443 (format "%s%s%s%s%s" |
1444 (cond ((rmail-desc-attr-p rmail-desc-unseen-index n) "-") | |
1445 ((rmail-desc-attr-p rmail-desc-deleted-index n) "D") | |
1446 (t " ")) | |
1447 (or (rmail-desc-get-attr-code rmail-desc-answered-index n) " ") | |
1448 (or (rmail-desc-get-attr-code rmail-desc-filed-index n) " ") | |
1449 (or (rmail-desc-get-attr-code rmail-desc-edited-index n) " ") | |
1450 (or (rmail-desc-get-attr-code rmail-desc-stored-index n) " "))) | |
1451 | |
88299
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
1452 (defun rmail-summary-get-summary-line (n) |
88130 | 1453 "Return a summary line for message N." |
88234
76be5e1eba7d
(rmail-summary-get-summary): Fix display of
Alex Schroeder <alex@gnu.org>
parents:
88230
diff
changeset
|
1454 (let (keywords str subj) |
88186
10d5bd44bd6d
(rmail-summary-font-lock-keywords): Fix regular
Alex Schroeder <alex@gnu.org>
parents:
88181
diff
changeset
|
1455 (dolist (keyword (rmail-desc-get-keywords n)) |
10d5bd44bd6d
(rmail-summary-font-lock-keywords): Fix regular
Alex Schroeder <alex@gnu.org>
parents:
88181
diff
changeset
|
1456 (when (and (rmail-keyword-p keyword) |
10d5bd44bd6d
(rmail-summary-font-lock-keywords): Fix regular
Alex Schroeder <alex@gnu.org>
parents:
88181
diff
changeset
|
1457 (not (rmail-attribute-p keyword))) |
10d5bd44bd6d
(rmail-summary-font-lock-keywords): Fix regular
Alex Schroeder <alex@gnu.org>
parents:
88181
diff
changeset
|
1458 (setq keywords (cons keyword keywords)))) |
88234
76be5e1eba7d
(rmail-summary-get-summary): Fix display of
Alex Schroeder <alex@gnu.org>
parents:
88230
diff
changeset
|
1459 (setq keywords (nreverse keywords) |
76be5e1eba7d
(rmail-summary-get-summary): Fix display of
Alex Schroeder <alex@gnu.org>
parents:
88230
diff
changeset
|
1460 str (if keywords |
88172
7bba2fede2be
(rmail-summary-font-lock-keywords): Fix typo for
Alex Schroeder <alex@gnu.org>
parents:
88169
diff
changeset
|
1461 (concat "{ " (mapconcat 'identity keywords " ") " } ") |
88234
76be5e1eba7d
(rmail-summary-get-summary): Fix display of
Alex Schroeder <alex@gnu.org>
parents:
88230
diff
changeset
|
1462 "") |
76be5e1eba7d
(rmail-summary-get-summary): Fix display of
Alex Schroeder <alex@gnu.org>
parents:
88230
diff
changeset
|
1463 subj (replace-regexp-in-string "\\s-+" " " |
76be5e1eba7d
(rmail-summary-get-summary): Fix display of
Alex Schroeder <alex@gnu.org>
parents:
88230
diff
changeset
|
1464 (rmail-desc-get-subject n))) |
88172
7bba2fede2be
(rmail-summary-font-lock-keywords): Fix typo for
Alex Schroeder <alex@gnu.org>
parents:
88169
diff
changeset
|
1465 (funcall rmail-summary-line-decoder |
88239
e59b585c0d13
(rmail-summary-get-summary): Make sure sender is no
Henrik Enberg <henrik.enberg@telia.com>
parents:
88234
diff
changeset
|
1466 (format "%5s%s%6s %25.25s%s %s\n" |
88172
7bba2fede2be
(rmail-summary-font-lock-keywords): Fix typo for
Alex Schroeder <alex@gnu.org>
parents:
88169
diff
changeset
|
1467 n |
7bba2fede2be
(rmail-summary-font-lock-keywords): Fix typo for
Alex Schroeder <alex@gnu.org>
parents:
88169
diff
changeset
|
1468 (rmail-summary-get-summary-attributes n) |
7bba2fede2be
(rmail-summary-font-lock-keywords): Fix typo for
Alex Schroeder <alex@gnu.org>
parents:
88169
diff
changeset
|
1469 (concat (rmail-desc-get-day-number n) "-" |
7bba2fede2be
(rmail-summary-font-lock-keywords): Fix typo for
Alex Schroeder <alex@gnu.org>
parents:
88169
diff
changeset
|
1470 (rmail-desc-get-month n)) |
88241
5d16d8710768
(rmail-summary-get-sender): New function.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88239
diff
changeset
|
1471 (rmail-summary-get-sender n) |
88172
7bba2fede2be
(rmail-summary-font-lock-keywords): Fix typo for
Alex Schroeder <alex@gnu.org>
parents:
88169
diff
changeset
|
1472 (rmail-summary-get-line-count n) |
88234
76be5e1eba7d
(rmail-summary-get-summary): Fix display of
Alex Schroeder <alex@gnu.org>
parents:
88230
diff
changeset
|
1473 (concat str subj))))) |
88130 | 1474 |
88228
fc29854c8b18
(rmail-summary-mode): Fixed typo in doc string and
Alex Schroeder <alex@gnu.org>
parents:
88217
diff
changeset
|
1475 (defun rmail-summary-update (n) |
fc29854c8b18
(rmail-summary-mode): Fixed typo in doc string and
Alex Schroeder <alex@gnu.org>
parents:
88217
diff
changeset
|
1476 "Rewrite the summary line for message N." |
fc29854c8b18
(rmail-summary-mode): Fixed typo in doc string and
Alex Schroeder <alex@gnu.org>
parents:
88217
diff
changeset
|
1477 (with-current-buffer rmail-buffer |
fc29854c8b18
(rmail-summary-mode): Fixed typo in doc string and
Alex Schroeder <alex@gnu.org>
parents:
88217
diff
changeset
|
1478 ;; we need to do this in the rmail-buffer lest the keywords are |
fc29854c8b18
(rmail-summary-mode): Fixed typo in doc string and
Alex Schroeder <alex@gnu.org>
parents:
88217
diff
changeset
|
1479 ;; not recognized |
88299
b23f09e292b0
(rmail-summary-show-message): Reformat.
Henrik Enberg <henrik.enberg@telia.com>
parents:
88297
diff
changeset
|
1480 (let ((summary (rmail-summary-get-summary-line n))) |
88228
fc29854c8b18
(rmail-summary-mode): Fixed typo in doc string and
Alex Schroeder <alex@gnu.org>
parents:
88217
diff
changeset
|
1481 (with-current-buffer rmail-summary-buffer |
fc29854c8b18
(rmail-summary-mode): Fixed typo in doc string and
Alex Schroeder <alex@gnu.org>
parents:
88217
diff
changeset
|
1482 (save-excursion |
fc29854c8b18
(rmail-summary-mode): Fixed typo in doc string and
Alex Schroeder <alex@gnu.org>
parents:
88217
diff
changeset
|
1483 (let ((buffer-read-only nil)) |
fc29854c8b18
(rmail-summary-mode): Fixed typo in doc string and
Alex Schroeder <alex@gnu.org>
parents:
88217
diff
changeset
|
1484 (rmail-summary-goto-msg n) |
fc29854c8b18
(rmail-summary-mode): Fixed typo in doc string and
Alex Schroeder <alex@gnu.org>
parents:
88217
diff
changeset
|
1485 ;; summary line includes newline at the end |
fc29854c8b18
(rmail-summary-mode): Fixed typo in doc string and
Alex Schroeder <alex@gnu.org>
parents:
88217
diff
changeset
|
1486 (delete-region (point) (1+ (line-end-position))) |
fc29854c8b18
(rmail-summary-mode): Fixed typo in doc string and
Alex Schroeder <alex@gnu.org>
parents:
88217
diff
changeset
|
1487 (insert summary))))))) |
88130 | 1488 |
29210 | 1489 (provide 'rmailsum) |
1490 | |
88155 | 1491 ;;; arch-tag: 556079ee-75c1-47f5-9884-2e0a0bc6c5a1 |
658
7cbd4fcd8b0f
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
130
diff
changeset
|
1492 ;;; rmailsum.el ends here |