aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarl Heuer1998-07-22 19:02:16 +0000
committerKarl Heuer1998-07-22 19:02:16 +0000
commit37aa9115b75a31fdf64b5ed784d0b358014b8d54 (patch)
tree8344180042a8fafeaa3d23ca72c876b0340e6fd0
parentbb85b31e4458e600e54b46552ed5ee3a4b572ebb (diff)
downloademacs-37aa9115b75a31fdf64b5ed784d0b358014b8d54.tar.gz
emacs-37aa9115b75a31fdf64b5ed784d0b358014b8d54.zip
Avoid using all-caps for non-arguments.
-rw-r--r--lisp/mail/feedmail.el232
1 files changed, 116 insertions, 116 deletions
diff --git a/lisp/mail/feedmail.el b/lisp/mail/feedmail.el
index 8c7b8a74a2f..6caf63db494 100644
--- a/lisp/mail/feedmail.el
+++ b/lisp/mail/feedmail.el
@@ -93,19 +93,19 @@
93;; --- you can get one last look at the prepped outbound message and 93;; --- you can get one last look at the prepped outbound message and
94;; be prompted for confirmation 94;; be prompted for confirmation
95;; 95;;
96;; --- removes BCC:/RESENT-BCC: headers after getting address info 96;; --- removes Bcc:/Resent-Bcc: headers after getting address info
97;; 97;;
98;; --- does smart filling of address headers 98;; --- does smart filling of address headers
99;; 99;;
100;; --- calls a routine to process FCC: lines and removes them 100;; --- calls a routine to process Fcc: lines and removes them
101;; 101;;
102;; --- empty headers are removed 102;; --- empty headers are removed
103;; 103;;
104;; --- can force FROM: or SENDER: line 104;; --- can force From: or Sender: line
105;; 105;;
106;; --- can generate a MESSAGE-ID: line 106;; --- can generate a Message-Id: line
107;; 107;;
108;; --- can generate a DATE: line; the date can be the time the 108;; --- can generate a Date: line; the date can be the time the
109;; message was written or the time it is being sent 109;; message was written or the time it is being sent
110;; 110;;
111;; --- strips comments from address info (both "()" and "<>" are 111;; --- strips comments from address info (both "()" and "<>" are
@@ -124,7 +124,7 @@
124;; --- you can specify something other than /bin/mail for the 124;; --- you can specify something other than /bin/mail for the
125;; subprocess 125;; subprocess
126;; 126;;
127;; --- you can generate/modify an X-MAILER: message header 127;; --- you can generate/modify an X-Mailer: message header
128;; 128;;
129;; After a long list of options below, you will find the function 129;; After a long list of options below, you will find the function
130;; feedmail-send-it. Hers's the best way to use the stuff in this 130;; feedmail-send-it. Hers's the best way to use the stuff in this
@@ -193,18 +193,18 @@
193;; patchlevel 6, not issued as far as I know 193;; patchlevel 6, not issued as far as I know
194;; patchlevel 7, 20 May 1997 194;; patchlevel 7, 20 May 1997
195;; abandon futile support of Emacs 18 (sorry if that hurts you) 195;; abandon futile support of Emacs 18 (sorry if that hurts you)
196;; provide a DATE: header by default 196;; provide a Date: header by default
197;; provide a default for generating MESSAGE-ID: header contents 197;; provide a default for generating Message-Id: header contents
198;; and use it by default (slightly changed API) 198;; and use it by default (slightly changed API)
199;; return value from feedmail-run-the-queue 199;; return value from feedmail-run-the-queue
200;; new wrapper function feedmail-run-the-queue-no-prompts 200;; new wrapper function feedmail-run-the-queue-no-prompts
201;; user-mail-address as default for FROM: 201;; user-mail-address as default for From:
202;; properly deal with RESENT-{TO,CC,BCC} 202;; properly deal with Resent-{To,Cc,Bcc}
203;; BCC and RESENT-* now included in smart filling 203;; Bcc and Resent-* now included in smart filling
204;; limited support for a "drafts" directory 204;; limited support for a "drafts" directory
205;; user-configurable default message action 205;; user-configurable default message action
206;; allow timeout for confirmation prompt (where available) 206;; allow timeout for confirmation prompt (where available)
207;; move FCC handling to as late as possible to get max 207;; move Fcc handling to as late as possible to get max
208;; header munging in the saved file 208;; header munging in the saved file
209;; work around sendmail.el's prompts when working from queue 209;; work around sendmail.el's prompts when working from queue
210;; more reliably detect voluntary user bailouts 210;; more reliably detect voluntary user bailouts
@@ -240,8 +240,8 @@
240;; option to control writing in text vs binary mode 240;; option to control writing in text vs binary mode
241;; patchlevel 8, 15 June 1998 241;; patchlevel 8, 15 June 1998
242;; reliable re-editing of text-mode (vs binary) queued messages 242;; reliable re-editing of text-mode (vs binary) queued messages
243;; user option to keep BCC: in FCC: copy (keep by default) 243;; user option to keep Bcc: in Fcc: copy (keep by default)
244;; user option to delete body from FCC: copy (keep by default) 244;; user option to delete body from Fcc: copy (keep by default)
245;; feedmail-deduce-bcc-where for envelope (API change for 245;; feedmail-deduce-bcc-where for envelope (API change for
246;; feedmail-deduce-address list) 246;; feedmail-deduce-address list)
247;; feedmail-queue-alternative-mail-header-separator 247;; feedmail-queue-alternative-mail-header-separator
@@ -263,7 +263,7 @@
263;; burge@newvision.com (Shane Burgess); bumped up the default value of 263;; burge@newvision.com (Shane Burgess); bumped up the default value of
264;; feedmail-queue-chatty-sit-for since info is more complex sometimes 264;; feedmail-queue-chatty-sit-for since info is more complex sometimes
265;; feedmail-enable-spray (individual transmissions, crude mailmerge) 265;; feedmail-enable-spray (individual transmissions, crude mailmerge)
266;; blank SUBJECT: no longer a special case; see feedmail-nuke-empty-headers 266;; blank Subject: no longer a special case; see feedmail-nuke-empty-headers
267;; fiddle-plexes data structure used lots of places; see feedmail-fiddle-plex-blurb 267;; fiddle-plexes data structure used lots of places; see feedmail-fiddle-plex-blurb
268;; feedmail-fiddle-plex-user-list 268;; feedmail-fiddle-plex-user-list
269;; feedmail-is-a-resend 269;; feedmail-is-a-resend
@@ -345,8 +345,8 @@ version of Emacs doesn't include the function y-or-n-p-with-timeout
345 345
346 346
347(defcustom feedmail-nuke-bcc t 347(defcustom feedmail-nuke-bcc t
348 "*If non-nil remove BCC: lines from the message headers. 348 "*If non-nil remove Bcc: lines from the message headers.
349In any case, the BCC: lines do participate in the composed address 349In any case, the Bcc: lines do participate in the composed address
350list. You may want to leave them in if you're using sendmail 350list. You may want to leave them in if you're using sendmail
351\(see feedmail-buffer-eating-function\)." 351\(see feedmail-buffer-eating-function\)."
352 :group 'feedmail-headers 352 :group 'feedmail-headers
@@ -355,8 +355,8 @@ list. You may want to leave them in if you're using sendmail
355 355
356 356
357(defcustom feedmail-nuke-resent-bcc t 357(defcustom feedmail-nuke-resent-bcc t
358 "*If non-nil remove RESENT-BCC: lines from the message headers. 358 "*If non-nil remove Resent-Bcc: lines from the message headers.
359In any case, the RESENT-BCC: lines do participate in the composed 359In any case, the Resent-Bcc: lines do participate in the composed
360address list. You may want to leave them in if you're using sendmail 360address list. You may want to leave them in if you're using sendmail
361\(see feedmail-buffer-eating-function\)." 361\(see feedmail-buffer-eating-function\)."
362 :group 'feedmail-headers 362 :group 'feedmail-headers
@@ -377,8 +377,8 @@ at the end of the list.
377 377
378Why should you care? Well, maybe you don't, and certainly the same 378Why should you care? Well, maybe you don't, and certainly the same
379things could be accomplished by affecting the order of message headers 379things could be accomplished by affecting the order of message headers
380in the outgoing message. Some people use BCC: as a way of getting 380in the outgoing message. Some people use Bcc: as a way of getting
381their own \"come back\" copy of each message they send. If BCC: 381their own \"come back\" copy of each message they send. If Bcc:
382addresses are not handled first, there can be substantial delays in 382addresses are not handled first, there can be substantial delays in
383seeing the message again. Some configurations of sendmail, for example, 383seeing the message again. Some configurations of sendmail, for example,
384seem to try to deliver to each addressee at least once, immediately 384seem to try to deliver to each addressee at least once, immediately
@@ -394,8 +394,8 @@ delivery agent that processes the addresses backwards."
394 "*If non-nil do smart filling of addressee header lines. 394 "*If non-nil do smart filling of addressee header lines.
395Smart filling means breaking long lines at appropriate points and 395Smart filling means breaking long lines at appropriate points and
396making continuation lines. Despite the function name, it includes 396making continuation lines. Despite the function name, it includes
397TO:, CC:, BCC: (and their RESENT-* forms), as well as FROM: and 397To:, Cc:, Bcc: (and their Resent-* forms), as well as From: and
398REPLY-TO: (though they seldom need it). If nil, the lines are left 398Reply-To: (though they seldom need it). If nil, the lines are left
399as-is. The filling is done after mail address alias expansion." 399as-is. The filling is done after mail address alias expansion."
400 :group 'feedmail-headers 400 :group 'feedmail-headers
401 :type 'boolean 401 :type 'boolean
@@ -410,19 +410,19 @@ as-is. The filling is done after mail address alias expansion."
410 410
411 411
412(defcustom feedmail-nuke-bcc-in-fcc nil 412(defcustom feedmail-nuke-bcc-in-fcc nil
413 "*If non-nil remove [RESENT-]BCC: lines in message copies saved via FCC:. 413 "*If non-nil remove [Resent-]Bcc: lines in message copies saved via Fcc:.
414This is independent of whether the BCC: header lines are actually sent 414This is independent of whether the Bcc: header lines are actually sent
415with the message (see feedmail-nuke-bcc). Though not implied in the name, 415with the message (see feedmail-nuke-bcc). Though not implied in the name,
416the same FCC: treatment applies to both BCC: and RESENT-BCC: lines." 416the same Fcc: treatment applies to both Bcc: and Resent-Bcc: lines."
417 :group 'feedmail-headers 417 :group 'feedmail-headers
418 :type 'boolean 418 :type 'boolean
419 ) 419 )
420 420
421 421
422(defcustom feedmail-nuke-body-in-fcc nil 422(defcustom feedmail-nuke-body-in-fcc nil
423 "*If non-nil remove body of message in copies saved via FCC:. 423 "*If non-nil remove body of message in copies saved via Fcc:.
424If an positive integer value, leave (up to) that many lines of the 424If an positive integer value, leave (up to) that many lines of the
425beginning of the body intact. The result is that the FCC: copy will 425beginning of the body intact. The result is that the Fcc: copy will
426consist only of the message headers, serving as a sort of an outgoing 426consist only of the message headers, serving as a sort of an outgoing
427message log." 427message log."
428 :group 'feedmail-headers 428 :group 'feedmail-headers
@@ -445,7 +445,7 @@ out."
445 445
446(defcustom feedmail-nuke-empty-headers t 446(defcustom feedmail-nuke-empty-headers t
447 "*If non-nil, remove header lines which have no contents. 447 "*If non-nil, remove header lines which have no contents.
448A completely empty SUBJECT: header is always removed, regardless of 448A completely empty Subject: header is always removed, regardless of
449the setting of this variable. The only time you would want them left 449the setting of this variable. The only time you would want them left
450in would be if you used some headers whose presence indicated 450in would be if you used some headers whose presence indicated
451something rather than their contents. This is rare in Internet email 451something rather than their contents. This is rare in Internet email
@@ -454,7 +454,7 @@ but common in some proprietary systems."
454 :type 'boolean 454 :type 'boolean
455 ) 455 )
456 456
457;; wjc sez: I think the use of the SENDER: line is pretty pointless, 457;; wjc sez: I think the use of the Sender: line is pretty pointless,
458;; but I left it in to be compatible with sendmail.el and because 458;; but I left it in to be compatible with sendmail.el and because
459;; maybe some distant mail system needs it. Really, though, if you 459;; maybe some distant mail system needs it. Really, though, if you
460;; want a sender line in your mail, just put one in there and don't 460;; want a sender line in your mail, just put one in there and don't
@@ -462,12 +462,12 @@ but common in some proprietary systems."
462;; RFC-822 and RFC-1123, but are you *really* one of those cases 462;; RFC-822 and RFC-1123, but are you *really* one of those cases
463;; they're talking about? I doubt it.) 463;; they're talking about? I doubt it.)
464(defcustom feedmail-sender-line nil 464(defcustom feedmail-sender-line nil
465 "*If non-nil and the email has no SENDER: header, use this value. 465 "*If non-nil and the email has no Sender: header, use this value.
466May be nil, in which case nothing in particular is done with respect 466May be nil, in which case nothing in particular is done with respect
467to SENDER: lines. By design, will not replace an existing SENDER: 467to Sender: lines. By design, will not replace an existing Sender:
468line, but you can achieve that with a fiddle-plex 'replace action. 468line, but you can achieve that with a fiddle-plex 'replace action.
469NB: it makes no sense to use the value t since there is no sensible 469NB: it makes no sense to use the value t since there is no sensible
470default for SENDER:. 470default for Sender:.
471 471
472If not nil, it may be a string, a fiddle-plex, or a function which 472If not nil, it may be a string, a fiddle-plex, or a function which
473returns either nil, t, a string, or a fiddle-plex (or, in fact, 473returns either nil, t, a string, or a fiddle-plex (or, in fact,
@@ -481,15 +481,15 @@ by feedmail to either \"X-Sender\" or \"X-Resent-Sender\".
481 481
482You can probably leave this nil, but if you feel like using it, a good 482You can probably leave this nil, but if you feel like using it, a good
483value would be a string of a fully-qualified domain name form of your 483value would be a string of a fully-qualified domain name form of your
484address. For example, \"bill@bubblegum.net (WJCarpenter)\". The SENDER: 484address. For example, \"bill@bubblegum.net (WJCarpenter)\". The Sender:
485header is fiddled after the FROM: header is fiddled." 485header is fiddled after the From: header is fiddled."
486 :group 'feedmail-headers 486 :group 'feedmail-headers
487 :type '(choice (const nil) string) 487 :type '(choice (const nil) string)
488 ) 488 )
489 489
490 490
491(defcustom feedmail-force-binary-write t 491(defcustom feedmail-force-binary-write t
492 "*If non-nil, force writing file as binary (this applies to queues and FCC:). 492 "*If non-nil, force writing file as binary (this applies to queues and Fcc:).
493On systems where there is a difference between binary and text files, 493On systems where there is a difference between binary and text files,
494feedmail will temporarily manipulate the values of `buffer-file-type' 494feedmail will temporarily manipulate the values of `buffer-file-type'
495and/or default-buffer-file-type to make the writing as binary. If 495and/or default-buffer-file-type to make the writing as binary. If
@@ -502,11 +502,11 @@ means, this option has no effect."
502 502
503 503
504(defcustom feedmail-from-line t 504(defcustom feedmail-from-line t
505 "*If non-nil and the email has no FROM: header, use this value. 505 "*If non-nil and the email has no From: header, use this value.
506May be t, in which case a default is computed (and you probably won't 506May be t, in which case a default is computed (and you probably won't
507be happy with it). May be nil, in which case nothing in particular is 507be happy with it). May be nil, in which case nothing in particular is
508done with respect to FROM: lines. By design, will not replace an 508done with respect to From: lines. By design, will not replace an
509existing FROM: line, but you can achieve that with a fiddle-plex 'replace 509existing From: line, but you can achieve that with a fiddle-plex 'replace
510action. 510action.
511 511
512If neither nil nor t, it may be a string, a fiddle-plex, or a function 512If neither nil nor t, it may be a string, a fiddle-plex, or a function
@@ -525,23 +525,23 @@ default value of this variable uses the standard elisp variable
525`user-mail-address' which should be set on every system but has a decent 525`user-mail-address' which should be set on every system but has a decent
526chance of being wrong. It also honors `mail-from-style'. Better to set 526chance of being wrong. It also honors `mail-from-style'. Better to set
527this variable explicitly to the string you want or find some other way 527this variable explicitly to the string you want or find some other way
528to arrange for the message to get a FROM: line." 528to arrange for the message to get a From: line."
529 :group 'feedmail-headers 529 :group 'feedmail-headers
530 :type '(choice (const nil) string) 530 :type '(choice (const nil) string)
531 ) 531 )
532 532
533 533
534(defcustom feedmail-deduce-envelope-from t 534(defcustom feedmail-deduce-envelope-from t
535 "*If non-nil, deduce message envelope \"from\" from header FROM: or SENDER:. 535 "*If non-nil, deduce message envelope \"from\" from header From: or Sender:.
536In other words, if there is a SENDER: header in the message, temporarily 536In other words, if there is a Sender: header in the message, temporarily
537change the value of `user-mail-address' to be the same while the message 537change the value of `user-mail-address' to be the same while the message
538is being sent. If there is no SENDER: header, use the FROM: header, 538is being sent. If there is no Sender: header, use the From: header,
539if any. Address values are taken from the actual message just before 539if any. Address values are taken from the actual message just before
540it is sent, and the process is independent of the values of 540it is sent, and the process is independent of the values of
541feedmail-from-line and/or feedmail-sender-line. 541feedmail-from-line and/or feedmail-sender-line.
542 542
543There are many and good reasons for having the message header 543There are many and good reasons for having the message header
544FROM:/SENDER: be different from the message envelope \"from\" 544From:/Sender: be different from the message envelope \"from\"
545information. However, for most people and for most circumstances, it 545information. However, for most people and for most circumstances, it
546is usual for them to be the same (this is probably especially true for 546is usual for them to be the same (this is probably especially true for
547the case where the user doesn't understand the difference between the 547the case where the user doesn't understand the difference between the
@@ -549,7 +549,7 @@ two in the first place).
549 549
550The idea behind this feature is that you can have everything set up 550The idea behind this feature is that you can have everything set up
551some normal way for yourself. If for some reason you want to send a 551some normal way for yourself. If for some reason you want to send a
552message with another FROM: line, you can just type it at the top of 552message with another From: line, you can just type it at the top of
553the message, and feedmail will take care of \"fixing up\" the envelope 553the message, and feedmail will take care of \"fixing up\" the envelope
554\"from\". This only works for mail senders which make use of 554\"from\". This only works for mail senders which make use of
555`user-mail-address' as the envelope \"from\" value. For some mail 555`user-mail-address' as the envelope \"from\" value. For some mail
@@ -568,16 +568,16 @@ influence what they will use as the envelope."
568 568
569 569
570(defcustom feedmail-x-mailer-line t 570(defcustom feedmail-x-mailer-line t
571 "*Control the form of an X-MAILER: header in an outgoing message. 571 "*Control the form of an X-Mailer: header in an outgoing message.
572Moderately useful for debugging, keeping track of your correspondents' 572Moderately useful for debugging, keeping track of your correspondents'
573mailer preferences, or just wearing your MUA on your sleeve. You 573mailer preferences, or just wearing your MUA on your sleeve. You
574should probably know that some people are fairly emotional about the 574should probably know that some people are fairly emotional about the
575presence of X-MAILER: lines in email. 575presence of X-Mailer: lines in email.
576 576
577If nil, nothing is done about X-MAILER:. 577If nil, nothing is done about X-Mailer:.
578 578
579If t, an X-MAILER: header of a predetermined format is produced, 579If t, an X-Mailer: header of a predetermined format is produced,
580combining its efforts with any existing X-MAILER: header. If you want 580combining its efforts with any existing X-Mailer: header. If you want
581to take the default construct and just add a little blob of your own 581to take the default construct and just add a little blob of your own
582at the end, define the variable feedmail-x-mailer-line-user-appendage 582at the end, define the variable feedmail-x-mailer-line-user-appendage
583as that blob string. A value of t is equivalent to using the function 583as that blob string. A value of t is equivalent to using the function
@@ -598,12 +598,12 @@ by feedmail to either \"X-Mailer\" or \"X-Resent-Mailer\"."
598 598
599 599
600(defcustom feedmail-message-id-generator t 600(defcustom feedmail-message-id-generator t
601 "*Specifies the creation of a MESSAGE-ID: header field. 601 "*Specifies the creation of a Message-Id: header field.
602 602
603If nil, nothing is done about MESSAGE-ID:. 603If nil, nothing is done about Message-Id:.
604 604
605If t, a MESSAGE-ID: header of a predetermined format is produced, but 605If t, a Message-Id: header of a predetermined format is produced, but
606only if there is not already a MESSAGE-ID: in the message. A value of 606only if there is not already a Message-Id: in the message. A value of
607t is equivalent to using the function feedmail-default-message-id-generator. 607t is equivalent to using the function feedmail-default-message-id-generator.
608 608
609If neither nil nor t, it may be a string, a fiddle-plex, or a function 609If neither nil nor t, it may be a string, a fiddle-plex, or a function
@@ -615,13 +615,13 @@ with one argument: the possibly-nil name of the file associated with
615the message buffer. For an explanation of fiddle-plexes, see the 615the message buffer. For an explanation of fiddle-plexes, see the
616documentation for the variable feedmail-fiddle-plex-blurb. In all 616documentation for the variable feedmail-fiddle-plex-blurb. In all
617cases the name element of the fiddle-plex is ignored and is hardwired 617cases the name element of the fiddle-plex is ignored and is hardwired
618by feedmail to either \"Message-ID\" or \"Resent-Message-ID\". 618by feedmail to either \"Message-Id\" or \"Resent-Message-Id\".
619 619
620You should let feedmail generate a MESSAGE-ID: for you unless you are sure 620You should let feedmail generate a Message-Id: for you unless you are sure
621that whatever you give your messages to will do it for you (e.g., most 621that whatever you give your messages to will do it for you (e.g., most
622configurations of sendmail). Even if the latter case is true, it 622configurations of sendmail). Even if the latter case is true, it
623probably won't hurt you to generate your own, and it will then show up 623probably won't hurt you to generate your own, and it will then show up
624in the saved message if you use FCC:." 624in the saved message if you use Fcc:."
625 :group 'feedmail-headers 625 :group 'feedmail-headers
626 :type '(choice (const nil) function) 626 :type '(choice (const nil) function)
627 ) 627 )
@@ -643,12 +643,12 @@ automatically."
643;; this was suggested in various forms by several people; first was 643;; this was suggested in various forms by several people; first was
644;; Tony DeSimone in Oct 1992; sorry to be so tardy 644;; Tony DeSimone in Oct 1992; sorry to be so tardy
645(defcustom feedmail-date-generator t 645(defcustom feedmail-date-generator t
646 "*Specifies the creation of a DATE: header field. 646 "*Specifies the creation of a Date: header field.
647 647
648If nil, nothing is done about DATE:. 648If nil, nothing is done about Date:.
649 649
650If t, a DATE: header of a predetermined format is produced, but only 650If t, a Date: header of a predetermined format is produced, but only
651if there is not already a DATE: in the message. A value of t is 651if there is not already a Date: in the message. A value of t is
652equivalent to using the function feedmail-default-date-generator. 652equivalent to using the function feedmail-default-date-generator.
653 653
654If neither nil nor t, it may be a string, a fiddle-plex, or a function 654If neither nil nor t, it may be a string, a fiddle-plex, or a function
@@ -666,11 +666,11 @@ If you decide to format your own date field, do us all a favor and know
666what you're doing. Study the relevant parts of RFC-822 and RFC-1123. 666what you're doing. Study the relevant parts of RFC-822 and RFC-1123.
667Don't make me come up there! 667Don't make me come up there!
668 668
669You should let feedmail generate a DATE: for you unless you are sure 669You should let feedmail generate a Date: for you unless you are sure
670that whatever you give your messages to will do it for you (e.g., most 670that whatever you give your messages to will do it for you (e.g., most
671configurations of sendmail). Even if the latter case is true, it 671configurations of sendmail). Even if the latter case is true, it
672probably won't hurt you to generate your own, and it will then show up 672probably won't hurt you to generate your own, and it will then show up
673in the saved message if you use FCC:." 673in the saved message if you use Fcc:."
674 :group 'feedmail-headers 674 :group 'feedmail-headers
675 :type '(choice (const nil) function) 675 :type '(choice (const nil) function)
676 ) 676 )
@@ -718,7 +718,7 @@ message headers except as noted.
718Spray mode is usually pointless, and if you can't think of a good reason for 718Spray mode is usually pointless, and if you can't think of a good reason for
719it, you should avoid it since it is inherently less efficient than normal 719it, you should avoid it since it is inherently less efficient than normal
720multiple delivery. One reason to use it is to overcome mis-featured mail 720multiple delivery. One reason to use it is to overcome mis-featured mail
721transports which betray your trust by revealing BCC: addressees in the 721transports which betray your trust by revealing Bcc: addressees in the
722headers of a message. Another use is to do a crude form of mailmerge, for 722headers of a message. Another use is to do a crude form of mailmerge, for
723which see feedmail-spray-address-fiddle-plex-list. 723which see feedmail-spray-address-fiddle-plex-list.
724 724
@@ -742,7 +742,7 @@ fiddles message headers according to this variable. See the documentation for
742May be nil, in which case nothing in particular is done about message 742May be nil, in which case nothing in particular is done about message
743headers for specific addresses. 743headers for specific addresses.
744 744
745May be t, in which case a \"TO:\" header is added to the message with 745May be t, in which case a \"To:\" header is added to the message with
746the stripped address as the header contents. The fiddle-plex operator 746the stripped address as the header contents. The fiddle-plex operator
747is 'supplement. 747is 'supplement.
748 748
@@ -770,7 +770,7 @@ stripped envelope email address (no comments or angle brackets). The
770function should return an embellished form of the address. 770function should return an embellished form of the address.
771 771
772The recipe for sending form letters is: (1) create a message with all 772The recipe for sending form letters is: (1) create a message with all
773addressees on BCC: headers; (2) tell feedmail to remove BCC: headers 773addressees on Bcc: headers; (2) tell feedmail to remove Bcc: headers
774before sending the message; (3) create a function which will embellish 774before sending the message; (3) create a function which will embellish
775stripped addresses, if desired; (4) define feedmail-spray-address-fiddle-plex-list 775stripped addresses, if desired; (4) define feedmail-spray-address-fiddle-plex-list
776appropriately; (5) send the message with feedmail-enable-spray set 776appropriately; (5) send the message with feedmail-enable-spray set
@@ -838,7 +838,7 @@ doesn't end with a slash. Default, except on VMS, is \"$HOME/mail/q\"."
838 (if (memq system-type '(axp-vms vax-vms)) 838 (if (memq system-type '(axp-vms vax-vms))
839 (expand-file-name (concat (getenv "HOME") "[.MAIL.DRAFT]")) 839 (expand-file-name (concat (getenv "HOME") "[.MAIL.DRAFT]"))
840 (concat (getenv "HOME") "/mail/draft")) 840 (concat (getenv "HOME") "/mail/draft"))
841 "*Name of an directory where DRAFT messages will be queued. 841 "*Name of an directory where draft messages will be queued.
842Directory will be created if necessary. Should be a string that 842Directory will be created if necessary. Should be a string that
843doesn't end with a slash. Default, except on VMS, is \"$HOME/mail/draft\"." 843doesn't end with a slash. Default, except on VMS, is \"$HOME/mail/draft\"."
844 :group 'feedmail-queue 844 :group 'feedmail-queue
@@ -990,11 +990,11 @@ they were placed in the queue."
990 990
991 991
992(defcustom feedmail-queue-use-send-time-for-date nil 992(defcustom feedmail-queue-use-send-time-for-date nil
993 "*If non-nil, use send time for the DATE: header value. 993 "*If non-nil, use send time for the Date: header value.
994This variable is used by the default date generating function, 994This variable is used by the default date generating function,
995feedmail-default-date-generator. If nil, the default, the 995feedmail-default-date-generator. If nil, the default, the
996last-modified timestamp of the queue file is used to create the 996last-modified timestamp of the queue file is used to create the
997message DATE: header; if there is no queue file, the current time is 997message Date: header; if there is no queue file, the current time is
998used." 998used."
999 :group 'feedmail-queue 999 :group 'feedmail-queue
1000 :type 'boolean 1000 :type 'boolean
@@ -1002,11 +1002,11 @@ used."
1002 1002
1003 1003
1004(defcustom feedmail-queue-use-send-time-for-message-id nil 1004(defcustom feedmail-queue-use-send-time-for-message-id nil
1005 "*If non-nil, use send time for the MESSAGE-ID: header value. 1005 "*If non-nil, use send time for the Message-Id: header value.
1006This variable is used by the default MESSAGE-ID: generating function, 1006This variable is used by the default Message-Id: generating function,
1007feedmail-default-message-id-generator. If nil, the default, the 1007feedmail-default-message-id-generator. If nil, the default, the
1008last-modified timestamp of the queue file is used to create the 1008last-modified timestamp of the queue file is used to create the
1009message MESSAGE-ID: header; if there is no queue file, the current time is 1009message Message-Id: header; if there is no queue file, the current time is
1010used." 1010used."
1011 :group 'feedmail-queue 1011 :group 'feedmail-queue
1012 :type 'boolean 1012 :type 'boolean
@@ -1171,10 +1171,10 @@ reused and things will get confused."
1171 1171
1172 1172
1173(defcustom feedmail-before-fcc-hook nil 1173(defcustom feedmail-before-fcc-hook nil
1174 "*User's last opportunity to modify the message before FCC action. 1174 "*User's last opportunity to modify the message before Fcc action.
1175It has already had all the header prepping from the standard package. 1175It has already had all the header prepping from the standard package.
1176The next step after running the hook will be to save the message via 1176The next step after running the hook will be to save the message via
1177FCC: processing. The hook might be interested in these: (1) 1177Fcc: processing. The hook might be interested in these: (1)
1178feedmail-prepped-text-buffer contains the header and body of the 1178feedmail-prepped-text-buffer contains the header and body of the
1179message, ready to go; (2) feedmail-address-list contains a list of 1179message, ready to go; (2) feedmail-address-list contains a list of
1180simplified recipients of addressees to whom the message was sent (3) 1180simplified recipients of addressees to whom the message was sent (3)
@@ -1265,7 +1265,7 @@ variable, but may depend on its value as described here.")
1265 1265
1266 1266
1267(defvar feedmail-is-a-resend nil 1267(defvar feedmail-is-a-resend nil
1268 "*Non-nil means the the message is a RESEND (in the RFC-822 sense). 1268 "*Non-nil means the the message is a Resend (in the RFC-822 sense).
1269This affects the composition of certain headers. feedmail sets this 1269This affects the composition of certain headers. feedmail sets this
1270variable as soon as it starts prepping the message text buffer, so any 1270variable as soon as it starts prepping the message text buffer, so any
1271user-supplied functions can rely on it. Users shouldn't set or change this 1271user-supplied functions can rely on it. Users shouldn't set or change this
@@ -1291,7 +1291,7 @@ feedmail-binmail-template."
1291(defcustom feedmail-binmail-template (if mail-interactive "/bin/mail %s" "/bin/rmail %s") 1291(defcustom feedmail-binmail-template (if mail-interactive "/bin/mail %s" "/bin/rmail %s")
1292 "*Command template for the subprocess which will get rid of the mail. 1292 "*Command template for the subprocess which will get rid of the mail.
1293It can result in any command understandable by /bin/sh. Might not 1293It can result in any command understandable by /bin/sh. Might not
1294work at all in non-UNIX environments. The single '%s', if present, 1294work at all in non-Unix environments. The single '%s', if present,
1295gets replaced by the space-separated, simplified list of addressees. 1295gets replaced by the space-separated, simplified list of addressees.
1296Used in feedmail-buffer-to-binmail to form the shell command which 1296Used in feedmail-buffer-to-binmail to form the shell command which
1297will receive the contents of the prepped buffer as stdin. If you'd 1297will receive the contents of the prepped buffer as stdin. If you'd
@@ -1322,7 +1322,7 @@ Feeds the buffer to it."
1322 1322
1323(defun feedmail-buffer-to-sendmail (prepped errors-to addr-listoid) 1323(defun feedmail-buffer-to-sendmail (prepped errors-to addr-listoid)
1324 "Function which actually calls sendmail as a subprocess. 1324 "Function which actually calls sendmail as a subprocess.
1325Feeds the buffer to it. Probably has some flaws for RESENT-* and other 1325Feeds the buffer to it. Probably has some flaws for Resent-* and other
1326complicated cases." 1326complicated cases."
1327 (set-buffer prepped) 1327 (set-buffer prepped)
1328 (apply 'call-process-region 1328 (apply 'call-process-region
@@ -1851,7 +1851,7 @@ the counts."
1851(defun feedmail-queue-subject-slug-maker (&optional queue-directory) 1851(defun feedmail-queue-subject-slug-maker (&optional queue-directory)
1852 "Create a name for storing the message in the queue. 1852 "Create a name for storing the message in the queue.
1853Optional argument QUEUE-DIRECTORY specifies into which directory the 1853Optional argument QUEUE-DIRECTORY specifies into which directory the
1854file will be placed. The name is based on the SUBJECT: header (if 1854file will be placed. The name is based on the Subject: header (if
1855there is one). If there is no subject, 1855there is one). If there is no subject,
1856feedmail-queue-default-file-slug is consulted Special characters are 1856feedmail-queue-default-file-slug is consulted Special characters are
1857mapped to mostly alphanumerics for safety." 1857mapped to mostly alphanumerics for safety."
@@ -1859,7 +1859,7 @@ mapped to mostly alphanumerics for safety."
1859 (setq eoh-marker (feedmail-find-eoh)) 1859 (setq eoh-marker (feedmail-find-eoh))
1860 (goto-char (point-min)) 1860 (goto-char (point-min))
1861 ;; get raw subject value (first line, anyhow) 1861 ;; get raw subject value (first line, anyhow)
1862 (if (re-search-forward "^SUBJECT:" eoh-marker t) 1862 (if (re-search-forward "^Subject:" eoh-marker t)
1863 (progn (setq s-point (point)) 1863 (progn (setq s-point (point))
1864 (end-of-line) 1864 (end-of-line)
1865 (setq subject (buffer-substring s-point (point))))) 1865 (setq subject (buffer-substring s-point (point)))))
@@ -1964,12 +1964,12 @@ mapped to mostly alphanumerics for safety."
1964 (eoh-marker) 1964 (eoh-marker)
1965 (bcc-holder) 1965 (bcc-holder)
1966 (resent-bcc-holder) 1966 (resent-bcc-holder)
1967 (a-re-rtcb "^RESENT-\\(TO\\|CC\\|BCC\\):") 1967 (a-re-rtcb "^Resent-\\(To\\|Cc\\|Bcc\\):")
1968 (a-re-rtc "^RESENT-\\(TO\\|CC\\):") 1968 (a-re-rtc "^Resent-\\(To\\|Cc\\):")
1969 (a-re-rb "^RESENT-BCC:") 1969 (a-re-rb "^Resent-Bcc:")
1970 (a-re-dtcb "^\\(TO\\|CC\\|BCC\\):") 1970 (a-re-dtcb "^\\(To\\|Cc\\|Bcc\\):")
1971 (a-re-dtc "^\\(TO\\|CC\\):") 1971 (a-re-dtc "^\\(To\\|Cc\\):")
1972 (a-re-db "^BCC:") 1972 (a-re-db "^Bcc:")
1973 ;; to get a temporary changable copy 1973 ;; to get a temporary changable copy
1974 (mail-header-separator mail-header-separator) 1974 (mail-header-separator mail-header-separator)
1975 ) 1975 )
@@ -2014,31 +2014,31 @@ mapped to mostly alphanumerics for safety."
2014 (re-search-forward 2014 (re-search-forward
2015 ;; header name, followed by optional whitespace, followed by 2015 ;; header name, followed by optional whitespace, followed by
2016 ;; non-whitespace, followed by anything, followed by newline; 2016 ;; non-whitespace, followed by anything, followed by newline;
2017 ;; the idea is empty RESENT-* headers are ignored 2017 ;; the idea is empty Resent-* headers are ignored
2018 "^\\(RESENT-TO:\\|RESENT-CC:\\|RESENT-BCC:\\)\\s-*\\S-+.*$" 2018 "^\\(Resent-To:\\|Resent-Cc:\\|Resent-Bcc:\\)\\s-*\\S-+.*$"
2019 eoh-marker t)) 2019 eoh-marker t))
2020 ;; if we say so, gather the BCC stuff before the main course 2020 ;; if we say so, gather the Bcc stuff before the main course
2021 (if (eq feedmail-deduce-bcc-where 'first) 2021 (if (eq feedmail-deduce-bcc-where 'first)
2022 (progn (if feedmail-is-a-resend (setq addr-regexp a-re-rb) (setq addr-regexp a-re-db)) 2022 (progn (if feedmail-is-a-resend (setq addr-regexp a-re-rb) (setq addr-regexp a-re-db))
2023 (setq feedmail-address-list (feedmail-deduce-address-list feedmail-prepped-text-buffer (point-min) eoh-marker addr-regexp feedmail-address-list)))) 2023 (setq feedmail-address-list (feedmail-deduce-address-list feedmail-prepped-text-buffer (point-min) eoh-marker addr-regexp feedmail-address-list))))
2024 ;; the main course 2024 ;; the main course
2025 (if (or (eq feedmail-deduce-bcc-where 'first) (eq feedmail-deduce-bcc-where 'last)) 2025 (if (or (eq feedmail-deduce-bcc-where 'first) (eq feedmail-deduce-bcc-where 'last))
2026 ;; handled by first or last cases, so don't get BCC stuff 2026 ;; handled by first or last cases, so don't get Bcc stuff
2027 (progn (if feedmail-is-a-resend (setq addr-regexp a-re-rtc) (setq addr-regexp a-re-dtc)) 2027 (progn (if feedmail-is-a-resend (setq addr-regexp a-re-rtc) (setq addr-regexp a-re-dtc))
2028 (setq feedmail-address-list (feedmail-deduce-address-list feedmail-prepped-text-buffer (point-min) eoh-marker addr-regexp feedmail-address-list))) 2028 (setq feedmail-address-list (feedmail-deduce-address-list feedmail-prepped-text-buffer (point-min) eoh-marker addr-regexp feedmail-address-list)))
2029 ;; not handled by first or last cases, so also get BCC stuff 2029 ;; not handled by first or last cases, so also get Bcc stuff
2030 (progn (if feedmail-is-a-resend (setq addr-regexp a-re-rtcb) (setq addr-regexp a-re-dtcb)) 2030 (progn (if feedmail-is-a-resend (setq addr-regexp a-re-rtcb) (setq addr-regexp a-re-dtcb))
2031 (setq feedmail-address-list (feedmail-deduce-address-list feedmail-prepped-text-buffer (point-min) eoh-marker addr-regexp feedmail-address-list)))) 2031 (setq feedmail-address-list (feedmail-deduce-address-list feedmail-prepped-text-buffer (point-min) eoh-marker addr-regexp feedmail-address-list))))
2032 ;; if we say so, gather the BCC stuff after the main course 2032 ;; if we say so, gather the Bcc stuff after the main course
2033 (if (eq feedmail-deduce-bcc-where 'last) 2033 (if (eq feedmail-deduce-bcc-where 'last)
2034 (progn (if feedmail-is-a-resend (setq addr-regexp a-re-rb) (setq addr-regexp a-re-db)) 2034 (progn (if feedmail-is-a-resend (setq addr-regexp a-re-rb) (setq addr-regexp a-re-db))
2035 (setq feedmail-address-list (feedmail-deduce-address-list feedmail-prepped-text-buffer (point-min) eoh-marker addr-regexp feedmail-address-list)))) 2035 (setq feedmail-address-list (feedmail-deduce-address-list feedmail-prepped-text-buffer (point-min) eoh-marker addr-regexp feedmail-address-list))))
2036 (if (not feedmail-address-list) (error "FQM: Sending...abandoned, no addressees")) 2036 (if (not feedmail-address-list) (error "FQM: Sending...abandoned, no addressees"))
2037 ;; not needed, but meets user expectations 2037 ;; not needed, but meets user expectations
2038 (setq feedmail-address-list (nreverse feedmail-address-list)) 2038 (setq feedmail-address-list (nreverse feedmail-address-list))
2039 ;; Find and handle any BCC fields. 2039 ;; Find and handle any Bcc fields.
2040 (setq bcc-holder (feedmail-accume-n-nuke-header eoh-marker "^BCC:")) 2040 (setq bcc-holder (feedmail-accume-n-nuke-header eoh-marker "^Bcc:"))
2041 (setq resent-bcc-holder (feedmail-accume-n-nuke-header eoh-marker "^RESENT-BCC:")) 2041 (setq resent-bcc-holder (feedmail-accume-n-nuke-header eoh-marker "^Resent-Bcc:"))
2042 (if (and bcc-holder (not feedmail-nuke-bcc)) 2042 (if (and bcc-holder (not feedmail-nuke-bcc))
2043 (progn (goto-char (point-min)) 2043 (progn (goto-char (point-min))
2044 (insert bcc-holder))) 2044 (insert bcc-holder)))
@@ -2066,7 +2066,7 @@ mapped to mostly alphanumerics for safety."
2066 2066
2067 (run-hooks 'feedmail-last-chance-hook) 2067 (run-hooks 'feedmail-last-chance-hook)
2068 2068
2069 (let ((fcc (feedmail-accume-n-nuke-header eoh-marker "^FCC:")) 2069 (let ((fcc (feedmail-accume-n-nuke-header eoh-marker "^Fcc:"))
2070 (also-file) 2070 (also-file)
2071 (confirm (cond 2071 (confirm (cond
2072 ((eq feedmail-confirm-outgoing 'immediate) 2072 ((eq feedmail-confirm-outgoing 'immediate)
@@ -2092,7 +2092,7 @@ mapped to mostly alphanumerics for safety."
2092 ) 2092 )
2093 ))) 2093 )))
2094 (goto-char (point-min)) 2094 (goto-char (point-min))
2095 ;; re-insert and handle any FCC fields (and, optionally, any BCC). 2095 ;; re-insert and handle any Fcc fields (and, optionally, any Bcc).
2096 (if fcc (let ((default-buffer-file-type feedmail-force-binary-write)) 2096 (if fcc (let ((default-buffer-file-type feedmail-force-binary-write))
2097 (insert fcc) 2097 (insert fcc)
2098 (if (not feedmail-nuke-bcc-in-fcc) 2098 (if (not feedmail-nuke-bcc-in-fcc)
@@ -2207,9 +2207,9 @@ feedmail-fiddle-plex-blurb."
2207 ;; an every-5-minutes event either 2207 ;; an every-5-minutes event either
2208 (insert-buffer feedmail-prepped-text-buffer) 2208 (insert-buffer feedmail-prepped-text-buffer)
2209 ;; There's a good case to me made that each separate transmission of 2209 ;; There's a good case to me made that each separate transmission of
2210 ;; a message in the spray should have a distinct MESSAGE-ID:. There 2210 ;; a message in the spray should have a distinct Message-Id:. There
2211 ;; is also a less compelling argument in the other direction. I think 2211 ;; is also a less compelling argument in the other direction. I think
2212 ;; they technically should have distinct MESSAGE-ID:s, but I doubt that 2212 ;; they technically should have distinct Message-Id:s, but I doubt that
2213 ;; anyone cares, practically. If someone complains about it, I'll add 2213 ;; anyone cares, practically. If someone complains about it, I'll add
2214 ;; it. 2214 ;; it.
2215 (feedmail-fiddle-list-of-spray-fiddle-plexes feedmail-spray-address-fiddle-plex-list) 2215 (feedmail-fiddle-list-of-spray-fiddle-plexes feedmail-spray-address-fiddle-plex-list)
@@ -2232,25 +2232,25 @@ feedmail-fiddle-plex-blurb."
2232 2232
2233(defun feedmail-envelope-deducer (eoh-marker) 2233(defun feedmail-envelope-deducer (eoh-marker)
2234 "If feedmail-deduce-envelope-from is false, simply return `user-mail-address'. 2234 "If feedmail-deduce-envelope-from is false, simply return `user-mail-address'.
2235Else, look for SENDER: or FROM: (or RESENT-*) and 2235Else, look for Sender: or From: (or Resent-*) and
2236return that value." 2236return that value."
2237 (if (not feedmail-deduce-envelope-from) 2237 (if (not feedmail-deduce-envelope-from)
2238 user-mail-address 2238 user-mail-address
2239 (let ((from-list)) 2239 (let ((from-list))
2240 (setq from-list 2240 (setq from-list
2241 (feedmail-deduce-address-list 2241 (feedmail-deduce-address-list
2242 (current-buffer) (point-min) eoh-marker (if feedmail-is-a-resend "^RESENT-SENDER:" "^SENDER:") 2242 (current-buffer) (point-min) eoh-marker (if feedmail-is-a-resend "^Resent-Sender:" "^Sender:")
2243 from-list)) 2243 from-list))
2244 (if (not from-list) 2244 (if (not from-list)
2245 (setq from-list 2245 (setq from-list
2246 (feedmail-deduce-address-list 2246 (feedmail-deduce-address-list
2247 (current-buffer) (point-min) eoh-marker (if feedmail-is-a-resend "^RESENT-FROM:" "^FROM:") 2247 (current-buffer) (point-min) eoh-marker (if feedmail-is-a-resend "^Resent-From:" "^From:")
2248 from-list))) 2248 from-list)))
2249 (if (and from-list (car from-list)) (car from-list) user-mail-address)))) 2249 (if (and from-list (car from-list)) (car from-list) user-mail-address))))
2250 2250
2251 2251
2252(defun feedmail-fiddle-from () 2252(defun feedmail-fiddle-from ()
2253 "Fiddle FROM:." 2253 "Fiddle From:."
2254 ;; default is to fall off the end of the list and do nothing 2254 ;; default is to fall off the end of the list and do nothing
2255 (cond 2255 (cond
2256 ;; nil means do nothing 2256 ;; nil means do nothing
@@ -2290,7 +2290,7 @@ return that value."
2290 2290
2291 2291
2292(defun feedmail-fiddle-sender () 2292(defun feedmail-fiddle-sender ()
2293 "Fiddle SENDER:." 2293 "Fiddle Sender:."
2294 ;; default is to fall off the end of the list and do nothing 2294 ;; default is to fall off the end of the list and do nothing
2295 (cond 2295 (cond
2296 ;; nil means do nothing 2296 ;; nil means do nothing
@@ -2318,7 +2318,7 @@ return that value."
2318 2318
2319 2319
2320(defun feedmail-default-date-generator (maybe-file) 2320(defun feedmail-default-date-generator (maybe-file)
2321 "Default function for generating DATE: header contents." 2321 "Default function for generating Date: header contents."
2322 (let ((date-time)) 2322 (let ((date-time))
2323 (if (and (not feedmail-queue-use-send-time-for-date) maybe-file) 2323 (if (and (not feedmail-queue-use-send-time-for-date) maybe-file)
2324 (setq date-time (nth 5 (file-attributes maybe-file)))) 2324 (setq date-time (nth 5 (file-attributes maybe-file))))
@@ -2327,7 +2327,7 @@ return that value."
2327 2327
2328 2328
2329(defun feedmail-fiddle-date (maybe-file) 2329(defun feedmail-fiddle-date (maybe-file)
2330 "Fiddle DATE:. See documentation of feedmail-date-generator." 2330 "Fiddle Date:. See documentation of feedmail-date-generator."
2331 ;; default is to fall off the end of the list and do nothing 2331 ;; default is to fall off the end of the list and do nothing
2332 (cond 2332 (cond
2333 ;; nil means do nothing 2333 ;; nil means do nothing
@@ -2357,7 +2357,7 @@ return that value."
2357 2357
2358 2358
2359(defun feedmail-default-message-id-generator (maybe-file) 2359(defun feedmail-default-message-id-generator (maybe-file)
2360 "Default function for generating MESSAGE-ID: header contents. 2360 "Default function for generating Message-Id: header contents.
2361Based on a date and a sort of random number for tie breaking. Unless 2361Based on a date and a sort of random number for tie breaking. Unless
2362feedmail-message-id-suffix is defined, uses `user-mail-address', so be 2362feedmail-message-id-suffix is defined, uses `user-mail-address', so be
2363sure it's set." 2363sure it's set."
@@ -2377,7 +2377,7 @@ sure it's set."
2377 ) 2377 )
2378 2378
2379(defun feedmail-fiddle-message-id (maybe-file) 2379(defun feedmail-fiddle-message-id (maybe-file)
2380 "Fiddle MESSAGE-ID:. See documentation of feedmail-message-id-generator." 2380 "Fiddle Message-Id:. See documentation of feedmail-message-id-generator."
2381 ;; default is to fall off the end of the list and do nothing 2381 ;; default is to fall off the end of the list and do nothing
2382 (cond 2382 (cond
2383 ;; nil means do nothing 2383 ;; nil means do nothing
@@ -2400,14 +2400,14 @@ sure it's set."
2400 ;; if it's a list, it must be a fiddle-plex -- so fiddle, man, fiddle 2400 ;; if it's a list, it must be a fiddle-plex -- so fiddle, man, fiddle
2401 ((listp feedmail-message-id-generator) 2401 ((listp feedmail-message-id-generator)
2402 (feedmail-fiddle-header 2402 (feedmail-fiddle-header
2403 (if feedmail-is-a-resend "Resent-Message-ID" "Message-ID") 2403 (if feedmail-is-a-resend "Resent-Message-Id" "Message-Id")
2404 (nth 1 feedmail-message-id-generator) ; value 2404 (nth 1 feedmail-message-id-generator) ; value
2405 (nth 2 feedmail-message-id-generator) ; action 2405 (nth 2 feedmail-message-id-generator) ; action
2406 (nth 3 feedmail-message-id-generator))))) ; folding 2406 (nth 3 feedmail-message-id-generator))))) ; folding
2407 2407
2408 2408
2409(defun feedmail-default-x-mailer-generator () 2409(defun feedmail-default-x-mailer-generator ()
2410 "Default function for generating X-MAILER: header contents." 2410 "Default function for generating X-Mailer: header contents."
2411 (concat 2411 (concat
2412 (let ((case-fold-search t)) (if (string-match "emacs" emacs-version) "" "emacs ")) 2412 (let ((case-fold-search t)) (if (string-match "emacs" emacs-version) "" "emacs "))
2413 emacs-version " (via feedmail " feedmail-patch-level 2413 emacs-version " (via feedmail " feedmail-patch-level
@@ -2418,7 +2418,7 @@ sure it's set."
2418 2418
2419 2419
2420(defun feedmail-fiddle-x-mailer () 2420(defun feedmail-fiddle-x-mailer ()
2421 "Fiddle X-MAILER:. See documentation of feedmail-x-mailer-line." 2421 "Fiddle X-Mailer:. See documentation of feedmail-x-mailer-line."
2422 ;; default is to fall off the end of the list and do nothing 2422 ;; default is to fall off the end of the list and do nothing
2423 (cond 2423 (cond
2424 ;; t is the same a using the function feedmail-default-x-mailer-generator, so let it and recurse 2424 ;; t is the same a using the function feedmail-default-x-mailer-generator, so let it and recurse
@@ -2451,13 +2451,13 @@ sure it's set."
2451 (cond 2451 (cond
2452 ;; nil means do nothing 2452 ;; nil means do nothing
2453 ((eq nil addy-plex) nil) 2453 ((eq nil addy-plex) nil)
2454 ;; t means the same as using "TO: and unembellished addy 2454 ;; t means the same as using "To:" and unembellished addy
2455 ((eq t addy-plex) 2455 ((eq t addy-plex)
2456 (let ((addy-plex (list "To" feedmail-spray-this-address))) 2456 (let ((addy-plex (list "To" feedmail-spray-this-address)))
2457 (feedmail-fiddle-spray-address addy-plex))) 2457 (feedmail-fiddle-spray-address addy-plex)))
2458 2458
2459 ;; if it's a string, simply make a fiddle-plex out of it and recurse, assuming 2459 ;; if it's a string, simply make a fiddle-plex out of it and recurse, assuming
2460 ;; the string names a header field (e.g., "TO") 2460 ;; the string names a header field (e.g., "To")
2461 ((stringp addy-plex) 2461 ((stringp addy-plex)
2462 (let ((addy-plex (list addy-plex feedmail-spray-this-address))) 2462 (let ((addy-plex (list addy-plex feedmail-spray-this-address)))
2463 (feedmail-fiddle-spray-address addy-plex))) 2463 (feedmail-fiddle-spray-address addy-plex)))
@@ -2534,17 +2534,17 @@ headers, including the intervening newlines."
2534 "Smart filling of address headers (don't be fooled by the name). 2534 "Smart filling of address headers (don't be fooled by the name).
2535The filling tries to avoid splitting lines except at commas. This 2535The filling tries to avoid splitting lines except at commas. This
2536avoids, in particular, splitting within parenthesized comments in 2536avoids, in particular, splitting within parenthesized comments in
2537addresses. Headers filled include FROM:, REPLY-TO:, TO:, CC:, BCC:, 2537addresses. Headers filled include From:, Reply-To:, To:, Cc:, Bcc:,
2538RESENT-TO:, RESENT-CC:, and RESENT-BCC:." 2538Resent-To:, Resent-Cc:, and Resent-Bcc:."
2539 (let ((case-fold-search t) 2539 (let ((case-fold-search t)
2540 this-line 2540 this-line
2541 this-line-end) 2541 this-line-end)
2542 (save-excursion 2542 (save-excursion
2543 (goto-char (point-min)) 2543 (goto-char (point-min))
2544 ;; iterate over all TO:/CC:, etc, lines 2544 ;; iterate over all To:/Cc:, etc, lines
2545 (while 2545 (while
2546 (re-search-forward 2546 (re-search-forward
2547 "^\\(FROM:\\|REPLY-TO:\\|TO:\\|CC:\\|BCC:\\|RESENT-TO:\\|RESENT-CC:\\|RESENT-BCC:\\)" 2547 "^\\(From:\\|Reply-To:\\|To:\\|Cc:\\|Bcc:\\|Resent-To:\\|Resent-Cc:\\|Resent-Bcc:\\)"
2548 header-end t) 2548 header-end t)
2549 (setq this-line (match-beginning 0)) 2549 (setq this-line (match-beginning 0))
2550 ;; replace 0 or more leading spaces with a single space 2550 ;; replace 0 or more leading spaces with a single space