aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2011-02-12 14:40:06 -0800
committerPaul Eggert2011-02-12 14:40:06 -0800
commit6d302144c218f12bd380344ae2d3ed87a6ea9327 (patch)
treebedd14c9203fc10bd1bdf40d281455a28c655bec
parent583dab51b0c1962c10d5b8baf9da7af7921e8775 (diff)
parent33d605d0d1a5902ae1e8f9f9bed9e961233bbc43 (diff)
downloademacs-6d302144c218f12bd380344ae2d3ed87a6ea9327.tar.gz
emacs-6d302144c218f12bd380344ae2d3ed87a6ea9327.zip
Merge from mainline.
-rw-r--r--lisp/ChangeLog18
-rw-r--r--lisp/bs.el10
-rw-r--r--lisp/mail/mail-utils.el61
-rw-r--r--lisp/mail/rmail.el41
-rw-r--r--lisp/mail/rmailsort.el7
-rw-r--r--lisp/mail/rmailsum.el2
-rw-r--r--src/ChangeLog7
-rw-r--r--src/md5.c3
8 files changed, 83 insertions, 66 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index e80de4e9175..7cd39ae6d4b 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,21 @@
12011-02-12 Chong Yidong <cyd@stupidchicken.com>
2
3 * mail/mail-utils.el (mail-dont-reply-to-names): New variable,
4 from rmail-dont-reply-to-names. Callers changed.
5 (mail-dont-reply-to): Rename from mail-dont-reply-to.
6 (rmail-dont-reply-to): Make it an obsolete alias.
7
8 * mail/rmail.el (rmail-default-dont-reply-to-names): Default to
9 nil, and make obsolete (Bug#7888).
10 (rmail-dont-reply-to-names): Alias to mail-dont-reply-to-names.
11
12 * mail/rmailsum.el (rmail-summary-sort-by-correspondent): Doc fix.
13
14 * mail/rmailsort.el (rmail-sort-by-correspondent)
15 (rmail-select-correspondent): Doc fix. Use mail-dont-reply-to.
16
17 * mail/rmail.el (rmail-reply): Use mail-dont-reply-to.
18
12011-02-12 Thierry Volpiatto <thierry.volpiatto@gmail.com> 192011-02-12 Thierry Volpiatto <thierry.volpiatto@gmail.com>
2 20
3 * files.el (copy-directory): New argument COPY-CONTENTS for 21 * files.el (copy-directory): New argument COPY-CONTENTS for
diff --git a/lisp/bs.el b/lisp/bs.el
index 2436bab2597..1f90304f1da 100644
--- a/lisp/bs.el
+++ b/lisp/bs.el
@@ -42,14 +42,10 @@
42 42
43;;; Quick Installation und Customization: 43;;; Quick Installation und Customization:
44 44
45;; Use 45;; To display the bs menu, do
46;; M-x bs-show 46;; M-x bs-show
47;; for buffer selection or optional bind a key to main function `bs-show' 47;; To customize its behavior, do
48;; (global-set-key "\C-x\C-b" 'bs-show) ;; or another key 48;; M-x bs-customize
49;;
50;; For customization use
51;; M-x bs-customize
52
53 49
54;;; More Commentary: 50;;; More Commentary:
55 51
diff --git a/lisp/mail/mail-utils.el b/lisp/mail/mail-utils.el
index cb9ee7e0317..328a5d50d34 100644
--- a/lisp/mail/mail-utils.el
+++ b/lisp/mail/mail-utils.el
@@ -35,6 +35,17 @@ often correct parser."
35 :type 'boolean 35 :type 'boolean
36 :group 'mail) 36 :group 'mail)
37 37
38;;;###autoload
39(defcustom mail-dont-reply-to-names nil
40 "Regexp specifying addresses to prune from a reply message.
41If this is nil, it is set the first time you compose a reply, to
42a value which excludes your own email address.
43
44Matching addresses are excluded from the CC field in replies, and
45also the To field, unless this would leave an empty To field."
46 :type '(choice regexp (const :tag "Your Name" nil))
47 :group 'mail)
48
38;; Returns t if file FILE is an Rmail file. 49;; Returns t if file FILE is an Rmail file.
39;;;###autoload 50;;;###autoload
40(defun mail-file-babyl-p (file) 51(defun mail-file-babyl-p (file)
@@ -213,36 +224,31 @@ Return a modified address list."
213 nil 'literal address 2))) 224 nil 'literal address 2)))
214 address)))) 225 address))))
215 226
216;; The following piece of ugliness is legacy code. The name was an 227(defun mail-dont-reply-to (destinations)
217;; unfortunate choice --- a flagrant violation of the Emacs Lisp
218;; coding conventions. `mail-dont-reply-to' would have been
219;; infinitely better. Also, `rmail-dont-reply-to-names' might have
220;; been better named `mail-dont-reply-to-names' and sourced from this
221;; file instead of in rmail.el. Yuck. -pmr
222(defun rmail-dont-reply-to (destinations)
223 "Prune addresses from DESTINATIONS, a list of recipient addresses. 228 "Prune addresses from DESTINATIONS, a list of recipient addresses.
224All addresses matching `rmail-dont-reply-to-names' are removed from 229Remove all addresses matching `mail-dont-reply-to-names' from the
225the comma-separated list. The pruned list is returned." 230comma-separated list, and return the pruned list."
226 ;; FIXME this (setting a user option the first time a command is used) 231 ;; FIXME this (setting a user option the first time a command is used)
227 ;; is somewhat strange. Normally one would never set the option, 232 ;; is somewhat strange. Normally one would never set the option,
228 ;; but instead fall back to the default so long as it was nil. 233 ;; but instead fall back to the default so long as it was nil.
229 ;; Or just set the default directly in the defcustom. 234 ;; Or just set the default directly in the defcustom.
230 (if (null rmail-dont-reply-to-names) 235 (if (null mail-dont-reply-to-names)
231 (setq rmail-dont-reply-to-names 236 (setq mail-dont-reply-to-names
232 (concat (if rmail-default-dont-reply-to-names 237 (concat
233 (concat rmail-default-dont-reply-to-names "\\|") 238 ;; `rmail-default-dont-reply-to-names' is obsolete.
234 "") 239 (if rmail-default-dont-reply-to-names
235 (if (and user-mail-address 240 (concat rmail-default-dont-reply-to-names "\\|")
236 (not (equal user-mail-address user-login-name))) 241 "")
237 ;; Anchor the login name and email address so 242 (if (and user-mail-address
238 ;; that we don't match substrings: if the 243 (not (equal user-mail-address user-login-name)))
239 ;; login name is "foo", we shouldn't match 244 ;; Anchor the login name and email address so that we
240 ;; "barfoo@baz.com". 245 ;; don't match substrings: if the login name is
241 (concat "\\`" 246 ;; "foo", we shouldn't match "barfoo@baz.com".
242 (regexp-quote user-mail-address) 247 (concat "\\`"
243 "\\'\\|") 248 (regexp-quote user-mail-address)
244 "") 249 "\\'\\|")
245 (concat "\\`" (regexp-quote user-login-name) "@")))) 250 "")
251 (concat "\\`" (regexp-quote user-login-name) "@"))))
246 ;; Split up DESTINATIONS and match each element separately. 252 ;; Split up DESTINATIONS and match each element separately.
247 (let ((start-pos 0) (cur-pos 0) 253 (let ((start-pos 0) (cur-pos 0)
248 (case-fold-search t)) 254 (case-fold-search t))
@@ -262,7 +268,7 @@ the comma-separated list. The pruned list is returned."
262 (setq cur-pos start-pos))) 268 (setq cur-pos start-pos)))
263 (let* ((address (substring destinations start-pos cur-pos)) 269 (let* ((address (substring destinations start-pos cur-pos))
264 (naked-address (mail-strip-quoted-names address))) 270 (naked-address (mail-strip-quoted-names address)))
265 (if (string-match rmail-dont-reply-to-names naked-address) 271 (if (string-match mail-dont-reply-to-names naked-address)
266 (setq destinations (concat (substring destinations 0 start-pos) 272 (setq destinations (concat (substring destinations 0 start-pos)
267 (and cur-pos (substring destinations 273 (and cur-pos (substring destinations
268 (1+ cur-pos)))) 274 (1+ cur-pos))))
@@ -278,6 +284,9 @@ the comma-separated list. The pruned list is returned."
278 (substring destinations (match-end 0)) 284 (substring destinations (match-end 0))
279 destinations)) 285 destinations))
280 286
287;; Legacy name
288(define-obsolete-function-alias 'rmail-dont-reply-to 'mail-dont-reply-to "24.1")
289
281 290
282;;;###autoload 291;;;###autoload
283(defun mail-fetch-field (field-name &optional last all list) 292(defun mail-fetch-field (field-name &optional last all list)
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index 7e44ae22e1e..07f6920a128 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -191,7 +191,7 @@ please report it with \\[report-emacs-bug].")
191 :group 'rmail-retrieve 191 :group 'rmail-retrieve
192 :type '(repeat (directory))) 192 :type '(repeat (directory)))
193 193
194(declare-function rmail-dont-reply-to "mail-utils" (destinations)) 194(declare-function mail-dont-reply-to "mail-utils" (destinations))
195(declare-function rmail-update-summary "rmailsum" (&rest ignore)) 195(declare-function rmail-update-summary "rmailsum" (&rest ignore))
196 196
197(defun rmail-probe (prog) 197(defun rmail-probe (prog)
@@ -283,26 +283,16 @@ Setting this variable has an effect only before reading a mail."
283 :version "21.1") 283 :version "21.1")
284 284
285;;;###autoload 285;;;###autoload
286(defcustom rmail-dont-reply-to-names nil 286(defvaralias 'rmail-dont-reply-to-names 'mail-dont-reply-to-names)
287 "A regexp specifying addresses to prune from a reply message.
288If this is nil, it is set the first time you compose a reply, to
289a value which excludes your own email address, plus whatever is
290specified by `rmail-default-dont-reply-to-names'.
291
292Matching addresses are excluded from the CC field in replies, and
293also the To field, unless this would leave an empty To field."
294 :type '(choice regexp (const :tag "Your Name" nil))
295 :group 'rmail-reply)
296 287
297;;;###autoload 288;;;###autoload
298(defvar rmail-default-dont-reply-to-names (purecopy "\\`info-") 289(defvar rmail-default-dont-reply-to-names nil
299 "Regexp specifying part of the default value of `rmail-dont-reply-to-names'. 290 "Regexp specifying part of the default value of `mail-dont-reply-to-names'.
300This is used when the user does not set `rmail-dont-reply-to-names' 291This is used when the user does not set `mail-dont-reply-to-names'
301explicitly. (The other part of the default value is the user's 292explicitly.")
302email address and name.) It is useful to set this variable in 293;;;###autoload
303the site customization file. The default value is conventionally 294(make-obsolete-variable 'rmail-default-dont-reply-to-names
304used for large mailing lists to broadcast announcements.") 295 'mail-dont-reply-to-names "24.1")
305;; Is it really useful to set this site-wide?
306 296
307;;;###autoload 297;;;###autoload
308(defcustom rmail-ignored-headers 298(defcustom rmail-ignored-headers
@@ -3578,15 +3568,14 @@ use \\[mail-yank-original] to yank the original message into it."
3578 ;; Remove unwanted names from reply-to, since Mail-Followup-To 3568 ;; Remove unwanted names from reply-to, since Mail-Followup-To
3579 ;; header causes all the names in it to wind up in reply-to, not 3569 ;; header causes all the names in it to wind up in reply-to, not
3580 ;; in cc. But if what's left is an empty list, use the original. 3570 ;; in cc. But if what's left is an empty list, use the original.
3581 (let* ((reply-to-list (rmail-dont-reply-to reply-to))) 3571 (let* ((reply-to-list (mail-dont-reply-to reply-to)))
3582 (if (string= reply-to-list "") reply-to reply-to-list)) 3572 (if (string= reply-to-list "") reply-to reply-to-list))
3583 subject 3573 subject
3584 (rmail-make-in-reply-to-field from date message-id) 3574 (rmail-make-in-reply-to-field from date message-id)
3585 (if just-sender 3575 (if just-sender
3586 nil 3576 nil
3587 ;; mail-strip-quoted-names is NOT necessary for rmail-dont-reply-to 3577 ;; `mail-dont-reply-to' doesn't need `mail-strip-quoted-names'.
3588 ;; to do its job. 3578 (let* ((cc-list (mail-dont-reply-to
3589 (let* ((cc-list (rmail-dont-reply-to
3590 (mail-strip-quoted-names 3579 (mail-strip-quoted-names
3591 (if (null cc) to (concat to ", " cc)))))) 3580 (if (null cc) to (concat to ", " cc))))))
3592 (if (string= cc-list "") nil cc-list))) 3581 (if (string= cc-list "") nil cc-list)))
@@ -4359,7 +4348,7 @@ This applies only to the current session.
4359 4348
4360;;;### (autoloads (rmail-sort-by-labels rmail-sort-by-lines rmail-sort-by-correspondent 4349;;;### (autoloads (rmail-sort-by-labels rmail-sort-by-lines rmail-sort-by-correspondent
4361;;;;;; rmail-sort-by-recipient rmail-sort-by-author rmail-sort-by-subject 4350;;;;;; rmail-sort-by-recipient rmail-sort-by-author rmail-sort-by-subject
4362;;;;;; rmail-sort-by-date) "rmailsort" "rmailsort.el" "f297fd33c8f7fa74baf16d2da99acb35") 4351;;;;;; rmail-sort-by-date) "rmailsort" "rmailsort.el" "ad1c98fe868c0e5804cf945d6c980d0b")
4363;;; Generated autoloads from rmailsort.el 4352;;; Generated autoloads from rmailsort.el
4364 4353
4365(autoload 'rmail-sort-by-date "rmailsort" "\ 4354(autoload 'rmail-sort-by-date "rmailsort" "\
@@ -4393,7 +4382,7 @@ If prefix argument REVERSE is non-nil, sorts in reverse order.
4393Sort messages of current Rmail buffer by other correspondent. 4382Sort messages of current Rmail buffer by other correspondent.
4394This uses either the \"From\", \"Sender\", \"To\", or 4383This uses either the \"From\", \"Sender\", \"To\", or
4395\"Apparently-To\" header, downcased. Uses the first header not 4384\"Apparently-To\" header, downcased. Uses the first header not
4396excluded by `rmail-dont-reply-to-names'. If prefix argument 4385excluded by `mail-dont-reply-to-names'. If prefix argument
4397REVERSE is non-nil, sorts in reverse order. 4386REVERSE is non-nil, sorts in reverse order.
4398 4387
4399\(fn REVERSE)" t nil) 4388\(fn REVERSE)" t nil)
@@ -4418,7 +4407,7 @@ If prefix argument REVERSE is non-nil, sorts in reverse order.
4418 4407
4419;;;### (autoloads (rmail-summary-by-senders rmail-summary-by-topic 4408;;;### (autoloads (rmail-summary-by-senders rmail-summary-by-topic
4420;;;;;; rmail-summary-by-regexp rmail-summary-by-recipients rmail-summary-by-labels 4409;;;;;; rmail-summary-by-regexp rmail-summary-by-recipients rmail-summary-by-labels
4421;;;;;; rmail-summary) "rmailsum" "rmailsum.el" "adad96c9eb13cae4bae0769f731d8784") 4410;;;;;; rmail-summary) "rmailsum" "rmailsum.el" "3817e21639db697abe5832d3223ecfc2")
4422;;; Generated autoloads from rmailsum.el 4411;;; Generated autoloads from rmailsum.el
4423 4412
4424(autoload 'rmail-summary "rmailsum" "\ 4413(autoload 'rmail-summary "rmailsum" "\
diff --git a/lisp/mail/rmailsort.el b/lisp/mail/rmailsort.el
index c9942f9c2f9..d8b85ad688a 100644
--- a/lisp/mail/rmailsort.el
+++ b/lisp/mail/rmailsort.el
@@ -87,7 +87,7 @@ If prefix argument REVERSE is non-nil, sorts in reverse order."
87 "Sort messages of current Rmail buffer by other correspondent. 87 "Sort messages of current Rmail buffer by other correspondent.
88This uses either the \"From\", \"Sender\", \"To\", or 88This uses either the \"From\", \"Sender\", \"To\", or
89\"Apparently-To\" header, downcased. Uses the first header not 89\"Apparently-To\" header, downcased. Uses the first header not
90excluded by `rmail-dont-reply-to-names'. If prefix argument 90excluded by `mail-dont-reply-to-names'. If prefix argument
91REVERSE is non-nil, sorts in reverse order." 91REVERSE is non-nil, sorts in reverse order."
92 (interactive "P") 92 (interactive "P")
93 (rmail-sort-messages reverse 93 (rmail-sort-messages reverse
@@ -98,13 +98,12 @@ REVERSE is non-nil, sorts in reverse order."
98 '("From" "Sender" "To" "Apparently-To")))))) 98 '("From" "Sender" "To" "Apparently-To"))))))
99 99
100(defun rmail-select-correspondent (msg fields) 100(defun rmail-select-correspondent (msg fields)
101 "Find the first header not excluded by `rmail-dont-reply-to-names'. 101 "Find the first header not excluded by `mail-dont-reply-to-names'.
102MSG is a message number. FIELDS is a list of header names." 102MSG is a message number. FIELDS is a list of header names."
103 (let ((ans "")) 103 (let ((ans ""))
104 (while (and fields (string= ans "")) 104 (while (and fields (string= ans ""))
105 (setq ans 105 (setq ans
106 ;; NB despite the name, this lives in mail-utils.el. 106 (mail-dont-reply-to
107 (rmail-dont-reply-to
108 (mail-strip-quoted-names 107 (mail-strip-quoted-names
109 (or (rmail-get-header (car fields) msg) "")))) 108 (or (rmail-get-header (car fields) msg) ""))))
110 (setq fields (cdr fields))) 109 (setq fields (cdr fields)))
diff --git a/lisp/mail/rmailsum.el b/lisp/mail/rmailsum.el
index 1d5e062fe27..8e28201e31f 100644
--- a/lisp/mail/rmailsum.el
+++ b/lisp/mail/rmailsum.el
@@ -1796,7 +1796,7 @@ If prefix argument REVERSE is non-nil, sorts in reverse order."
1796 "Sort messages of current Rmail summary by other correspondent. 1796 "Sort messages of current Rmail summary by other correspondent.
1797This uses either the \"From\", \"Sender\", \"To\", or 1797This uses either the \"From\", \"Sender\", \"To\", or
1798\"Apparently-To\" header, downcased. Uses the first header not 1798\"Apparently-To\" header, downcased. Uses the first header not
1799excluded by `rmail-dont-reply-to-names'. If prefix argument 1799excluded by `mail-dont-reply-to-names'. If prefix argument
1800REVERSE is non-nil, sorts in reverse order." 1800REVERSE is non-nil, sorts in reverse order."
1801 (interactive "P") 1801 (interactive "P")
1802 (rmail-sort-from-summary (function rmail-sort-by-correspondent) reverse)) 1802 (rmail-sort-from-summary (function rmail-sort-by-correspondent) reverse))
diff --git a/src/ChangeLog b/src/ChangeLog
index 031b254739e..b56a2ce8dff 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,10 @@
12011-02-12 Paul Eggert <eggert@cs.ucla.edu>
2
3 * md5.c (md5_process_bytes): Use sizeof, not __alignof__.
4 The difference doesn't matter here, in practice, and sizeof is
5 more portable to non-GCC compilers. Also, this makes the code
6 match the already-existing comment.
7
12011-02-12 Andreas Schwab <schwab@linux-m68k.org> 82011-02-12 Andreas Schwab <schwab@linux-m68k.org>
2 9
3 * process.c (create_process): Reset SIGPIPE handler in the child. 10 * process.c (create_process): Reset SIGPIPE handler in the child.
diff --git a/src/md5.c b/src/md5.c
index 9d9d7d8f14f..5ac4536cff9 100644
--- a/src/md5.c
+++ b/src/md5.c
@@ -216,7 +216,7 @@ md5_process_bytes (const void *buffer, size_t len, struct md5_ctx *ctx)
216 size_t add = 128 - left_over > len ? len : 128 - left_over; 216 size_t add = 128 - left_over > len ? len : 128 - left_over;
217 217
218 /* Only put full words in the buffer. */ 218 /* Only put full words in the buffer. */
219 add -= add % __alignof__ (md5_uint32); 219 add -= add % sizeof (md5_uint32);
220 220
221 memcpy (&ctx->buffer[left_over], buffer, add); 221 memcpy (&ctx->buffer[left_over], buffer, add);
222 ctx->buflen += add; 222 ctx->buflen += add;
@@ -427,4 +427,3 @@ md5_process_block (const void *buffer, size_t len, struct md5_ctx *ctx)
427 ctx->C = C; 427 ctx->C = C;
428 ctx->D = D; 428 ctx->D = D;
429} 429}
430