(autoload 'easy-menu-add "easymenu")
(autoload 'mml-insert-tag "mml")
-(autoload 'sc-cite-original "sc"
- "Workhorse citing function which performs the initial citation.
-This is callable from the various mail and news readers' reply
-function according to the agreed upon standard. See `sc-describe'
-for more details. `sc-cite-original' does not do any yanking of the
-original message but it does require a few things:
-
- 1) The reply buffer is the current buffer.
-
- 2) The original message has been yanked and inserted into the
- reply buffer.
-
- 3) Verbose mail headers from the original message have been
- inserted into the reply buffer directly before the text of the
- original message.
-
- 4) Point is at the beginning of the verbose headers.
-
- 5) Mark is at the end of the body of text to be cited.
-
-For Emacs 19's, the region need not be active (and typically isn't
-when this function is called. Also, the hook `sc-pre-hook' is run
-before, and `sc-post-hook' is run after the guts of this function.")
\f
(setq other-headers (cdr other-headers)))))
;; Shush compiler.
-(eval-when-compile (mh-do-in-xemacs (defvar sendmail-coding-system)))
+(defvar sendmail-coding-system) ; XEmacs
;;;###autoload
(defun mh-send-letter (&optional arg)
this command. For example, if you want to check your spelling in
your message before sending, add the function `ispell-message'.
+Unless `mh-insert-auto-fields' had previously been called
+manually, the function `mh-insert-auto-fields' is called to
+insert fields based upon the recipients. If fields are added, you
+are given a chance to see and to confirm these fields before the
+message is actually sent. You can do away with this confirmation
+by turning off the option `mh-auto-fields-prompt-flag'.
+
In case the MH \"send\" program is installed under a different name,
use `mh-send-prog' to tell MH-E the name."
(interactive "P")
(set-buffer draft-buffer)) ; for annotation below
(t
(mh-exec-cmd-daemon mh-send-prog nil "-nodraftfolder" "-noverbose"
- mh-send-args file-name)))
+ (split-string mh-send-args) file-name)))
(if mh-annotate-char
(mh-annotate-msg mh-sent-from-msg
mh-sent-from-folder
Response Reply Goes To
- from The person who sent the message. This is the
+ from The person who sent the message. This is the
default, so <RET> is sufficient.
to Replies to the sender, plus all recipients in the
\"To:\" header field.
- all
- cc Forms a reply to the sender, plus all recipients.
+ all cc Forms a reply to the addresses in the
+ \"Mail-Followup-To:\" header field if one
+ exists; otherwise forms a reply to the sender,
+ plus all recipients.
Depending on your answer, \"repl\" is given a different argument
to form your reply. Specifically, a choice of \"from\" or none at
Two windows are then created. One window contains the message to
which you are replying in an MH-Show buffer. Your draft, in
-MH-Letter mode (see `mh-letter-mode'), is in the other window.
+MH-Letter mode (*note `mh-letter-mode'), is in the other window.
+If the reply draft was not one that you expected, check the
+things that affect the behavior of \"repl\" which include the
+\"repl:\" profile component and the \"replcomps\" and
+\"replgroupcomps\" files.
If you supply a prefix argument INCLUDEP, the message you are
replying to is inserted in your reply after having first been run
(setq components
(expand-file-name mh-comp-formfile mh-lib)))
components)
- ((file-exists-p
- (setq components
- (expand-file-name mh-comp-formfile
- ;; What is this mh-etc ?? -sm
- ;; This is dead code, so
- ;; remove it.
- ;(and (boundp 'mh-etc) mh-etc)
- )))
- components)
(t
- (error "Can't find components file \"%s\""
- components))))
+ (error "Can't find %s in %s or %s"
+ mh-comp-formfile mh-user-path mh-lib))))
nil)))
(mh-insert-fields "To:" to "Subject:" subject "Cc:" cc)
(goto-char (point-max))
(mh-logo-display)
(mh-make-local-hook 'kill-buffer-hook)
(add-hook 'kill-buffer-hook 'mh-tidy-draft-buffer nil t)
- (if (and (boundp 'mh-compose-letter-function)
- mh-compose-letter-function)
- ;; run-hooks will not pass arguments.
- (let ((value mh-compose-letter-function))
- (if (and (listp value) (not (eq (car value) 'lambda)))
- (while value
- (funcall (car value) to subject cc)
- (setq value (cdr value)))
- (funcall mh-compose-letter-function to subject cc)))))
+ (run-hook-with-args 'mh-compose-letter-function to subject cc))
(defun mh-insert-x-mailer ()
"Append an X-Mailer field to the header.
(format "MH-E %s; %s; %sEmacs %s"
mh-version mh-variant-in-use
(if mh-xemacs-flag "X" "GNU ")
- (cond ((not mh-xemacs-flag) emacs-version)
+ (cond ((not mh-xemacs-flag)
+ (string-match "[0-9]+\\.[0-9]+\\(\\.[0-9]+\\)?"
+ emacs-version)
+ (match-string 0 emacs-version))
((string-match "[0-9.]*\\( +\([ a-z]+[0-9]+\)\\)?"
emacs-version)
(match-string 0 emacs-version))
(defun mh-insert-auto-fields (&optional non-interactive)
"Insert custom fields if recipient is found in `mh-auto-fields-list'.
-Sets buffer-local `mh-insert-auto-fields-done-local' if header
-fields were added. If NON-INTERACTIVE is non-nil, perform actions
-quietly and only if `mh-insert-auto-fields-done-local' is nil.
-
-An `identity' entry is skipped if one was already entered
-manually.
+Once the header contains one or more recipients, you may run this
+command to insert these fields manually. However, if you use this
+command, the automatic insertion when the message is sent is
+disabled.
-Return t if fields added; otherwise return nil."
+In a program, set buffer-local `mh-insert-auto-fields-done-local'
+if header fields were added. If NON-INTERACTIVE is non-nil,
+perform actions quietly and only if
+`mh-insert-auto-fields-done-local' is nil. Return t if fields
+added; otherwise return nil."
(interactive)
(when (or (not non-interactive)
(not mh-insert-auto-fields-done-local))
(cond ((and overwrite-flag
(mh-goto-header-field (concat field ":")))
(insert " " value)
- (delete-region (point) (line-end-position)))
+ (delete-region (point) (mh-line-end-position)))
((and (not overwrite-flag)
(mh-regexp-in-field-p (concat "\\b" value "\\b") field))
;; Already there, do nothing.