]> code.delx.au - gnu-emacs/blobdiff - lisp/mail/feedmail.el
(mail-extr-disable-voodoo): New variable.
[gnu-emacs] / lisp / mail / feedmail.el
index f52b8f882017cf973ac07ba07e06c8bd1398da1b..3d1b19514213e061cc2a2adb5ddf114aa1038166 100644 (file)
@@ -1,6 +1,8 @@
 ;;; feedmail.el --- assist other email packages to massage outgoing messages
 ;;; This file is in the public domain.
 
+;; This file is part of GNU Emacs.
+
 ;; Author: Bill Carpenter <bill@bubblegum.net>, <bill@carpenter.ORG>
 ;; Version: 8
 ;; Keywords: email, queue, mail, sendmail, message, spray, smtp, draft
 ;; If you write software that must work without the new custom, you
 ;; can use this hack stolen from w3-cus.el:
 (eval-and-compile
-  (condition-case ()
-      (require 'custom)
-    (error nil))
-  (if (and (featurep 'custom) (fboundp 'custom-declare-variable))
-      nil ;; We've got what we needed
-    ;; We have the old custom-library, hack around it!
-    (defmacro defgroup (&rest args)
-      nil)
-    (defmacro defcustom (var value doc &rest args)
-      (` (defvar (, var) (, value) (, doc))))))
-
+ (condition-case ()
+     (require 'custom)
+   (error nil))
+ (if (and (featurep 'custom) (fboundp 'custom-declare-variable))
+     nil ;; We've got what we needed
+     ;; We have the old custom-library, hack around it!
+     (defmacro defgroup (&rest args)
+       nil)
+     (defmacro defcustom (var value doc &rest args)
+       `(defvar ,var ,value ,doc))))
+
+(eval-when-compile (require 'smtpmail))
+(autoload 'mail-do-fcc "sendmail")
 
 (defgroup feedmail nil
   "Assist other email packages to massage outgoing messages."
-  :link (url-link "http://www.carpenter.org/feedmail/feedmail.html")
+  :link '(url-link "http://www.carpenter.org/feedmail/feedmail.html")
+  :link '(emacs-commentary-link "feedmail")
   :group 'mail)
 
 (defgroup feedmail-misc nil
@@ -423,12 +428,11 @@ the same Fcc: treatment applies to both Bcc: and Resent-Bcc: lines."
 
 (defcustom feedmail-nuke-body-in-fcc nil
   "*If non-nil remove body of message in copies saved via Fcc:.
-If an positive integer value, leave (up to) that many lines of the
+If a positive integer value, leave (up to) that many lines of the
 beginning of the body intact.  The result is that the Fcc: copy will
 consist only of the message headers, serving as a sort of an outgoing
 message log."
   :group 'feedmail-headers
-  ;;:type 'boolean
   :type '(choice (const nil) (const t) integer)
   )
 
@@ -680,11 +684,11 @@ in the saved message if you use Fcc:."
 
 (defcustom feedmail-fiddle-headers-upwardly t
   "*Non-nil means fiddled header fields should go at the top of the header.
-Nil means insert them at the bottom.  This is mostly a novelty issue since
+nil means insert them at the bottom.  This is mostly a novelty issue since
 the standards define the ordering of header fields to be immaterial and it's
 fairly likely that some MTA along the way will have its own idea of what the
 order should be, regardless of what you specify."
-  :group 'feedmail-header
+  :group 'feedmail-headers
   :type 'boolean
   )
 
@@ -702,7 +706,7 @@ For an explanation of fiddle-plexes, see the documentation for the
 variable feedmail-fiddle-plex-blurb.  In contrast to some other fiddle-plex
 manipulation functions, in this context, it makes no sense to have an element
 which is nil, t, or a simple string."
-  :group 'feedmail-header
+  :group 'feedmail-headers
   :type '(repeat (choice function)
                 sexp) ; too complex to be described accurately
   )
@@ -841,7 +845,7 @@ doesn't end with a slash.  Default, except on VMS, is \"$HOME/mail/q\"."
   (if (memq system-type '(axp-vms vax-vms))
       (expand-file-name (concat (getenv "HOME") "[.MAIL.DRAFT]"))
     (concat (getenv "HOME") "/mail/draft"))
-  "*Name of an directory where draft messages will be queued.
+  "*Name of a directory where draft messages will be queued.
 Directory will be created if necessary.  Should be a string that
 doesn't end with a slash.  Default, except on VMS, is \"$HOME/mail/draft\"."
   :group 'feedmail-queue
@@ -1274,7 +1278,7 @@ function, for example, to archive all of your sent messages someplace
 
 
 (defvar feedmail-is-a-resend nil
-  "*Non-nil means the the message is a Resend (in the RFC-822 sense).
+  "*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
@@ -1350,7 +1354,7 @@ complicated cases."
 ;;   Mon 14-Oct-1996; Douglas Gray Stephens
 ;;   modified to insert error for displaying
 (defun feedmail-buffer-to-smtpmail (prepped errors-to addr-listoid)
-  "Function which actually calls smtpmail-via-smtp to send buffer as e-mail."
+  "Function which actually calls `smtpmail-via-smtp' to send buffer as e-mail."
   ;; I'm not sure smtpmail.el is careful about the following
   ;; return value, but it also uses it internally, so I will fear
   ;; no evil.
@@ -1429,14 +1433,11 @@ 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.")
 
-
+;;;###autoload
 (defun feedmail-send-it ()
-  "A function which is a suitable value for `send-mail-function'.
-To use it, you probably want something like this in your .emacs or
-similar place:
-
-  (setq send-mail-function 'feedmail-send-it)
-  (autoload 'feedmail-send-it \"feedmail\")"
+  "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."
 
   ;; avoid matching trouble over slash vs backslash by getting canonical
   (if feedmail-queue-directory
@@ -1769,7 +1770,7 @@ you can set feedmail-queue-reminder-alist to nil."
 
 (defun feedmail-queue-send-edit-prompt-help (d-string)
   (let ((fqm-help (get-buffer feedmail-p-h-b-n)))
-    (if (and fqm-help (get-buffer-window fqm-help))
+    (if (and fqm-help (get-buffer-window fqm-help 'visible))
        (feedmail-queue-send-edit-prompt-help-later fqm-help d-string)
       (feedmail-queue-send-edit-prompt-help-first d-string))))
 
@@ -2668,4 +2669,6 @@ been weeded out."
       (point-marker))))
 
 (provide 'feedmail)
+
+;;; arch-tag: ec27b380-11c0-4dfd-8436-f636cf2bb992
 ;;; feedmail.el ends here