MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 3.18.102.38
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/mail/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/mail/feedmail.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:11:42 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/mail/feedmail.el
;;; in Emacs version 24.3.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(defconst feedmail-patch-level "11-beta-1")
(byte-code "\300\301!\210\302\303\304\"\210\305\306\307\310\311\312\311\313\314\315&	\210\305\316\307\317\314\306%\210\305\320\307\321\314\306%\210\305\322\307\323\314\306%\210\305\324\307\325\314\306%\210\326\327\307\330\314\316\331\332&\210\326\333\334\335\336\337\314\316\331\332&	\210\326\340\307\341\336\337\314\316\331\342&	\210\326\343\344\345\314\320\331\332&\210\326\346\344\347\314\320\331\332&\210\326\350\307\351\314\320\331\332&\210\326\352\344\353\314\320\331\332&\210\326\354\355\356\314\320\331\357&\210\326\360\307\361\314\320\331\332&\210\326\362\307\363\314\320\331\364&\210\326\365\307\366\314\320\331\332&\210\326\367\344\370\314\320\331\332&\210\326\371\307\372\314\320\331\373&\210\326\374\344\375\314\316\331\332&\210\326\376\344\377\314\320\331\201@&\210\326\201A\307\201B\336\337\314\320\331\332&	\210\326\201C\344\201D\314\320\331\332&\210\326\201E\307\201F\314\320\331\201G&\210\326\201H\344\201I\314\320\331\201J&\210\326\201K\344\201L\314\320\331\201M&\210\326\201N\307\201O\314\320\331\201P&\210\326\201Q\344\201R\314\320\331\201S&\210\326\201T\344\201U\314\320\331\332&\210\326\201V\307\201W\314\320\331\201X&\210\326\201Y\307\201Z\314\201[\331\332&\207" [require mail-utils autoload mail-do-fcc "sendmail" custom-declare-group feedmail nil "Assist other email packages to massage outgoing messages." :link (url-link "http://www.carpenter.org/feedmail/feedmail.html") (emacs-commentary-link "feedmail") :group mail feedmail-misc "Miscellaneous feedmail options that don't fit in other groups." feedmail-headers "Options related to manipulating specific headers or types of headers." feedmail-queue "Options related to queuing messages for later sending." feedmail-debug "Options related to debug messages for later sending." custom-declare-variable feedmail-confirm-outgoing "If non-nil, give a y-or-n confirmation prompt before sending mail.\nThis is done after the message is completely prepped, and you'll be\nlooking at the top of the message in a buffer when you get the prompt.\nIf set to the symbol 'queued, give the confirmation prompt only while\nrunning the queue (however, the prompt is always suppressed if you are\nprocessing the queue via `feedmail-run-the-queue-no-prompts').  If set\nto the symbol 'immediate, give the confirmation prompt only when\nsending immediately.  For any other non-nil value, prompt in both\ncases.  You can give a timeout for the prompt; see variable\n`feedmail-confirm-outgoing-timeout'." :type boolean feedmail-display-full-frame 'queued "If non-nil, show prepped messages in a full frame.\nIf nil, the prepped message will be shown, for confirmation or\notherwise, in some window in the current frame without resizing\nanything.  That may or may not display enough of the message to\ndistinguish it from others.  If set to the symbol 'queued, take\nthis action only when running the queue.  If set to the symbol\n'immediate, take this action only when sending immediately.  For\nany other non-nil value, take the action in both cases.  Even if\nyou're not confirming the sending of immediate or queued messages,\nit can still be interesting to see a lot about them as they are\nshuttled robotically onward." :version "24.1" feedmail-confirm-outgoing-timeout "If non-nil, a timeout in seconds at the send confirmation prompt.\nIf a positive number, it's a timeout before sending.  If a negative\nnumber, it's a timeout before not sending.  This will not work if your\nversion of Emacs doesn't include the function `y-or-n-p-with-timeout'\n(e.g., some versions of XEmacs)." (choice (const nil) integer) feedmail-nuke-bcc t "If non-nil remove Bcc: lines from the message headers.\nIn any case, the Bcc: lines do participate in the composed address\nlist.  You may want to leave them in if you're using sendmail\n(see `feedmail-buffer-eating-function')." feedmail-nuke-resent-bcc "If non-nil remove Resent-Bcc: lines from the message headers.\nIn any case, the Resent-Bcc: lines do participate in the composed\naddress list.  You may want to leave them in if you're using sendmail\n(see `feedmail-buffer-eating-function')." feedmail-deduce-bcc-where "Where Bcc:/Resent-Bcc: addresses should appear in the envelope list.\nAddresses for the message envelope are deduced by examining\nappropriate address headers in the message.  Generally, they will show\nup in the list of deduced addresses in the order that the headers\nhappen to appear (duplicate addresses are eliminated in any case).\nThis variable can be set to the symbol 'first, in which case the\nBcc:/Resent-Bcc: addresses will appear at the beginning in the list;\nor, it can be set to the symbol 'last, in which case they will appear\nat the end of the list.\n\nWhy should you care?  Well, maybe you don't, and certainly the same\nthings could be accomplished by affecting the order of message headers\nin the outgoing message.  Some people use Bcc: as a way of getting\ntheir own \"come back\" copy of each message they send.  If Bcc:\naddresses are not handled first, there can be substantial delays in\nseeing the message again.  Some configurations of sendmail, for example,\nseem to try to deliver to each addressee at least once, immediately\nand serially, so slow SMTP conversations can add up to a delay.  There\nis an option for either 'first or 'last because you might have a\ndelivery agent that processes the addresses backwards." feedmail-fill-to-cc "If non-nil do smart filling of addressee header lines.\nSmart filling means breaking long lines at appropriate points and\nmaking continuation lines.  Despite the function name, it includes\nTo:, Cc:, Bcc: (and their Resent-* forms), as well as From: and\nReply-To: (though they seldom need it).  If nil, the lines are left\nas-is.  The filling is done after mail address alias expansion." feedmail-fill-to-cc-fill-column default-fill-column "Fill column used by `feedmail-fill-to-cc'." integer feedmail-nuke-bcc-in-fcc "If non-nil remove [Resent-]Bcc: lines in message copies saved via Fcc:.\nThis is independent of whether the Bcc: header lines are actually sent\nwith the message (see feedmail-nuke-bcc).  Though not implied in the name,\nthe same Fcc: treatment applies to both Bcc: and Resent-Bcc: lines." feedmail-nuke-body-in-fcc "If non-nil remove body of message in copies saved via Fcc:.\nIf a positive integer value, leave (up to) that many lines of the\nbeginning of the body intact.  The result is that the Fcc: copy will\nconsist only of the message headers, serving as a sort of an outgoing\nmessage log." (choice (const nil) (const t) integer) feedmail-force-expand-mail-aliases "If non-nil, force the calling of `expand-mail-aliases'.\nNormally, feedmail tries to figure out if you're using mailalias or\nmailabbrevs and only calls `expand-mail-aliases' if it thinks you're\nusing the mailalias package.  This user option can be used to force\nthe issue since there are configurations which fool the figuring\nout." feedmail-nuke-empty-headers "If non-nil, remove header lines which have no contents.\nA completely empty Subject: header is always removed, regardless of\nthe setting of this variable.  The only time you would want them left\nin would be if you used some headers whose presence indicated\nsomething rather than their contents.  This is rare in Internet email\nbut common in some proprietary systems." feedmail-sender-line "If non-nil and the email has no Sender: header, use this value.\nMay be nil, in which case nothing in particular is done with respect\nto Sender: lines.  By design, will not replace an existing Sender:\nline, but you can achieve that with a fiddle-plex 'replace action.\nNB: it makes no sense to use the value t since there is no sensible\ndefault for Sender:.\n\nIf not nil, it may be a string, a fiddle-plex, or a function which\nreturns either nil, t, a string, or a fiddle-plex (or, in fact,\nanother function, but let's not be ridiculous).  If a string, it\nshould be just the contents of the header, not the name of the header\nitself nor the trailing newline.  If a function, it will be called\nwith no arguments.  For an explanation of fiddle-plexes, see the\ndocumentation for the variable `feedmail-fiddle-plex-blurb'.  In all\ncases the name element of the fiddle-plex is ignored and is hardwired\nby feedmail to either \"Sender\" or \"Resent-Sender\".\n\nYou can probably leave this nil, but if you feel like using it, a good\nvalue would be a string of a fully-qualified domain name form of your\naddress.  For example, \"bill@example.net (WJCarpenter)\".  The Sender:\nheader is fiddled after the From: header is fiddled." (choice (const nil) string) feedmail-force-binary-write "If non-nil, force writing file as binary (this applies to queues and Fcc:).\nOn systems where there is a difference between binary and text files,\nfeedmail will temporarily manipulate the value of `buffer-file-type'\nto make the writing as binary.  If nil, writing will be in text mode.\nOn systems where there is no distinction or where it is controlled by other\nvariables or other means, this option has no effect." feedmail-from-line "If non-nil and the email has no From: header, use this value.\nMay be t, in which case a default is computed (and you probably won't\nbe happy with it).  May be nil, in which case nothing in particular is\ndone with respect to From: lines.  By design, will not replace an\nexisting From: line, but you can achieve that with a fiddle-plex 'replace\naction.\n\nIf neither nil nor t, it may be a string, a fiddle-plex, or a function\nwhich returns either nil, t, a string, or a fiddle-plex (or, in fact,\nanother function, but let's not be ridiculous).  If a string, it\nshould be just the contents of the header, not the name of the header\nitself nor the trailing newline.  If a function, it will be called\nwith no arguments.  For an explanation of fiddle-plexes, see the\ndocumentation for the variable `feedmail-fiddle-plex-blurb'.  In all\ncases the name element of the fiddle-plex is ignored and is hardwired\nby feedmail to either \"From\" or \"Resent-From\".\n\nA good value would be a string fully-qualified domain name form of\nyour address.  For example, \"bill@example.net (WJCarpenter)\".  The\ndefault value of this variable uses the standard elisp variable\n`user-mail-address' which should be set on every system but has a decent\nchance of being wrong.  It also honors `mail-from-style'.  Better to set\nthis variable explicitly to the string you want or find some other way\nto arrange for the message to get a From: line." (choice (const t) (const nil) string) feedmail-sendmail-f-doesnt-sell-me-out "Says whether the sendmail program issues a warning header if called with \"-f\".\nThe sendmail program has a useful feature to let you set the envelope FROM\naddress via a command line option, \"-f\".  Unfortunately, it also has a widely\ndisliked default behavior of selling you out if you do that by inserting\nan unattractive warning in the headers.  It looks something like this:\n\n  X-Authentication-Warning: u1.example.com: niceguy set sender to niceguy@example.com using -f\n\nIt is possible to configure sendmail to not do this, but such a reconfiguration\nis not an option for many users.  As this is the default behavior of most\nsendmail installations, one can mostly only wish it were otherwise.  If feedmail\nbelieves the sendmail program will sell you out this way, it won't use the \"-f\"\noption when calling sendmail.  If it doesn't think sendmail will sell you out,\nit will use the \"-f\" (since it is a handy feature).  You control what\nfeedmail thinks with this variable.  The default is nil, meaning that feedmail\nwill believe that sendmail will sell you out." feedmail-deduce-envelope-from "If non-nil, deduce message envelope \"from\" from header From: or Sender:.\nIn other words, if there is a Sender: header in the message, temporarily\nchange the value of `user-mail-address' to be the same while the message\nis being sent.  If there is no Sender: header, use the From: header,\nif any.  Address values are taken from the actual message just before\nit is sent, and the process is independent of the values of\n`feedmail-from-line' and/or `feedmail-sender-line'.\n\nThere are many and good reasons for having the message header\nFrom:/Sender: be different from the message envelope \"from\"\ninformation.  However, for most people and for most circumstances, it\nis usual for them to be the same (this is probably especially true for\nthe case where the user doesn't understand the difference between the\ntwo in the first place).\n\nThe idea behind this feature is that you can have everything set up\nsome normal way for yourself.  If for some reason you want to send a\nmessage with another From: line, you can just type it at the top of\nthe message, and feedmail will take care of \"fixing up\" the envelope\n\"from\".  This only works for mail senders which make use of\n`user-mail-address' as the envelope \"from\" value.  For some mail\nsenders (e.g., feedmail-buffer-to-bin-mail), there is no simple way to\ninfluence what they will use as the envelope." feedmail-x-mailer-line-user-appendage "See feedmail-x-mailer-line." (choice (const nil) (const t) string) feedmail-x-mailer-line "Control the form of an X-Mailer: header in an outgoing message.\nModerately useful for debugging, keeping track of your correspondents'\nmailer preferences, or just wearing your MUA on your sleeve.  You\nshould probably know that some people are fairly emotional about the\npresence of X-Mailer: lines in email.\n\nIf nil, nothing is done about X-Mailer:.\n\nIf t, an X-Mailer: header of a predetermined format is produced,\ncombining its efforts with any existing X-Mailer: header.  If you want\nto take the default construct and just add a little blob of your own\nat the end, define the variable feedmail-x-mailer-line-user-appendage\nas that blob string.  A value of t is equivalent to using the function\nfeedmail-default-x-mailer-generator.\n\nIf neither nil nor t, it may be a string, a fiddle-plex, or a function\nwhich returns either nil, t, a string, or a fiddle-plex (or, in fact,\nanother function, but let's not be ridiculous).  If a string, it\nshould be just the contents of the header, not the name of the header\nitself nor the trailing newline.  If a function, it will be called\nwith no arguments.  For an explanation of fiddle-plexes, see the\ndocumentation for the variable `feedmail-fiddle-plex-blurb'.  In all\ncases the name element of the fiddle-plex is ignored and is hardwired\nby feedmail to either \"X-Mailer\" or \"X-Resent-Mailer\"." (choice (const t) (const nil) string function) feedmail-message-id-generator "Specifies the creation of a Message-Id: header field.\n\nIf nil, nothing is done about Message-Id:.\n\nIf t, a Message-Id: header of a predetermined format is produced, but\nonly if there is not already a Message-Id: in the message.  A value of\nt is equivalent to using the function feedmail-default-message-id-generator.\n\nIf neither nil nor t, it may be a string, a fiddle-plex, or a function\nwhich returns either nil, t, a string, or a fiddle-plex (or, in fact,\nanother function, but let's not be ridiculous).  If a string, it\nshould be just the contents of the header, not the name of the header\nitself nor the trailing newline.  If a function, it will be called\nwith one argument: the possibly-nil name of the file associated with\nthe message buffer.  For an explanation of fiddle-plexes, see the\ndocumentation for the variable `feedmail-fiddle-plex-blurb'.  In all\ncases the name element of the fiddle-plex is ignored and is hardwired\nby feedmail to either \"Message-Id\" or \"Resent-Message-Id\".\n\nYou should let feedmail generate a Message-Id: for you unless you are sure\nthat whatever you give your messages to will do it for you (e.g., most\nconfigurations of sendmail).  Even if the latter case is true, it\nprobably won't hurt you to generate your own, and it will then show up\nin the saved message if you use Fcc:." (choice (const t) (const nil) function) feedmail-message-id-suffix "If non-nil, used as a suffix for generating unique Message-Id: headers.\nThe function `feedmail-default-message-id-generator' creates its work based\non a formatted date-time string, a random number, and a domain-looking suffix.\nYou can control the suffix used by assigning a string value to this variable.\nIf you don't supply one, the value of the variable `user-mail-address' will be\nused.  If the value of `feedmail-message-id-suffix' contains an \"@\" character,\nthe string will be used verbatim, else an \"@\" character will be prepended\nautomatically." (choice (const nil) string) feedmail-date-generator "Specifies the creation of a Date: header field.\n\nIf nil, nothing is done about Date:.\n\nIf t, a Date: header of a predetermined format is produced, but only\nif there is not already a Date: in the message.  A value of t is\nequivalent to using the function `feedmail-default-date-generator'.\n\nIf neither nil nor t, it may be a string, a fiddle-plex, or a function\nwhich returns either nil, t, a string, or a fiddle-plex (or, in fact,\nanother function, but let's not be ridiculous).  If a string, it\nshould be just the contents of the header, not the name of the header\nitself nor the trailing newline.  If a function, it will be called\nwith one argument: the possibly-nil name of the file associated with\nthe message buffer.  For an explanation of fiddle-plexes, see the\ndocumentation for the variable `feedmail-fiddle-plex-blurb'.  In all\ncases the name element of the fiddle-plex is ignored and is hardwired\nby feedmail to either \"Date\" or \"Resent-Date\".\n\nIf you decide to format your own date field, do us all a favor and know\nwhat you're doing.  Study the relevant parts of RFC-822 and RFC-1123.\nDon't make me come up there!\n\nYou should let feedmail generate a Date: for you unless you are sure\nthat whatever you give your messages to will do it for you (e.g., most\nconfigurations of sendmail).  Even if the latter case is true, it\nprobably won't hurt you to generate your own, and it will then show up\nin the saved message if you use Fcc:." (choice (const t) (const nil) function) feedmail-fiddle-headers-upwardly "Non-nil means fiddled header fields should go at the top of the header.\nnil means insert them at the bottom.  This is mostly a novelty issue since\nthe standards define the ordering of header fields to be immaterial and it's\nfairly likely that some MTA/MUA along the way will have its own idea of what the\norder should be, regardless of what you specify." feedmail-fiddle-plex-user-list "If non-nil, should be a list of one or more fiddle-plexes.\nEach element of the list can also be a function which returns a\nfiddle-plex.\n\nfeedmail will use this list of fiddle-plexes to manipulate user-specified\nmessage header fields.  It does this after it has completed all normal\nmessage header field manipulation and before calling `feedmail-last-chance-hook'.\n\nFor an explanation of fiddle-plexes, see the documentation for the\nvariable `feedmail-fiddle-plex-blurb'.  In contrast to some other fiddle-plex\nmanipulation functions, in this context, it makes no sense to have an element\nwhich is nil, t, or a simple string." (repeat (choice function) sexp) feedmail-enable-spray "If non-nil, transmit message separately to each addressee.\nfeedmail normally accumulates a list of addressees and passes the message\nalong with that list to a buffer-eating function which expects any number\nof addressees.  If this variable is non-nil, however, feedmail will\nrepeatedly call the same buffer-eating function.  Each time, the list of\naddressees will be just one item from the original list.  This only affects\nthe message envelope addresses and doesn't affect what appears in the\nmessage headers except as noted.\n\nSpray mode is usually pointless, and if you can't think of a good reason for\nit, you should avoid it since it is inherently less efficient than normal\nmultiple delivery.  One reason to use it is to overcome mis-featured mail\ntransports which betray your trust by revealing Bcc: addressees in the\nheaders of a message.  Another use is to do a crude form of mailmerge, for\nwhich see `feedmail-spray-address-fiddle-plex-list'.\n\nIf one of the calls to the buffer-eating function results in an error,\nwhat happens next is carelessly defined, so beware.  This should get ironed\nout in some future release, and there could be other API changes for spraying\nas well." feedmail-spray] 10)
#@81 Do not set this variable, except via `feedmail-spray-address-fiddle-plex-list'.
(defvar feedmail-spray-this-address nil (#$ . 21212))
#@2561 User-supplied specification for a crude form of mailmerge capability.
When spraying is enabled, feedmail composes a list of envelope addresses.
In turn, `feedmail-spray-this-address' is temporarily set to each address
(stripped of any comments and angle brackets) and a function is called which
fiddles message headers according to this variable.  See the documentation for
`feedmail-fiddle-plex-blurb', for an overview of fiddle-plex data structures.

May be nil, in which case nothing in particular is done about message
headers for specific addresses.

May be t, in which case a "To:" header is added to the message with
the stripped address as the header contents.  The fiddle-plex operator
is 'supplement.

May be a string, in which case the string is assumed to be the name of
a message header field with the stripped address serving as the value.
The fiddle-plex operator is 'supplement.

May be a function, in which case it is called with no arguments and is
expected to return nil, t, a string, another function, or a fiddle-plex.
The result is used recursively.  The function may alter the value of the
variable feedmail-spray-this-address, perhaps to embellish it with a
human name.  It would be logical in such a case to return as a value a
string naming a message header like "TO" or an appropriately constructed
fiddle-plex.  For an example, see feedmail-spray-via-bbdb.

May be a list of any combination of the foregoing and/or
fiddle-plexes.  (A value for this variable which consists of a single
fiddle-plex must be nested inside another list to avoid ambiguity.)
If a list, each item is acted on in turn as described above.

For example,

  (setq feedmail-spray-address-fiddle-plex-list 'feedmail-spray-via-bbdb)

The idea of the example is that, during spray mode, as each message is
about to be transmitted to an individual address, the function will be
called and will consult `feedmail-spray-this-address' to find the
stripped envelope email address (no comments or angle brackets).  The
function should return an embellished form of the address.

The recipe for sending form letters is:  (1) create a message with all
addressees on Bcc: headers; (2) tell feedmail to remove Bcc: headers
before sending the message; (3) create a function which will embellish
stripped addresses, if desired; (4) define `feedmail-spray-address-fiddle-plex-list'
appropriately; (5) send the message with `feedmail-enable-spray' set
non-nil; (6) stand back and watch co-workers wonder at how efficient
you are at accomplishing inherently inefficient things.
(custom-declare-variable 'feedmail-spray-address-fiddle-plex-list nil '(#$ . 21354) :group 'feedmail-spray :type 'sexp)
#@148 Example function for use with feedmail spray mode.
NB: it's up to the user to have the BBDB environment already set up properly
before using this.
(defalias 'feedmail-spray-via-bbdb #[nil "\304\211\211\305\306!\307Q\310\311 \304\211	$\211@\203%\nA\204%\n@\202'\304\n\203/\312\n!\203:\313\314E\202>\313\314E+\207" [embellish q-net-addy net-rec feedmail-spray-this-address nil "^" regexp-quote "$" bbdb-search bbdb-records bbdb-dwim-net-address "To" supplement] 6 (#$ . 24041)])
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\302\311\304\305\306\307&\210\300\312\313\314\304\305\306\315&\210\300\316\317\320\304\305\306\315&\210\300\321\322\323\304\305\306\307&\210\300\324\325\326\304\305\306\315&\210\300\327\330\331\304\305\306\315&\210\300\332\333\334\304\305\306\335&\207" [custom-declare-variable feedmail-enable-queue nil "If non-nil, provide for stashing outgoing messages in a queue.\nThis is the master on/off switch for feedmail message queuing.\nQueuing is quite handy for laptop-based users.  It's also handy if you\nget a lot of mail and process it more or less sequentially.  For\nexample, you might change your mind about contents of a reply based on\na message you see a bit later.\n\nThere is a separate queue for draft messages, intended to prevent\nyou from accidentally sending incomplete messages.  The queues are\ndisk-based and intended for later transmission.  The messages are\nqueued in their raw state as they appear in the mail-mode buffer and\ncan be arbitrarily edited later, before sending, by visiting the\nappropriate file in the queue directory (and setting the buffer to\nmail-mode or whatever).  If you visit a file in the queue directory\nand try to queue it again, it will just get saved in its existing file\nname.  You can move a message from the draft to the main queue or vice\nversa by pretending to send it and then selecting whichever queue\ndirectory you want at the prompt.  The right thing will happen.\n\nTo transmit all the messages in the queue, invoke the command\n`feedmail-run-the-queue' or `feedmail-run-the-queue-no-prompts'." :group feedmail-queue :type boolean feedmail-queue-runner-confirm-global "If non-nil, give a y-or-n confirmation prompt before running the queue.\nPrompt even if the queue is about to be processed as a result of a call to\n`feedmail-run-the-queue-no-prompts'.  This gives you a way to bail out\nwithout having to answer no to the individual message prompts." feedmail-queue-directory (expand-file-name "~/mail/q") "Name of a directory where messages will be queued.\nDirectory will be created if necessary.  Should be a string that\ndoesn't end with a slash.  Default is \"~/mail/q\"." string feedmail-queue-draft-directory (expand-file-name "~/mail/draft") "Name of a directory where draft messages will be queued.\nDirectory will be created if necessary.  Should be a string that\ndoesn't end with a slash.  Default is \"~/mail/draft\"." feedmail-ask-before-queue t "If non-nil, feedmail will ask what you want to do with the message.\nDefault choices for the message action prompt will include sending it\nimmediately, putting it in the main queue, putting it in the draft\nqueue, or returning to the buffer to continue editing.  Only matters if\nqueuing is enabled.  If nil, the message is placed in the main queue\nwithout a prompt." feedmail-ask-before-queue-prompt "FQM: Message action (q, i, d, e, ?)? [%s]: " "A string which will be used for the message action prompt.\nIf it contains a \"%s\", that will be replaced with the value of\n`feedmail-ask-before-queue-default'." feedmail-ask-before-queue-reprompt "FQM: Please type q, i, d, or e; or ? for help [%s]: " "A string which will be used for reprompting after invalid input.\nIf it contains a \"%s\", that will be replaced with the value of\n`feedmail-ask-before-queue-default'." feedmail-ask-before-queue-default "queue" "Meaning if user hits return in response to the message action prompt.\nShould be a character or a string; if a string, only the first\ncharacter is significant.  Useful values are those described in\nthe help for the message action prompt." (choice string integer)] 8)
#@571 An alist of choices for the message action prompt.
All of the values are function names, except help, which is a special
symbol that calls up help for the prompt (the help describes the
actions from the standard alist).  To customize your own choices,
define a similar alist called `feedmail-prompt-before-queue-user-alist'.
The actual alist used for message action will be the standard alist
overlaid with the user-alist.  To neutralize an item in the standard
alist without providing a replacement, define an appropriate element
in the user alist with a value of nil.
(defvar feedmail-prompt-before-queue-standard-alist '((113 . feedmail-message-action-queue) (81 . feedmail-message-action-queue-strong) (100 . feedmail-message-action-draft) (114 . feedmail-message-action-draft) (68 . feedmail-message-action-draft-strong) (82 . feedmail-message-action-draft-strong) (101 . feedmail-message-action-edit) (69 . feedmail-message-action-edit) (7 . feedmail-message-action-edit) (110 . feedmail-message-action-edit) (78 . feedmail-message-action-edit) (105 . feedmail-message-action-send) (73 . feedmail-message-action-send-strong) (115 . feedmail-message-action-send) (83 . feedmail-message-action-send-strong) (42 . feedmail-message-action-toggle-spray) (62 . feedmail-message-action-scroll-up) (60 . feedmail-message-action-scroll-down) (32 . feedmail-message-action-scroll-up) (63 . feedmail-message-action-help)) (#$ . 28223))
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\302\311\304\305\306\312&\210\300\313\314\315\304\305\306\316&\210\300\317\320\321\304\305\306\322&\210\300\323\324\325\304\305\306\326&\210\300\327\302\330\304\305\306\331&\210\300\332\302\333\304\305\306\322&\210\300\334\302\335\304\305\306\322&\210\300\336\302\337\304\305\306\322&\210\300\340\341\342\304\305\306\343&\210\300\344\345\346\347\350\304\305\306\351&	\210\300\352\320\353\304\305\306\354&\210\300\355\356\357\304\305\306\351&\210\300\360\302\361\304\305\306\322&\210\300\362\302\363\304\305\306\322&\210\300\364\302\365\347\350\304\364\306\322&	\210\300\366\367\370\347\350\304\364\306\326&	\207" [custom-declare-variable feedmail-prompt-before-queue-user-alist nil "See `feedmail-prompt-before-queue-standard-alist'." :group feedmail-queue :type (repeat (cons character function)) feedmail-prompt-before-queue-help-supplement "User-provided supplementary help string for the message action prompt.\nWhen the message action prompt is shown, the user can as for verbose help,\nat which point a buffer pops up describing the meaning of possible\nresponses to the prompt.  Through various customizations (see, for\nexample, `feedmail-prompt-before-queue-user-alist'), the available responses\nand the prompt itself can be changed.  If this variable is set to a string\nvalue, that string is written to the help buffer after the standard info.\nIt may contain embedded line breaks.  It will be printed via `princ'." (choice (const nil) string) feedmail-queue-reminder-alist '((after-immediate . feedmail-queue-reminder-brief) (after-queue . feedmail-queue-reminder-medium) (after-draft . feedmail-queue-reminder-medium) (after-run . feedmail-queue-reminder-brief) (on-demand . feedmail-run-the-queue-global-prompt)) "See `feedmail-queue-reminder'." (repeat (cons (choice :tag "Event" (const on-demand) (const after-immediate) (const after-queue) (const after-draft) (const after-run)) function)) feedmail-queue-chatty t "If non-nil, blat a few status messages and such in the mini-buffer.\nIf nil, just do the work and don't pester people about what's going on.\nIn some cases, though, specific options inspire mini-buffer prompting.\nThat's not affected by this variable setting.  Also does not control\nreporting of error/abnormal conditions." boolean feedmail-queue-chatty-sit-for 2 "Duration of pause after most queue-related messages.\nAfter some messages are divulged, it is prudent to pause before\nsomething else obliterates them.  This value controls the duration of\nthe pause." integer feedmail-queue-run-orderer "If non-nil, name a function which will sort the queued messages.\nThe function is called during a running of the queue for sending, and\ntakes one argument, a list of the files in the queue directory.  It\nmay contain the names of non-message files, and it's okay to leave\nthem in the list when reordering it; they get skipped over later.\nWhen nil, the default action processes the messages in normal sort\norder by queued file name, which will typically result in the order\nthey were placed in the queue." (choice (const nil) function) feedmail-queue-use-send-time-for-date "If non-nil, use send time for the Date: header value.\nThis variable is used by the default date generating function,\nfeedmail-default-date-generator.  If nil, the default, the\nlast-modified timestamp of the queue file is used to create the\nmessage Date: header; if there is no queue file, the current time is\nused. If you are using VM, it might be supplying this header for\nyou.  To suppress VM's version\n\n	(setq vm-mail-header-insert-date nil)" feedmail-queue-use-send-time-for-message-id "If non-nil, use send time for the Message-Id: header value.\nThis variable is used by the default Message-Id: generating function,\n`feedmail-default-message-id-generator'.  If nil, the default, the\nlast-modified timestamp of the queue file is used to create the\nmessage Message-Id: header; if there is no queue file, the current time is\nused.  If you are using VM, it might be supplying this header for\nyou.  To suppress VM's version\n\n	(setq vm-mail-header-insert-date nil)" feedmail-ask-for-queue-slug "If non-nil, prompt user for part of the queue file name.\nThe file will automatically get the FQM suffix and an embedded\nsequence number for uniqueness, so don't specify that.  feedmail will\nget rid of all characters other than alphanumeric and hyphen in the\nresults.  If this variable is nil or if you just hit return in\nresponse to the prompt, feedmail queuing will take care of things\nproperly.  At the prompt, completion is available if you want to see\nwhat filenames are already in use, though, as noted, you will not be\ntyping a complete file name.  You probably don't want to be bothered\nwith this prompting since feedmail, by default, uses queue file names\nbased on the subjects of the messages." feedmail-queue-slug-maker 'feedmail-queue-subject-slug-maker "If non-nil, a function which creates part of the queued file name.\nTakes a single argument giving the name of the directory into\nwhich the message will be queued.  The returned string should be just\nthe non-directory filename part, without FQM suffix or uniquifying\nsequence numbers.  The current buffer holds the raw message.  The\ndefault function creates the slug based on the message subject, if\nany." (choice (const nil) function) feedmail-queue-slug-suspect-regexp "[^a-z0-9-]+" "Regular expression for characters/substrings to be replaced.\nWhen feedmail creates a filename from a subject string, it puts hyphens\nin place of strings which may cause problems in filenames.  By default,\nonly alphanumeric and hyphen characters are kept, and all others are\nconverted.  In non-ASCII environments, it may be more helpful to\ntweak this regular expression to reflect local or personal language\nconventions.  Substitutions are done repeatedly until the regular expression\nno longer matches to transformed string.  Used by function\nfeedmail-tidy-up-slug and indirectly by feedmail-queue-subject-slug-maker." :version "24.1" string feedmail-queue-default-file-slug "Indicates what to use for subject-less messages when forming a file name.\nWhen feedmail queues a message, it creates a unique file name.  By default,\nthe file name is based in part on the subject of the message being queued.\nIf there is no subject, consult this variable.  See documentation for the\nfunction `feedmail-queue-subject-slug-maker'.\n\nIf t, an innocuous default is used.\n\nIf a string, it is used directly.\n\nIf a function, it is called with no arguments from the buffer containing the raw\ntext of the message.  It must return a string (which may be empty).\n\nIf the symbol 'ask, you will be prompted for a string in the mini-buffer.\nFilename completion is available so that you can inspect what's already been\nused, but feedmail will do further manipulation on the string you return, so\nit's not expected to be a complete filename." (choice (const :tag "Default" t) string function (const ask)) feedmail-queue-fqm-suffix ".fqm" "The FQM suffix used to distinguish feedmail queued message files.\nYou probably want this to be a period followed by some letters and/or\ndigits.  The distinction is to be able to tell them from other random\nfiles that happen to be in the `feedmail-queue-directory' or\n`feedmail-queue-draft-directory'.  By the way, FQM stands for feedmail\nqueued message." feedmail-nuke-buffer-after-queue "If non-nil, silently kill the buffer after a message is queued.\nYou might like that since a side-effect of queueing the message is\nthat its buffer name gets changed to the filename.  That means that\nthe buffer won't be reused for the next message you compose.  If you\nare using VM for creating messages, you probably want to leave this\nnil, since VM has its own options for managing the recycling of\nmessage buffers." feedmail-queue-auto-file-nuke "If non-nil, automatically delete queue files when a message is sent.\nNormally, feedmail will notice such files when you send a message in\nimmediate mode (i.e., not when you're running the queue) and will ask if\nyou want to delete them.  Since the answer is usually yes, setting this\nvariable to non-nil will tell feedmail to skip the prompt and just delete\nthe file without bothering you." feedmail-debug "If non-nil, blat a debug messages and such in the mini-buffer.\nThis is intended as an aid to tracing what's going on but is probably\nof casual real use only to the feedmail developer." feedmail-debug-sit-for 0 "Duration of pause after feedmail-debug messages.\nAfter some messages are divulged, it may be helpful to pause before\nsomething else obliterates them.  This value controls the duration of\nthe pause.  If the value is nil or 0, the sit-for is not done, which\nhas the effect of not pausing at all.  Debug messages can be seen after\nthe fact in the messages buffer."] 10)
#@1622 If non-nil, has the value normally expected of 'buffer-file-name'.
You are not intended to set this to something in your configuration.  Rather,
you might programmatically set it to something via a hook or function
advice or whatever.  You might like to do this if you are using a mail
composition program that eventually uses sendmail.el's 'mail-send'
function to process the message.  If there is a filename associated
with the message buffer, 'mail-send' will ask you for confirmation.
There's no trivial way to avoid it.  It's unwise to just set the value
of 'buffer-file-name' to nil because that will defeat feedmail's file
management features.  Instead, arrange for this variable to be set to
the value of 'buffer-file-name' before setting that to nil.  An easy way
to do that would be with defadvice on 'mail-send' (undoing the
assignments in a later advice).

feedmail will pretend that 'buffer-file-name', if nil, has the value
assigned of 'feedmail-queue-buffer-file-name' and carry out its normal
activities.  feedmail does not restore the non-nil value of
'buffer-file-name'.  For safe bookkeeping, the user should insure that
feedmail-queue-buffer-file-name is restored to nil.

Example 'defadvice' for mail-send:

   (defadvice mail-send (before feedmail-mail-send-before-advice activate)
     (setq feedmail-queue-buffer-file-name buffer-file-name)
     (setq buffer-file-name nil))

   (defadvice mail-send (after feedmail-mail-send-after-advice activate)
     (if feedmail-queue-buffer-file-name (setq buffer-file-name feedmail-queue-buffer-file-name))
     (setq feedmail-queue-buffer-file-name nil))

(defvar feedmail-queue-buffer-file-name nil (#$ . 38609))
(defvar feedmail-error-buffer nil)
(defvar feedmail-prepped-text-buffer nil)
(defvar feedmail-raw-text-buffer nil)
(defvar feedmail-address-list nil)
#@392 Non-nil means we're inside the logic of the queue-running loop.
That is, iterating over all messages in the queue to send them.  In
that case, the value is the name of the queued message file currently
being processed.  This can be used for differentiating customized code
for different scenarios.  Users shouldn't set or change this
variable, but may depend on its value as described here.
(defvar feedmail-queue-runner-is-active nil (#$ . 40445))
#@878 Facilitate dividing `mail-send-hook' things into queued and immediate cases.
If you have `mail-send-hook' functions that should only be called for sending/
queueing messages or only be called for the sending of queued messages, this is
for you.  Add this function to `mail-send-hook' with something like this:

	(add-hook 'mail-send-hook 'feedmail-mail-send-hook-splitter)

Then add the functions you want called to either `feedmail-mail-send-hook-queued'
or `feedmail-mail-send-hook', as appropriate.  The distinction is that
`feedmail-mail-send-hook' will be called when you send mail from a composition
buffer (typically by typing C-c C-c), whether the message is sent immediately
or placed in the queue or drafts directory.  `feedmail-mail-send-hook-queued' is
called when messages are being sent from the queue directory, typically via a
call to `feedmail-run-the-queue'.
(defalias 'feedmail-mail-send-hook-splitter #[nil "\301\302\"\210\203
\303\304!\207\303\305!\207" [feedmail-queue-runner-is-active feedmail-say-debug ">in-> feedmail-mail-send-hook-splitter %s" run-hooks feedmail-mail-send-hook-queued feedmail-mail-send-hook] 3 (#$ . 40901)])
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\302\311\304\305\306\307&\207" [custom-declare-variable feedmail-mail-send-hook nil "Hook run by `feedmail-mail-send-hook-splitter' for immediate mail.\nSee documentation of `feedmail-mail-send-hook-splitter' for details." :type hook :group feedmail feedmail-mail-send-hook-queued "Hook run by `feedmail-mail-send-hook-splitter' for queued mail.\nSee documentation of `feedmail-mail-send-hook-splitter' for details."] 8)
#@186 An example of a `feedmail-last-chance-hook'.
It shows the simple addresses and gets a confirmation.  Use as:
 (setq feedmail-last-chance-hook 'feedmail-confirm-addresses-hook-example).
(defalias 'feedmail-confirm-addresses-hook-example #[nil "\302 \303\216\304\305\306!q!\210\307 \210\310\311	\312#c\210\313\314!?\205 \315\316!*\207" [#1=#:wconfig feedmail-address-list current-window-configuration ((set-window-configuration #1#)) display-buffer get-buffer-create " F-C-A-H-E" erase-buffer mapconcat identity " " y-or-n-p "How do you like them apples? " error "FQM: Sending...gave up in last chance hook"] 4 (#$ . 42545)])
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\302\311\312\313\304\314\306\307&	\210\300\315\302\316\304\305\306\307&\210\300\317\320\321\304\314\306\322&\210\300\323\302\324\304\314\306\325&\210\300\326\327\330\312\313\304\314\306\322&	\210\300\331\332\333\304\314\306\322&\207" [custom-declare-variable feedmail-last-chance-hook nil "User's last opportunity to modify the message on its way out.\nWhen this hook runs, the current buffer is already the appropriate\nbuffer.  It has already had all the header prepping from the standard\npackage.  The next step after running the hook will be to save the\nmessage via FCC: processing. The hook might be interested in these:\n(1) `feedmail-prepped-text-buffer' contains the header and body of the\nmessage, ready to go; (2) `feedmail-address-list' contains a list\nof simplified recipients of addresses which are to be given to the\nsubprocess (the hook may change the list); (3) `feedmail-error-buffer'\nis an empty buffer intended to soak up errors for display to the user.\nIf the hook allows interactive activity, the user should not send more\nmail while in the hook since some of the internal buffers will be\nreused and things will get confused.  It's not necessary to\narrange for the undoing of any changes you make to the buffer." :group feedmail-misc :type hook feedmail-queue-express-hook "Chance to modify a message being sent directly to a queue.\nRun by feedmail-queue-express-to-queue and feedmail-queue-express-to-draft.\nFor example, you might want to run vm-mime-encode-composition to take\ncare of attachments.  If you subsequently edit the message buffer, you\ncan undo the encoding." :version "24.1" feedmail-queue feedmail-before-fcc-hook "User's last opportunity to modify the message before Fcc action.\nIt has already had all the header prepping from the standard package.\nThe next step after running the hook will be to save the message via\nFcc: processing. The hook might be interested in these: (1)\n`feedmail-prepped-text-buffer' contains the header and body of the\nmessage, ready to go; (2) `feedmail-address-list' contains a list of\nsimplified recipients of addressees to whom the message was sent (3)\n`feedmail-error-buffer' is an empty buffer intended to soak up errors\nfor display to the user.  If the hook allows interactive activity, the\nuser should not send more mail while in the hook since some of the\ninternal buffers will be reused and things will get confused." feedmail-queue-runner-mode-setter (lambda (&optional arg) (mail-mode)) "A function to set the proper mode of a message file.\nCalled when the message is read back out of the queue directory with a single\nargument, the optional argument used in the call to\n`feedmail-run-the-queue' or `feedmail-run-the-queue-no-prompts'.\n\nMost people want `mail-mode', so the default value is an anonymous\nfunction which is just a wrapper to ignore the supplied argument when\ncalling it, but here's your chance to have something different.\nIf you are a VM user, you might like feedmail-vm-mail-mode, though you\nreally don't need that (and it's not particularly well-tested).\n\nCalled with funcall, not `call-interactively'." function feedmail-queue-alternative-mail-header-separator "Alternative header demarcation for queued messages.\nIf you sometimes get alternative values for `mail-header-separator' in\nqueued messages, set the value of this variable to whatever it is.\nFor example, `rmail-resend' uses a `mail-header-separator' value of empty\nstring (\"\") when you send/queue a message.\n\nWhen trying to send a queued message, if the value of this variable is\nnon-nil, feedmail will first try to send the message using the value\nof `mail-header-separator'.  If it can't find that, it will temporarily\nset `mail-header-separator' to the value of\n`feedmail-queue-alternative-mail-header-separator' and try again." (choice (const nil) string) feedmail-queue-runner-message-sender (lambda (&optional arg) (mail-send)) "Function to initiate sending a message file.\nCalled for each message read back out of the queue directory with a\nsingle argument, the optional argument used in the call to\n`feedmail-run-the-queue' or `feedmail-run-the-queue-no-prompts'.\nInteractively, that argument will be the prefix argument.\nMost people want `mail-send' (bound to C-c C-s in mail-mode), but here's\nyour chance to have something different.  The default value is just a\nwrapper function which discards the optional argument and calls\nmail-send.  If you are a VM user, you might like vm-mail-send, though\nyou really don't need that.  Called with funcall, not call-interactively." feedmail-queue-runner-cleaner-upper (lambda (fqm-file &optional arg) (delete-file fqm-file) (if arg (feedmail-say-chatter "Nuked %s" fqm-file))) "Function that will be called after a message has been sent.\nNot called in the case of errors.  This function is called with two\narguments: the name of the message queue file for the message just sent,\nand the optional argument used in the call to `feedmail-run-the-queue'\nor `feedmail-run-the-queue-no-prompts' (prefix arg if interactive).\nIn any case, the affiliated buffer is killed elsewhere, so don't do that\ninside this function.  Return value is ignored.\n\nThe default action is an anonymous function which gets rid of the file\nfrom the queue directory.  With a non-nil second argument, a brief\nmessage is give for each file deleted.  You could replace this\nfunction, for example, to archive all of your sent messages someplace\n(though there are better ways to get that particular result)."] 10)
#@336 Non-nil means the message is a Resend (in the RFC-822 sense).
This affects the composition of certain headers.  feedmail sets this
variable as soon as it starts prepping the message text buffer, so any
user-supplied functions can rely on it.  Users shouldn't set or change this
variable, but may depend on its value as described here.
(defvar feedmail-is-a-resend nil (#$ . 48793))
#@613 Function used to send the prepped buffer to a subprocess.
The function's three (mandatory) arguments are: (1) the buffer
containing the prepped message; (2) a buffer where errors should be
directed; and (3) a list containing the addresses individually as
strings.  Popular choices for this are `feedmail-buffer-to-binmail',
`feedmail-buffer-to-smtpmail', `feedmail-buffer-to-sendmail', and
`feedmail-buffer-to-smtp'.  If you use the sendmail form, you probably
want to set `feedmail-nuke-bcc' and/or `feedmail-nuke-resent-bcc to nil'.
If you use the binmail form, check the value of `feedmail-binmail-template'.
(custom-declare-variable 'feedmail-buffer-eating-function ''feedmail-buffer-to-binmail '(#$ . 49182) :group 'feedmail-misc :type 'function)
#@241 Good candidate for GNU/Linux systems and maybe others.
You may need to modify this if your "rmail" is in a different place.
For example, I hear that in some Debian systems, it's /usr/sbin/rmail.
See feedmail-binmail-template documentation.
(defconst feedmail-binmail-gnulinuxish-template (byte-code "\301\302\300!\203\202\f\303\304Q\207" [user-login-name "(echo From " boundp "feedmail" " ; cat -) | /usr/bin/rmail %s"] 3) (#$ . 49941))
#@1827 Command template for the subprocess which will get rid of the mail.
It can result in any command understandable by /bin/sh.  Might not
work at all in non-UNIX environments.  The single '%s', if present,
gets replaced by the space-separated, simplified list of addressees.
Used in `feedmail-buffer-to-binmail' to form the shell command which
will receive the contents of the prepped buffer as stdin.  The default
value uses /bin/rmail (if it exists) unless `mail-interactive' has been
set non-nil.

If you'd like your errors to come back as mail instead of immediately
in a buffer, try /bin/rmail instead of /bin/mail.  If /bin/rmail
exists, this can be accomplished by keeping the default nil setting of
`mail-interactive'.  You might also like to consult local mail experts
for any other interesting command line possibilities.  Some versions
of UNIX have an rmail program which behaves differently than
/bin/rmail and complains if feedmail gives it a message on stdin.  If
you don't know about such things and if there is no local expert to
consult, stick with /bin/mail or use one of the other buffer eating
functions.

The above description applies to "classic" UNIX /bin/mail and /bin/rmail.
On most GNU/Linux systems and perhaps other places, /bin/mail behaves
completely differently and shouldn't be used at all in this template.
Instead of /bin/rmail, there is a /usr/bin/rmail, and it can be used
with a wrapper.  The wrapper is necessary because /usr/bin/rmail on such
systems requires that the first line of the message appearing on standard
input have a UNIX-style From_ postmark.  If you have such a system, the
wrapping can be accomplished by setting the value of `feedmail-binmail-template'
to `feedmail-binmail-gnulinuxish-template'.  You should then send some test
messages to make sure it works as expected.
(custom-declare-variable 'feedmail-binmail-template '(if mail-interactive "/bin/mail %s" (if (file-exists-p "/bin/rmail") "/bin/rmail %s" "/bin/mail %s")) '(#$ . 50390) :version "24.1" :group 'feedmail-misc :type 'string)
#@82 Function which actually calls /bin/mail as a subprocess.
Feeds the buffer to it.
(defalias 'feedmail-buffer-to-binmail #[(prepped errors-to addr-listoid) "\304\305\"\210	q\210\306\307\310ed\311\312\n\312\313\314\315\316\317#\"\257!\"\207" [addr-listoid prepped errors-to feedmail-binmail-template feedmail-say-debug ">in-> feedmail-buffer-to-binmail %s" apply call-process-region append "/bin/sh" nil "-c" format mapconcat identity " "] 16 (#$ . 52444)])
#@277 Function which actually calls sendmail as a subprocess.
Feeds the buffer to it.  Probably has some flaws for Resent-* and other
complicated cases.  Takes addresses from message headers and
might disappoint you with BCC: handling.  In case of odd results, consult
local gurus.
(defalias 'feedmail-buffer-to-sendmail #[(prepped errors-to addr-listoid) "\306\307!\210\310\311\"\210	q\210\312\313\314ed\n\315\315\316\317\257\f\205 \320
D?\205'\321#\"\207" [addr-listoid prepped sendmail-program errors-to feedmail-sendmail-f-doesnt-sell-me-out user-mail-address require sendmail feedmail-say-debug ">in-> feedmail-buffer-to-sendmail %s" apply call-process-region append nil "-oi" "-t" "-f" ("-oem" "-odb") mail-interactive] 11 (#$ . 52910)])
#@77 Function which actually calls `smtpmail-via-smtp' to send buffer as e-mail.
(defalias 'feedmail-buffer-to-smtpmail #[(prepped errors-to addr-listoid) "\306\307\"\210\310\311!\210\312	\"\211\205)q\210\313\n\261\210\314\315\316\f!P\317\320\321 \"*)\207" [addr-listoid prepped result errors-to smtpmail-smtp-server tracer feedmail-say-debug ">in-> feedmail-buffer-to-smtpmail %s" require smtpmail smtpmail-via-smtp "Send via smtpmail failed: %s" t "trace.*smtp.*" regexp-quote mapcar #[(buffy) "\302\303	!\"\205\304\303	!\305\261\210\306	!\210\307c\207" [tracer buffy string-match buffer-name "SMTP Trace from " "\n---------------" insert-buffer-substring "\n\n"] 4] buffer-list case-fold-search] 5 (#$ . 53661)])
#@71 Function which actually calls smtp-via-smtp to send buffer as e-mail.
(defalias 'feedmail-buffer-to-smtp #[(prepped errors-to addr-listoid) "\306\307\"\210\310\311!\210\312	\n#?\205*q\210\313c\210\314c\210\315\316\317\f!P\320\321\322 \"*\207" [addr-listoid user-mail-address prepped errors-to smtp-server tracer feedmail-say-debug ">in-> feedmail-buffer-to-smtp %s" require smtp smtp-via-smtp "Send via smtp failed.  Probable SMTP protocol error.\n" "Look for details below or in the *Messages* buffer.\n\n" t "trace.*smtp.*" regexp-quote mapcar #[(buffy) "\302\303	!\"\205\304\303	!\305\261\210\306	!\210\307c\207" [tracer buffy string-match buffer-name "SMTP Trace from " "\n---------------" insert-buffer-substring "\n\n"] 4] buffer-list case-fold-search] 4 (#$ . 54391)])
#@2729 A fiddle-plex is a concise way of specifying header field fiddling.
It is a list of up to 4 elements: NAME, VALUE, ACTION, FOLDING.  The element
VALUE can also be a list sometimes.

NAME is the name of the header field to be fiddled with.  Although case
doesn't matter in looking for headers, case of NAME is preserved when a header
is inserted via fiddling.  It shouldn't include the trailing colon.

VALUE is either nil, a simple string, a function returning nil or a string, or,
as described below for ACTION `combine', a list of up to three values.

ACTION describes the nature of the fiddling to be done.  Possibilities
for ACTION (default is `supplement'):

  `supplement'  Leave other like fields as-is, insert this one.

  `replace'     Delete other like fields, if any, and insert this one.

  `create'      Insert this one only if no like field exists.

  `combine'     Combine aggregate values of like fields with this one.
                In this case, VALUE has a special form.  It is a list
                of three items: VAL-PRE, VAL-LIKE, and VAL-POST.
                VAL-PRE and VAL-POST are strings or nil.  VAL-LIKE may
                be either a string or a function (it may also be nil,
                but there's not much point to that).

                Values of like header fields are aggregated, leading and
                trailing whitespace is removed, and embedded
                whitespace is left as-is.  If there are no like
                fields, or the aggregate value is an empty string,
                VAL-LIKE is not used.  Else, if VAL-LIKE is a function,
                it is called with two arguments: NAME and the
                aggregate like values.  Else, if VAL-LIKE is a string, it is
                used as a format string where a single %s will be
                replaced by the aggregate values of like fields.

                VAL-PRE, the results of using VAL-LIKE, and VAL-POST
                are concatenated, and the result, if not nil and not
                an empty string, is used as the new value for the
                field.  Although this description sounds a bit
                complicated, the idea is to provide a mechanism for
                combining the old value with a new value in a flexible
                way.  For example, if you wanted to add a new value to
                an existing header field by adding a semi-colon and
                then starting the new value on a continuation line,
                you might specify this:

                 (nil "%s;\n\t" "This is my new value")

FOLDING can be nil, in which case VALUE is used as-is.  If FOLDING is
non-nil, feedmail "smart filling" is done on VALUE just before
insertion.
(defconst feedmail-fiddle-plex-blurb nil (#$ . 55186))
#@449 Make something like a buffer that has been created via `vm-mail'.
The optional argument is ignored and is just for argument compatibility with
`feedmail-queue-runner-mode-setter'.  This function is suitable for being
applied to a file after you've just read it from disk: for example, a
feedmail FQM message file from a queue.  You could use something like
this:

(setq auto-mode-alist (cons '("\\.fqm$" . feedmail-vm-mail-mode) auto-mode-alist))

(defalias 'feedmail-vm-mail-mode #[(&optional arg) "\302\303!\210p\304 \210ed|\210\305!\210\301!\306\307!!\210rq\210\306\310!\210)\311!)\207" [the-buf buffer-file-name feedmail-say-debug ">in-> feedmail-vm-mail-mode" vm-mail insert-buffer-substring set-buffer-modified-p buffer-modified-p nil kill-buffer] 3 (#$ . 57976)])
#@199 Send the current mail buffer using the Feedmail package.
This is a suitable value for `send-mail-function'.  It can be used
with various lower-level mechanisms to provide features such as queueing.
(defalias 'feedmail-send-it #[nil "\306\307!\210\212\310	\204\n\203\n\311\203\312!\f\203#\312\f!
\204-\313 \210\202>\2039\314  \210\202>\315\316\"\210\205E	\211*\207" [bfn-jiggle buffer-file-name feedmail-queue-buffer-file-name feedmail-queue-directory feedmail-queue-draft-directory feedmail-enable-queue feedmail-say-debug ">in-> feedmail-send-it" nil t expand-file-name feedmail-send-it-immediately-wrapper feedmail-queue-send-edit-prompt feedmail-dump-message-to-queue after-queue feedmail-ask-before-queue] 3 (#$ . 58761)])
(defalias 'feedmail-message-action-send #[nil "\300\301!\210\302\303!\210\304 \207" [feedmail-say-debug ">in-> feedmail-message-action-send" message "FQM: Immediate send..." feedmail-send-it-immediately-wrapper] 2])
#@72 Send message directly to the queue, with a minimum of fuss and bother.
(defalias 'feedmail-queue-express-to-queue #[nil "\304\305!\210\306\307!\210\310\311\211\312\313 ,\207" [feedmail-queue-chatty-sit-for feedmail-queue-reminder-alist feedmail-ask-before-queue feedmail-enable-queue feedmail-say-debug ">in-> feedmail-queue-express-to-queue" run-hooks feedmail-queue-express-hook t nil 0 feedmail-send-it] 4 (#$ . 59734) nil])
#@78 Send message directly to the draft queue, with a minimum of fuss and bother.
(defalias 'feedmail-queue-express-to-draft #[nil "\302\303!\210\304 )\207" [feedmail-queue-draft-directory feedmail-queue-directory feedmail-say-debug ">in-> feedmail-queue-express-to-draft" feedmail-queue-express-to-queue] 2 (#$ . 60172) nil])
(defalias 'feedmail-message-action-send-strong #[nil "\301\302!\210\303\304 )\207" [feedmail-confirm-outgoing feedmail-say-debug ">in-> feedmail-message-action-send-strong" nil feedmail-message-action-send] 2])
(defalias 'feedmail-message-action-edit #[nil "\300\301!\210\302\303!\207" [feedmail-say-debug ">in-> feedmail-message-action-edit" error "FQM: Message not queued; returning to edit"] 2])
(defalias 'feedmail-message-action-draft #[nil "\301\302!\210\303\304\"\207" [feedmail-queue-draft-directory feedmail-say-debug ">in-> feedmail-message-action-draft" feedmail-dump-message-to-queue after-draft] 3])
(defalias 'feedmail-message-action-draft-strong #[nil "\301\302!\210\303\304 )\207" [buffer-file-name feedmail-say-debug ">in-> feedmail-message-action-draft-strong" nil feedmail-message-action-draft] 2])
(defalias 'feedmail-message-action-queue #[nil "\301\302!\210\303\304\"\207" [feedmail-queue-directory feedmail-say-debug ">in-> feedmail-message-action-queue" feedmail-dump-message-to-queue after-queue] 3])
(defalias 'feedmail-message-action-queue-strong #[nil "\301\302!\210\303\304 )\207" [buffer-file-name feedmail-say-debug ">in-> feedmail-message-action-queue-strong" nil feedmail-message-action-queue] 2])
(defalias 'feedmail-message-action-toggle-spray #[nil "\301\302!\210?\211\203\303\304!\210\202\303\305!\210\306\307!\210\310 )\207" [feedmail-enable-spray feedmail-say-debug ">in-> feedmail-message-action-toggle-spray" message "FQM: For this message, spray toggled ON" "FQM: For this message, spray toggled OFF" sit-for 3 feedmail-send-it] 3])
(defconst feedmail-p-h-b-n "*FQM Help*")
(defalias 'feedmail-message-action-help #[nil "\304\305!\210\306\307!;\203\202\310!	\203*\311	!\203*\312\313	\"\210\202.\314\n!\210\315 *\207" [feedmail-p-h-b-n fqm-help d-string feedmail-ask-before-queue-default feedmail-say-debug ">in-> feedmail-message-action-help" " " get-buffer char-to-string get-buffer-window feedmail-scroll-buffer up feedmail-message-action-help-blat feedmail-send-it] 3])
(defalias 'feedmail-message-action-help-blat #[(d-string) "\306\307!\210r\310\n!q\210p\311 \210	\312\211\313\211\313\314 \210\315\316!\210+\211\317\320!\210\317!\210\317\321!\210;\203C\317!\210rq\210\322\323!\205P\323 )\324!\210+\207" [default-directory #1=#:old-dir feedmail-p-h-b-n buffer-read-only buffer-file-name buffer-undo-list feedmail-say-debug ">in-> feedmail-message-action-help-blat" get-buffer-create kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook princ "You're dispatching a message and feedmail queuing is enabled.\nTyping ? again will normally scroll this help buffer.\n\nChoices:\n   q  QUEUE        for later sending (via feedmail-run-the-queue)\n   Q  QUEUE!       like \"q\", but always make a new file\n   i  IMMEDIATELY  send this (but not the other queued messages)\n   I  IMMEDIATELY! like \"i\", but skip following confirmation prompt\n   d  DRAFT        queue in the draft directory\n   D  DRAFT!       like \"d\", but always make a new file\n   e  EDIT         return to the message edit buffer (don't send or queue)\n   *  SPRAY        toggle spray mode (individual message transmissions)\n   >  SCROLL UP    scroll message up (toward end of message)\n   <  SCROLL DOWN  scroll message down (toward beginning of message)\n   ?  HELP         show or scroll this help buffer\n\nSynonyms:\n   s  SEND         immediately (same as \"i\")\n   S  SEND!        immediately (same as \"I\")\n   r  ROUGH        draft (same as \"d\")\n   R  ROUGH!       draft (same as \"D\")\n   n  NOPE         didn't mean it (same as \"e\")\n   y  YUP          do the default behavior (same as \"C-m\")\n  SPC SCROLL UP    (same as \">\")\n\nThe user-configurable default is currently \"" "\".  For other possibilities,\nsee the variable feedmail-prompt-before-queue-user-alist.\n" fboundp help-mode internal-temp-output-buffer-show inhibit-modification-hooks inhibit-read-only #2=#:buf standard-output d-string feedmail-prompt-before-queue-help-supplement] 4])
(defalias 'feedmail-message-action-scroll-up #[nil "\300\301!\210\302\303!\210\304 \207" [feedmail-say-debug ">in-> feedmail-message-action-scroll-up" feedmail-scroll-buffer up feedmail-send-it] 2])
(defalias 'feedmail-message-action-scroll-down #[nil "\300\301!\210\302\303!\210\304 \207" [feedmail-say-debug ">in-> feedmail-message-action-scroll-down" feedmail-scroll-buffer down feedmail-send-it] 2])
#@67 Like `feedmail-run-the-queue', but suppress confirmation prompts.
(defalias 'feedmail-run-the-queue-no-prompts #[(&optional arg) "\302\303!\210\304\305	!)\207" [feedmail-confirm-outgoing arg feedmail-say-debug ">in-> feedmail-run-the-queue-no-prompts" nil feedmail-run-the-queue] 2 (#$ . 64969) "p"])
#@212 Like `feedmail-run-the-queue', but with a global confirmation prompt.
This is generally most useful if run non-interactively, since you can
bail out with an appropriate answer to the global confirmation prompt.
(defalias 'feedmail-run-the-queue-global-prompt #[(&optional arg) "\302\303!\210\304\305	!)\207" [feedmail-queue-runner-confirm-global arg feedmail-say-debug ">in-> feedmail-run-the-queue-global-prompts" t feedmail-run-the-queue] 2 (#$ . 65278) "p"])
#@251 Visit each message in the feedmail queue directory and send it out.
Return value is a list of three things: number of messages sent, number of
messages skipped, and number of non-message things in the queue (commonly
backup file names and the like).
(defalias 'feedmail-run-the-queue #[(&optional arg) "\306\307!\210\203\f\310!	\203\310	!\311\312!\312	!@A@\f@\fA@\313\211 !\311\211\"#\314$\311%
\313V\203q&\203q\315\316!\203c\316\317\320
%\321\311#\202o\322\317\320
%!$$\204|
!\202\233\323 '\324\216\325\314\"%(\203\224(%!%\326\327%\"\210*)\203\263\330\331 !$\210\332\333!\210\334*!\210 !E.
\207" [feedmail-queue-directory feedmail-queue-draft-directory maybe-file qlist dlist q-cnt feedmail-say-debug ">in-> feedmail-run-the-queue" expand-file-name nil feedmail-look-at-queue-directory 0 t fboundp y-or-n-p-with-timeout format "FQM: Draft: %dm+%d,  Queue: %dm+%d; run the queue? " 5 y-or-n-p current-window-configuration ((set-window-configuration #1=#:wconfig)) directory-files mapc #[(blobby) "\306	\"\307\n!\203
\310\207\311!\205\254\312\313P!\314\315!\203%\315\n!\202(\316\n!\211\203a\317\f!\203a\320 \321\216\322\fq!\210\314\323!\203T\323\324\325\"\326\327#\203`\330 \210\202`\331\324\325\"!\203`\330 \210*q\210\310)\332!\210\333\n!\210\327*eb\210\334\335!\203\214\336\337\310\327#\203\214\340\341\310\327#\210\202{+,!\210\342\343\344\217\210\345!\210\346\347\350-./#./0%\207" [blobby feedmail-queue-directory maybe-file blobby-buffer already-buffer #2=#:wconfig expand-file-name file-directory-p nil feedmail-fqm-p generate-new-buffer "FQM " fboundp find-buffer-visiting get-file-buffer buffer-modified-p current-window-configuration ((set-window-configuration #2#)) display-buffer y-or-n-p-with-timeout format "FQM: Visiting %s; save before send? " 10 t save-buffer y-or-n-p buffer-disable-undo insert-file-contents-literally looking-at ".*
\n.*
\n" search-forward "
\n" replace-match "\n" signal-stuff (byte-code "\306\307\310!\204\311\312\"\210\313\314!\210\315\316\"\210\317\320\215\210q\210\321 \2030\fT\311\322
#\210\202PT\"\210\203P\323!\204Prq\210\306)*\306\207" [maybe-file feedmail-queue-runner-is-active feedmail-enable-queue blobby-buffer messages-skipped feedmail-buffer-eating-function nil feedmail-find-eoh t feedmail-say-chatter "Skipping %s; no mail-header-separator" error "FQM: you should never see this message" feedmail-say-debug "Prepping %s" skip-me-q (funcall feedmail-queue-runner-message-sender arg) buffer-modified-p "%s wasn't sent by %s" file-exists-p messages-sent feedmail-queue-runner-cleaner-upper arg already-buffer buffer-file-name] 4) ((error (byte-code "T\302\303!\210\304\305	@\"\210\306\307!\210\304\310\311\312	A\313#\"\210\306\307!\207" [messages-skipped signal-stuff ding t message "FQM: Trapped '%s', message left in queue." sit-for 3 "FQM: Trap details: \"%s\"" mapconcat identity "\" \""] 6))) kill-buffer feedmail-say-chatter "%d to go, %d sent, %d skipped (%d other files ignored)" - buffer-offer-save buffer-file-type feedmail-queue-runner-mode-setter arg q-cnt messages-sent messages-skipped q-oth] 7] feedmail-say-chatter "%d sent, %d skipped (%d other files ignored)" feedmail-queue-reminder after-run sit-for q-oth d-cnt d-oth messages-sent messages-skipped blobby-buffer already-buffer do-the-run list-of-possible-fqms feedmail-queue-runner-confirm-global #1# feedmail-queue-run-orderer feedmail-queue-chatty feedmail-queue-chatty-sit-for] 8 (#$ . 65748) "p"])
#@1063 Perform some kind of reminder activity about queued and draft messages.
Called with an optional symbol argument which says what kind of event
is triggering the reminder activity.  The default is 'on-demand, which
is what you typically would use if you were putting this in your Emacs start-up
or mail hook code.  Other recognized values for WHAT-EVENT (these are passed
internally by feedmail):

   after-immediate      (a message has just been sent in immediate mode)
   after-queue          (a message has just been queued)
   after-draft          (a message has just been placed in the draft directory)
   after-run            (the queue has just been run, possibly sending messages)

WHAT-EVENT is used as a key into the table `feedmail-queue-reminder-alist'.  If
the associated value is a function, it is called without arguments and is expected
to perform the reminder activity.  You can supply your own reminder functions
by redefining `feedmail-queue-reminder-alist'.  If you don't want any reminders,
you can set `feedmail-queue-reminder-alist' to nil.
(defalias 'feedmail-queue-reminder #[(&optional what-event) "\305\306\"\210\2039\203\202\307\310\211\311\f\"\211A\312	!\205(	 +\207" [what-event reminder entry key feedmail-queue-reminder-alist feedmail-say-debug ">in-> feedmail-queue-reminder %s" on-demand nil assoc fboundp] 4 (#$ . 69312) "p"])
#@65 Brief display of draft and queued message counts in minibuffer.
(defalias 'feedmail-queue-reminder-brief #[nil "\306\307!\210\310\211\211\211\311\f!\311
!	@@\312V\204&\n\312V\205+\313\314\n#,\207" [d-lis q-lis d-cnt q-cnt feedmail-queue-directory feedmail-queue-draft-directory feedmail-say-debug ">in-> feedmail-queue-reminder-brief" nil feedmail-look-at-queue-directory 0 message "FQM: [D: %d,  Q: %d]"] 4 (#$ . 70695) nil])
#@67 Verbose display of draft and queued message counts in minibuffer.
(defalias 'feedmail-queue-reminder-medium #[nil "\306\307!\210\310\211\211\211\211\211\311!\311!	@@	A@A@
\312V\2044\f\312V\205D\313\314\f\n\315!
\315!&.\207" [d-lis q-lis d-oth q-oth d-cnt q-cnt feedmail-say-debug ">in-> feedmail-queue-reminder-medium" nil feedmail-look-at-queue-directory 0 message "FQM: Draft: %dm+%d in \"%s\",  Queue: %dm+%d in \"%s\"" file-name-nondirectory feedmail-queue-directory feedmail-queue-draft-directory] 9 (#$ . 71141) nil])
#@78 Ask whether to queue, send immediately, or return to editing a message, etc.
(defalias 'feedmail-queue-send-edit-prompt #[nil "\305\306!\210\307	\n\310\f&\207" [feedmail-ask-before-queue-default feedmail-ask-before-queue-prompt feedmail-ask-before-queue-reprompt feedmail-prompt-before-queue-standard-alist feedmail-prompt-before-queue-user-alist feedmail-say-debug ">in-> feedmail-queue-send-edit-prompt" feedmail-queue-send-edit-prompt-inner feedmail-message-action-help] 7 (#$ . 71698)])
#@78 Ask whether to queue, send immediately, or return to editing a message, etc.
(defalias 'feedmail-queue-runner-prompt #[nil "\305\306!\210\307	\n\310\f&\207" [feedmail-ask-before-queue-default feedmail-ask-before-queue-prompt feedmail-ask-before-queue-reprompt feedmail-prompt-before-queue-standard-alist feedmail-prompt-before-queue-user-alist feedmail-say-debug ">in-> feedmail-queue-runner-prompt" feedmail-queue-send-edit-prompt-inner feedmail-message-action-help] 7 (#$ . 72198)])
(defalias 'feedmail-queue-send-edit-prompt-inner #[(default prompt reprompt helper standard-alist user-alist) "\306\307!\210\204\310 \210\311 \312\216\313\211\314
;\203$\315
!
\202*\316
!
\f\204\262\317\n\"\210\320\211\321 \322 +\211!\"U\203N\323\202\256!\324=\204c!\325=\204c!\326=\203f!\327!#\"\206\227\330\331!\203\200\327\331!!#\"\206\227\327!$\"\206\227\330\331!\205\227\327\331!!$\"\211\203\241\fA\204\256\332 \210\317%\n\"\210\333\334!\210)\202*\fA-\207" [defining-kbd-macro #1=#:wconfig d-string d-char answer default feedmail-say-debug ">in-> feedmail-queue-send-edit-prompt-inner" discard-input current-window-configuration ((set-window-configuration #1#)) nil " " string-to-char char-to-string message t 0 read-char-exclusive (^ . helper) 13 10 121 assoc fboundp char-to-int beep sit-for 3 prompt echo-keystrokes cursor-in-echo-area inhibit-quit user-sez help-char user-alist standard-alist reprompt] 4])
(defalias 'feedmail-scroll-buffer #[(direction &optional buffy) "\305\306\"\210\307 r\310\216\311\312\n\203\n\202p!\313!\210\314=\2035\315d\"\2030\316\317!\202D\320 \202D\315e\"\203B\320\317!\202D\316 -\207" [direction save-selected-window--state buffy fqm-window signal-error-on-buffer-boundary feedmail-say-debug ">in-> feedmail-scroll-buffer %s" internal--before-save-selected-window ((internal--after-save-selected-window save-selected-window--state)) nil display-buffer select-window up pos-visible-in-window-p scroll-down 999999 scroll-up] 3])
#@260 Find out some things about a queue directory.
Result is a list containing a count of queued messages in the
directory, a count of other files in the directory, and a high water
mark for prefix sequence numbers.  Subdirectories are not included in
the counts.
(defalias 'feedmail-look-at-queue-directory #[(queue-directory) "\305\306\"\210\307\211\211\310\311!\203\312\313\314\315\"\"\210\f\nE,\207" [queue-directory blobbet high-water q-oth q-cnt feedmail-say-debug ">in-> feedmail-look-at-queue-directory %s" 0 nil file-directory-p mapc #[(blobby) "\306!\203\307\207\310!\2030\311!\312\313	\"\203+\307\314	\315\316O!\211V\203*\n)\fT\211\207
T\211\207" [blobby blobbet water-mark high-water q-cnt q-oth file-directory-p nil feedmail-fqm-p file-name-nondirectory string-match "^[0-9][0-9][0-9]-" string-to-number 0 3] 5] directory-files t] 5 (#$ . 74229)])
#@69 Utility for mapping out suspect characters in a potential filename.
(defalias 'feedmail-tidy-up-slug #[(slug) "\302\303\"\210\204\304\305	\"\203\306\307\310\211$\202\305\311\"\203-\306\307\310\211$\202\305\312\"\203;\306\304\310\211$\305\313\"\203I\306\304\310\211$\207" [slug feedmail-queue-slug-suspect-regexp feedmail-say-debug ">in-> feedmail-tidy-up-slug %s" "" string-match replace-match "-" nil "--+" "^-*" "-*$"] 5 (#$ . 75116)])
#@345 Create a name for storing the message in the queue.
Optional argument QUEUE-DIRECTORY specifies into which directory the
file will be placed.  The name is based on the Subject: header (if
there is one).  If there is no subject,
`feedmail-queue-default-file-slug' is consulted.  Special characters are
mapped to mostly alphanumerics for safety.
(defalias 'feedmail-queue-subject-slug-maker #[(&optional queue-directory) "\306\307\"\210\310\311\312\310\313 eb\210\314\315\f\311#\203%`\310\210\316	`\"\317\n!\320\nG!\203\\
;\2039
\202[\321
!\203F\212
 )\202[
\322=\203Z\323\324\325\326!\n\310\n%!\202[\327\317\n!,\207" [queue-directory s-point subject case-fold-search eoh-marker feedmail-queue-default-file-slug feedmail-say-debug ">in-> feedmail-queue-subject-slug-maker %s" nil t "" feedmail-find-eoh re-search-forward "^Subject:" buffer-substring-no-properties feedmail-tidy-up-slug zerop fboundp ask file-name-nondirectory read-file-name "FQM: Message filename slug? " file-name-as-directory "no subject"] 7 (#$ . 75588)])
(defalias 'feedmail-create-queue-filename #[(queue-directory) "\305\306\"\210\307\n\203\212\n!)\202'\203'\310\311\312	\313Q\314!	\315	%!\316	!\317\320\321\322!8T	#\323	\"\fP)\207" [queue-directory slug feedmail-queue-slug-maker feedmail-ask-for-queue-slug feedmail-queue-fqm-suffix feedmail-say-debug ">in-> feedmail-create-queue-filename %s" "wjc" file-name-nondirectory read-file-name "FQM: Message filename slug? [" "]? " file-name-as-directory nil feedmail-tidy-up-slug format "%03d-%s" 2 feedmail-look-at-queue-directory expand-file-name] 7])
(defalias 'feedmail-dump-message-to-queue #[(queue-directory what-event) "\306\307	#\210\310!\204\311\312\"\210\310!\204\313\314\"\210\315\211\211\n \n\203;\316\n!\317\320!!\317\320\321\n!!!\230
\203I\f\203I\n \202N\322! !\"\323 !\210)\203\242
\203d\f\204\242\315\211\211#$%\324!$\321!\211%\211GS\315O#%\325%GSO%\324%!%\326\327\330%#$$!+\203\242\331!\210&\203\303'(\332p!\203\302)\203\302\333(!\203\302\331(!\210)\334\335 \"\210*\205\326\336	!\210\337+!,\207" [queue-directory what-event buffer-file-name previous-buffer-file-name is-in-this-dir is-fqm feedmail-say-debug ">in-> feedmail-dump-message-to-queue %s %s" file-accessible-directory-p make-directory t error "FQM: Message not queued; trouble with directory %s" nil feedmail-fqm-p directory-file-name expand-file-name file-name-directory feedmail-create-queue-filename write-file file-name-nondirectory 0 y-or-n-p format "FQM: Was previously %s%s%s; delete that? " delete-file kill-buffer file-exists-p feedmail-say-chatter "Queued in %s" feedmail-queue-reminder sit-for filename feedmail-force-binary-write buffer-file-type s b d feedmail-nuke-buffer-after-queue buffer-auto-save-file-name a-s-file-name delete-auto-save-files feedmail-queue-chatty feedmail-queue-chatty-sit-for] 7])
(defalias 'feedmail-rfc822-time-zone #[(time) "\303\304\"\210\305!@\206
\306\307	!\310\245\311\312	\306W\203 \313\202!\314\n\310\245\n\310\246$*\207" [time sec absmin feedmail-say-debug ">in-> feedmail-rfc822-time-zone %s" current-time-zone 0 abs 60 format "%c%02d%02d" 45 43] 6])
(defalias 'feedmail-rfc822-date #[(arg-time) "\303\304\"\210\203
\202\305 \306\307\310\n\"\311\n!P*\207" [arg-time system-time-locale time feedmail-say-debug ">in-> feedmail-rfc822-date %s" current-time "C" format-time-string "%a, %e %b %Y %T " feedmail-rfc822-time-zone] 3])
#@28 Wrapper to catch skip-me-i
(defalias 'feedmail-send-it-immediately-wrapper #[nil "\300\301\215\300=\205\302\303!\207" [skip-me-i (feedmail-send-it-immediately) error "FQM: Sending...abandoned!"] 2 (#$ . 79080)])
#@57 Handle immediate sending, including during a queue run.
(defalias 'feedmail-send-it-immediately #[nil "\306\307!\210\310\311!\310\312!p\313\211\211\211\314\315\316\317\320\321@ABCDEFG\322\216rGq\210\323 \210Fq\210\323 \210\324E!\210db\210h\325U\204N\325c\210\313H\306\326\"\210\327 C\306\330C\"\210\331\332\331!\210)\306\333!\210I\204{\334\335!\203\201J\203\201\335eC\"\210K\203\213\336C!\210eb\210\337\340C\341#\203\245`CW\203\245\332\342!\210\202\216\341\313LHeb\210\337\343C\341#MN\344=\203\326M\203\306\f\202\307	L\345FeCLD%DN\346>\203\352M\203\346
\202\365\n\202\365M\203\364@\202\365L\345FeCLD%DN\347=\203$M\203\f\202	L\345FeCLD%DD\204-\350\351!\210D\237D\352C\321\"B\352C\316\"AB\203QO\204Qeb\210Bc\210A\203bP\204beb\210Ac\210eb\210\353 \210\354 \210\355 \210\356Q\206x\357E!!\210\360Q\206\204\357E!!\210\361R!\210eb\210S\203\243\337\362C\341#\203\243\332\331!\210\202\223*\306\3635\"\210\364\365!\210\366 T\367\216\352C\370\"\313U\371=\203\307Q?\202\325U\372=\203\323Q\202\325UV\371=\203\342Q?\202\360V\372=\203\356Q\202\360VWXYZW\203\373F\341\"\210\374 \210X\203\375F!\203\314\376C![\306\377!\210\201d \210\306\201e!\210Q\204f\357E!\211Y\203f\201fY!Y\\\204S\201g\201h\201iY\"!\203f\201jY!\210rEq\210\313\211]/)eb\210Z\203\310\201k\201l!^\201m\216\201n\201l_\"\210Zc\210`\204\240B\203\227Bc\210A\203\240Ac\210\364\201o!\210a\203\300Cb\210\201pa!\203\274ay\210`d|\210\201qC!\210*)\202\346Q\203\335\201r\201s\211\"\210\202\346\201r\201t\211\"\210.b\205Q?\205\201u\201v!\210\201wc!\207" [mail-header-separator a-re-db a-re-dtc a-re-dtcb a-re-rb a-re-rtc feedmail-say-debug ">in-> feedmail-send-it-immediately" get-buffer-create " *FQM Outgoing Email Errors*" " *FQM Outgoing Email Text*" nil "^Resent-\\(To\\|Cc\\|Bcc\\):" "^Resent-\\(To\\|Cc\\):" "^Resent-Bcc:" "^\\(To\\|Cc\\|Bcc\\):" "^\\(To\\|Cc\\):" "^Bcc:" ((byte-code "\304!\210	q\210\305\306 !\203\304	!\210\202)\307	!\210\n\203%\310\311!\210\312\313!\210\314\315!\210q\207" [feedmail-prepped-text-buffer feedmail-error-buffer feedmail-queue-runner-is-active feedmail-raw-text-buffer kill-buffer zerop buffer-size display-buffer ding t feedmail-say-chatter "Sending...failed" error "FQM: Sending...failed"] 2)) erase-buffer insert-buffer-substring 10 "looking for m-h-s \"%s\"" feedmail-find-eoh "found m-h-s %s" "" replace-match "expanding mail aliases" fboundp expand-mail-aliases feedmail-fill-to-cc-function re-search-forward "\n\n\n*" t "\n" "^\\(Resent-To:\\|Resent-Cc:\\|Resent-Bcc:\\)\\s-*\\S-+.*$" first feedmail-deduce-address-list (first last) last error "FQM: Sending...abandoned, no addressees" feedmail-accume-n-nuke-header feedmail-fiddle-from feedmail-fiddle-sender feedmail-fiddle-x-mailer feedmail-fiddle-message-id buffer-file-name feedmail-fiddle-date feedmail-fiddle-list-of-fiddle-plexes "^[A-Za-z0-9-]+:[ 	]*\n" "last chance hook: %s" run-hooks feedmail-last-chance-hook current-window-configuration ((set-window-configuration #1=#:wconfig)) "^Fcc:" immediate queued switch-to-buffer delete-other-windows feedmail-one-last-look feedmail-envelope-deducer "give it to buffer-eater" a-re-rtcb resent-bcc-holder bcc-holder eoh-marker feedmail-address-list feedmail-raw-text-buffer feedmail-prepped-text-buffer feedmail-error-buffer case-fold-search feedmail-force-expand-mail-aliases mail-aliases feedmail-fill-to-cc addr-regexp feedmail-is-a-resend feedmail-deduce-bcc-where feedmail-nuke-bcc feedmail-nuke-resent-bcc feedmail-queue-runner-is-active feedmail-fiddle-plex-user-list feedmail-nuke-empty-headers #1# feedmail-confirm-outgoing feedmail-display-full-frame fullframe confirm also-file fcc user-mail-address feedmail-queue-auto-file-nuke buffer-offer-save old feedmail-force-binary-write feedmail-nuke-bcc-in-fcc feedmail-nuke-body-in-fcc feedmail-queue-chatty feedmail-queue-chatty-sit-for feedmail-give-it-to-buffer-eater "gave it to buffer-eater" expand-file-name y-or-n-p format "FQM: Delete message file %s? " delete-file default-value buffer-file-type ((byte-code "\301\302\"\207" [old set-default buffer-file-type] 3)) set-default feedmail-before-fcc-hook natnump mail-do-fcc throw skip-me-q skip-me-i feedmail-queue-reminder after-immediate sit-for] 15 (#$ . 79300)])
#@222 Internal feedmail function for jamming fields into message header.
NAME, VALUE, ACTION, and FOLDING are the four elements of a
fiddle-plex, as described in the documentation for the variable
`feedmail-fiddle-plex-blurb'.
(defalias 'feedmail-fiddle-header #[(name value &optional action folding) "\306\307	\n%\210\310\311!\312P\313\211\211\211\211\211#$%&'(\314'P&\315 %eb\210\316&%\310#$\n\204>\317\n\317=\203\210\320\321	\"\203Q	\322\225\313O\320\323	\"\203^	\322\211\224O	G\322V\205R)\203peb\210\202t%b\210`\324	\325\261\210\205R\326\f`\"\202R\n\327=\203\243$\203\232\330%&\"\210\331	\317$\202R\n\332=\203\270$?\205R\331	\317$\202R\n\333=\205R	A@\330%&\"\206\314\334#\320&\335P#\"\203\342\336\334\310\211#$#\320\325'\335Q#\"\203\372\336\337\310\211#$#\202\342\320\321#\"\203\n#\322\225\313O#\320\323#\"\203#\322\211\224O##G\322V\203E
9\2035\340
!\2035
#\"\202C
;\203B\341
#\"\202C\313#\331	@#\342	8Q\317$.\207" [name value action folding that-point val-like feedmail-say-debug ">in-> feedmail-fiddle-header %s %s %s %s" t regexp-quote ":" nil "^" feedmail-find-eoh re-search-forward supplement string-match "\\`[ 	\n]+" 0 "[ 	\n]+\\'" ": " "\n" feedmail-fill-this-one replace feedmail-accume-n-nuke-header feedmail-fiddle-header create combine "" "[ 	\n]+" replace-match "\n	" fboundp format 2 ag-like has-like eoh-marker header-regexp header-colon case-fold-search feedmail-fiddle-headers-upwardly] 8 (#$ . 83700)])
(defalias 'feedmail-give-it-to-buffer-eater #[nil "\305\306!\210\212\203\307\310	\"\202\305\311\n\"\210\n\f	#)\207" [feedmail-enable-spray feedmail-address-list feedmail-buffer-eating-function feedmail-prepped-text-buffer feedmail-error-buffer feedmail-say-debug ">in-> feedmail-give-it-to-buffer-eater" mapcar #[(feedmail-spray-this-address) "\306\307!rq\210\310 \210\311	!\210\312\n!\210	\f
C#\210*\313!)\207" [spray-buffer feedmail-prepped-text-buffer feedmail-spray-address-fiddle-plex-list feedmail-buffer-eating-function feedmail-error-buffer feedmail-spray-this-address get-buffer-create " *FQM Outgoing Email Spray*" erase-buffer insert-buffer-substring feedmail-fiddle-list-of-spray-fiddle-plexes kill-buffer] 4] "calling buffer-eater %s"] 4])
#@150 If `feedmail-deduce-envelope-from' is false, simply return `user-mail-address'.
Else, look for Sender: or From: (or Resent-*) and
return that value.
(defalias 'feedmail-envelope-deducer #[(eoh-marker) "\305\306\"\210	\204\n\207\307\310pe\f\203\311\202\312%\211\2041\310pe\f\203-\313\202.\314%\203?@\203?@\202@\n)\207" [eoh-marker feedmail-deduce-envelope-from user-mail-address from-list feedmail-is-a-resend feedmail-say-debug ">in-> feedmail-envelope-deducer %s" nil feedmail-deduce-address-list "^Resent-Sender:" "^Sender:" "^Resent-From:" "^From:"] 7 (#$ . 85981)])
#@15 Fiddle From:.
(defalias 'feedmail-fiddle-from #[nil "\306\307!\210\310=\203\f\310\207\311=\203R	\203	\202$\312 \313\n\206#\314 Q\f\310=\203/\202L\f\315=\203>\316\317 \320R\202L\f\321=\205L\322\317 \323\324\260)\325 )\207;\203`\326\327E\325 )\2079\203r\330!\203r \325 )\207<\205\213\331
\203\200\332\202\201\333A@\3348\3358$\207" [feedmail-from-line user-mail-address mail-host-address at-stuff mail-from-style feedmail-is-a-resend feedmail-say-debug ">in-> feedmail-fiddle-from" nil t user-login-name "@" system-name parens " (" user-full-name ")" angles "\"" "\" <" ">" feedmail-fiddle-from "ignored" create fboundp feedmail-fiddle-header "Resent-From" "From" 2 3] 6 (#$ . 86580)])
#@17 Fiddle Sender:.
(defalias 'feedmail-fiddle-sender #[nil "\302\303!\210\304=\203\f\304\207\305=\203\304\207;\203\"\306\307E\310 )\2079\2034\311!\2034 \310 )\207<\205M\312	\203B\313\202C\314A@\3158\3168$\207" [feedmail-sender-line feedmail-is-a-resend feedmail-say-debug ">in-> feedmail-fiddle-sender" nil t "ignored" create feedmail-fiddle-sender fboundp feedmail-fiddle-header "Resent-Sender" "Sender" 2 3] 6 (#$ . 87305)])
#@56 Default function for generating Date: header contents.
(defalias 'feedmail-default-date-generator #[(maybe-file) "\303\304!\210\203,\303\305\306\307\310!8!P!\210\303\311\306\312\310!8!P!\210\303\313\306\314\310!8!P!\210\315\n\204<\203<\312\310!8\306	!)\207" [maybe-file date-time feedmail-queue-use-send-time-for-date feedmail-say-debug ">in-> feedmail-default-date-generator" "4 cre " feedmail-rfc822-date 4 file-attributes "5 mod " 5 "6 sta " 6 nil] 6 (#$ . 87757)])
#@64 Fiddle Date:.  See documentation of `feedmail-date-generator'.
(defalias 'feedmail-fiddle-date #[(maybe-file) "\303\304!\210\305=\203\f\305\207\306=\203\307	!\310	!)\207;\203*\311\312E\310	!)\2079\203>\313!\203>	!\310	!)\207<\205W\314\n\203L\315\202M\316A@\3178\3208$\207" [feedmail-date-generator maybe-file feedmail-is-a-resend feedmail-say-debug ">in-> feedmail-fiddle-date" nil t feedmail-default-date-generator feedmail-fiddle-date "ignored" create fboundp feedmail-fiddle-header "Resent-Date" "Date" 2 3] 6 (#$ . 88243)])
#@310 Default function for generating Message-Id: header contents.
Based on a date and a sort of random number for tie breaking.  Unless
`feedmail-message-id-suffix' is defined, uses `user-mail-address', so be
sure it's set.  If both are nil, creates a quasi-random suffix that is
probably not appropriate for you.
(defalias 'feedmail-default-message-id-generator #[(maybe-file) "\306\307\"\210\310\311	\203	\202\n\204\312\313\314 \"\315\316\"\2037\317\224\317\225\232\2030\320\2021\321P\202;\322P\204J\203J\323\324!8\312\325\326\314 \327\"\330\331
\"\332
!%+\207" [maybe-file feedmail-message-id-suffix user-mail-address end-stuff system-time-locale date-time feedmail-say-debug ">in-> feedmail-default-message-id-generator %s" nil "C" format "%d.example.com" random string-match "^\\(.*\\)@" 1 "" "-" "@" 5 file-attributes "<%d-%s%s%s>" mod 10000 format-time-string "%a%d%b%Y%H%M%S" feedmail-rfc822-time-zone feedmail-queue-use-send-time-for-message-id] 6 (#$ . 88801)])
#@76 Fiddle Message-Id:.  See documentation of `feedmail-message-id-generator'.
(defalias 'feedmail-fiddle-message-id #[(maybe-file) "\303\304\"\210	\305=\203
\305\207	\306=\203\307!\310!)\207	;\203+\311	\312E\310!)\207	9\203?\313	!\203?	!\310!)\207	<\205X\314\n\203M\315\202N\316	A@\317	8\320	8$\207" [maybe-file feedmail-message-id-generator feedmail-is-a-resend feedmail-say-debug ">in-> feedmail-fiddle-message-id %s" nil t feedmail-default-message-id-generator feedmail-fiddle-message-id "ignored" create fboundp feedmail-fiddle-header "Resent-Message-Id" "Message-Id" 2 3] 6 (#$ . 89803)])
#@60 Default function for generating X-Mailer: header contents.
(defalias 'feedmail-default-x-mailer-generator #[nil "\306\307\310	\"\203
\311\202\312)	\313\n\203\314\202\315\f\203#\316\202$\311
\203,\317\202-\320
\260\207" [case-fold-search emacs-version feedmail-patch-level feedmail-queue-runner-is-active feedmail-enable-spray feedmail-x-mailer-line-user-appendage t string-match "emacs" "" "emacs " " (via feedmail " " Q" " I" "S" ") " ")"] 8 (#$ . 90418)])
#@67 Fiddle X-Mailer:.  See documentation of `feedmail-x-mailer-line'.
(defalias 'feedmail-fiddle-x-mailer #[nil "\302\303!\210\304=\203\f\304\207\305=\203\306 \307 )\207;\203)\310\311D\312E\307 )\2079\203;\313!\203; \307 )\207<\205T\314	\203I\315\202J\316A@\3178\3208$\207" [feedmail-x-mailer-line feedmail-is-a-resend feedmail-say-debug ">in-> feedmail-fiddle-x-mailer" nil t feedmail-default-x-mailer-generator feedmail-fiddle-x-mailer "ignored" ";\n	%s" combine fboundp feedmail-fiddle-header "X-Resent-Mailer" "X-Mailer" 2 3] 6 (#$ . 90896)])
#@78 Fiddle header for single spray address.  Uses `feedmail-spray-this-address'.
(defalias 'feedmail-fiddle-spray-address #[(addy-plex) "\302\303\"\210\304=\203
\304\207\305=\203\306	D\307!)\207;\203*	D\307!)\2079\203=\310!\203= \307!)\207<\205O\311@A@\3128\3138$\207" [addy-plex feedmail-spray-this-address feedmail-say-debug ">in-> feedmail-fiddle-spray-address %s" nil t "To" feedmail-fiddle-spray-address fboundp feedmail-fiddle-header 2 3] 6 (#$ . 91468)])
#@57 Fiddling based on a list of fiddle-plexes for spraying.
(defalias 'feedmail-fiddle-list-of-spray-fiddle-plexes #[(list-of-fiddle-plexes) "\303\304!\210\305\211<\203\n\205!\n@\nA\306	!\210\202
\306\n!*\207" [list-of-fiddle-plexes fp lofp feedmail-say-debug ">in-> feedmail-fiddle-list-of-spray-fiddle-plexes" nil feedmail-fiddle-spray-address] 3 (#$ . 91958)])
#@86 Fiddling based on a list of fiddle-plexes.  Values t, nil, and string are pointless.
(defalias 'feedmail-fiddle-list-of-fiddle-plexes #[(list-of-fiddle-plexes) "\303\304!\210\305\n\205?\n@\nA	9\203)\306	!\203)	 C\307\n!\210)\202	<\203\310	@	A@\311	8\312	8$\210\202*\207" [list-of-fiddle-plexes fp lofp feedmail-say-debug ">in-> feedmail-fiddle-list-of-fiddle-plexes" nil fboundp feedmail-fiddle-list-of-fiddle-plexes feedmail-fiddle-header 2 3] 6 (#$ . 92333)])
#@237 Delete headers matching a regexp and their continuation lines.
There may be multiple such lines, and each may have arbitrarily
many continuation lines.  Return an accumulation of the deleted
headers, including the intervening newlines.
(defalias 'feedmail-accume-n-nuke-header #[(header-end header-regexp) "\304\305	#\210\306\307\212eb\210\310	\306#\203D\311y\210\n\312\313\224`\"P\313\224`|\210\314\315!\203`W\203\311y\210\n\312\313\224`\"P\316\317!\210\202&)\n*\207" [header-end header-regexp dropout case-fold-search feedmail-say-debug ">in-> feedmail-accume-n-nuke-header %s %s" t nil re-search-forward 1 buffer-substring-no-properties 0 looking-at "^[ 	].*\n" replace-match ""] 4 (#$ . 92817)])
#@308 Smart filling of address headers (don't be fooled by the name).
The filling tries to avoid splitting lines except at commas.  This
avoids, in particular, splitting within parenthesized comments in
addresses.  Headers filled include From:, Reply-To:, To:, Cc:, Bcc:,
Resent-To:, Resent-Cc:, and Resent-Bcc:.
(defalias 'feedmail-fill-to-cc-function #[(header-end) "\304\305!\210\306\307\211\212eb\210\310\311\306#\205E\312\224\313\314!\203#\315\316!\210\317y\210\313\320!\2038`W\2038\317y\210\202&\321 \212\322	\"\210)\202,\207" [this-line-end this-line case-fold-search header-end feedmail-say-debug ">in-> feedmail-fill-to-cc-function" t nil re-search-forward "^\\(From:\\|Reply-To:\\|To:\\|Cc:\\|Bcc:\\|Resent-To:\\|Resent-Cc:\\|Resent-Bcc:\\)" 0 looking-at "[ 	]*" replace-match " " 1 "[ 	]+" point-marker feedmail-fill-this-one] 4 (#$ . 93537)])
#@68 In-place smart filling of the region bounded by the two arguments.
(defalias 'feedmail-fill-this-one #[(this-line this-line-end) "\305\306!\210\307b\210\310\311\fS\312#\203\313\314!\210\202\315\f\316\317\312%\210\315\f\320\316\312%\210\321\f\"\210\315\f\316\320\312%\210\315\f\317\316\312%\210b\210\310\322\f\312#\205R\313\323!\210\202C*\207" [feedmail-fill-to-cc-fill-column fill-column fill-prefix this-line this-line-end feedmail-say-debug ">in-> feedmail-fill-this-one" "	" re-search-forward "\\s-+" t replace-match " " subst-char-in-region 32 2 44 fill-region-as-paragraph "\\([^,]\\)\n	[ ]*" "\\1,\n	"] 6 (#$ . 94407)])
#@223 Get address list with all comments and other excitement trimmed.
Addresses are collected only from headers whose names match the fourth
argument.  Returns a list of strings.  Duplicate addresses will have
been weeded out.
(defalias 'feedmail-deduce-address-list #[(message-buffer header-start header-end addr-regexp address-list) "\306\307	#\210\310\211\211\211\310\216r\311\312!q\210\313 \210\314#\210eb\210\315 \316d\315#\203y\317\320!\210\321\224\322y\210\323\324!\203L`dW\203L\322y\210\202:\325 \326\327\n\"!\330\331\f\"\203(\f\332\224\332\225O\317\320\315\211\f$
	\235\204V\333\301
\"\210\202V)\334\310!\210*	,\207" [addr-regexp address-list this-line-end this-line address-blob simple-address feedmail-say-debug ">in-> feedmail-deduce-address-list %s %s" nil get-buffer-create " *FQM scratch*" erase-buffer insert-buffer-substring t re-search-forward replace-match "" 0 1 looking-at "^[ 	]+" point-marker mail-strip-quoted-names buffer-substring-no-properties string-match "\\([, 	\n
]*\\)\\([^, 	\n
]+\\)" 2 add-to-list kill-buffer message-buffer header-start header-end case-fold-search] 5 (#$ . 95056)])
#@47 Offer the user one last chance to give it up.
(defalias 'feedmail-one-last-look #[(feedmail-prepped-text-buffer) "\303\304!\210\212\305 \306\216\307	!\210\310\311!\203%\n\247\203%\311\312\313\n!\n\314V#\202(\315\312!+\207" [#1=#:wconfig feedmail-prepped-text-buffer feedmail-confirm-outgoing-timeout feedmail-say-debug ">in-> feedmail-one-last-look" current-window-configuration ((set-window-configuration #1#)) switch-to-buffer fboundp y-or-n-p-with-timeout "FQM: Send this email? " abs 0 y-or-n-p] 5 (#$ . 96201)])
#@46 Internal; does filename end with FQM suffix?
(defalias 'feedmail-fqm-p #[(might-be) "\302\303\"\210\304\305	!\306P\"\207" [might-be feedmail-queue-fqm-suffix feedmail-say-debug ">in-> feedmail-fqm-p %s" string-match regexp-quote "$"] 3 (#$ . 96728)])
#@52 Internal; emits debug messages in standard format.
(defalias 'feedmail-say-debug #[(format &optional a1 a2 a3 a4 a5 a6 a7 a8 a9) "\205*\306\307	P\n\f
\n\f
&\n\210\205*\310U?\205*\311!\207" [feedmail-debug format a1 a2 a3 a4 message "FQM DB: " 0 sit-for a5 a6 a7 a8 a9 feedmail-debug-sit-for] 11 (#$ . 96987)])
#@60 Internal; emits queue chatter messages in standard format.
(defalias 'feedmail-say-chatter #[(format &optional a1 a2 a3 a4 a5 a6 a7 a8 a9) "\205*\306\307	P\n\f
\n\f
&\n\210\205*\310U?\205*\311!\207" [feedmail-queue-chatty format a1 a2 a3 a4 message "FQM: " 0 sit-for a5 a6 a7 a8 a9 feedmail-queue-chatty-sit-for] 11 (#$ . 97321)])
#@79 Internal; finds the end of message header fields, returns mark just before it
(defalias 'feedmail-find-eoh #[(&optional noerror) "\306\307\"\210	\n\310\211\311\312!\313Q\311\312
\206\314!\313Q\212eb\210\315\f\310\316#\2049
\203A\315\310\316#\203A\317 \210\320 \202I?\205I\321\322!-\207" [noerror mail-header-separator feedmail-queue-alternative-mail-header-separator r-alt-mhs r-mhs alt-mhs feedmail-say-debug ">in-> feedmail-find-eoh %s" nil "^" regexp-quote "$" "" re-search-forward t beginning-of-line point-marker error "FQM: Can't find message-header-separator or alternate" mhs] 4 (#$ . 97676)])
(provide 'feedmail)

MMCT - 2023