Commit 14a29deb authored by Eli Zaretskii's avatar Eli Zaretskii
Browse files

Fix bug #9392 with rmail-forward.

 lisp/simple.el (mail-encode-mml): New defvar.
 lisp/mail/rmail.el (mail-encode-mml): Add a defvar.
 (rmail-enable-mime-composing): Default to t.
 (rmail-forward): Use MIME method of forwarding only if both
 rmail-enable-mime-composing and rmail-enable-mime are non-nil.
 Set mail-encode-mml non-nil if the MIME method was used.
 lisp/mail/sendmail.el (mml-to-mime): Add autoload form.
 (mail-encode-mml): Add a defvar.
 (mail-mode): Make mail-encode-mml buffer-local and initialize it
 to nil.
 (mail-send): If mail-encode-mml is non-nil, run the outgoing
 message through mml-to-mime, and reset mail-encode-mml to nil.
parents 208a048d fd59d131
2011-09-09 Eli Zaretskii <eliz@gnu.org>
Fix for Savannah bug#9392.
* simple.el (mail-encode-mml): New defvar.
* mail/rmail.el (mail-encode-mml): Add a defvar.
(rmail-enable-mime-composing): Default to t.
(rmail-forward): Use MIME method of forwarding only if both
rmail-enable-mime-composing and rmail-enable-mime are non-nil.
Set mail-encode-mml non-nil if the MIME method was used.
* mail/sendmail.el (mml-to-mime): Add autoload form.
(mail-encode-mml): Add a defvar.
(mail-mode): Make mail-encode-mml buffer-local and initialize it
to nil.
(mail-send): If mail-encode-mml is non-nil, run the outgoing
message through mml-to-mime, and reset mail-encode-mml to nil.
2011-09-09 Glenn Morris <rgm@gnu.org>
* woman.el (woman-if-body): When processing an .el block,
......
......@@ -91,6 +91,7 @@ its character representation and its display representation.")
(defvar messages-head)
(defvar total-messages)
(defvar tool-bar-map)
(defvar mail-encode-mml)
(defvar rmail-header-style 'normal
"The current header display style choice, one of
......@@ -642,7 +643,7 @@ unless the feature specified by `rmail-mime-feature' is available."
:version "23.3"
:group 'rmail)
(defvar rmail-enable-mime-composing nil
(defvar rmail-enable-mime-composing t
"*If non-nil, RMAIL uses `rmail-insert-mime-forwarded-message-function' to forward.")
;; FIXME unused.
......@@ -3794,9 +3795,17 @@ see the documentation of `rmail-resend'."
;; Insert after header separator--before signature if any.
(rfc822-goto-eoh)
(forward-line 1)
(if (or rmail-enable-mime rmail-enable-mime-composing)
(funcall rmail-insert-mime-forwarded-message-function
forward-buffer)
(if (and rmail-enable-mime rmail-enable-mime-composing)
(prog1
(funcall rmail-insert-mime-forwarded-message-function
forward-buffer)
;; rmail-insert-mime-forwarded-message-function
;; works by inserting MML tags into forward-buffer.
;; The MUA will need to convert it to MIME before
;; sending. mail-encode-mml tells them to do that.
;; message.el does that automagically.
(or (eq mail-user-agent 'message-user-agent)
(setq mail-encode-mml t)))
(insert "------- Start of forwarded message -------\n")
;; Quote lines with `- ' if they start with `-'.
(let ((beg (point)) end)
......
......@@ -31,6 +31,9 @@
(require 'rfc2047)
(autoload 'mml-to-mime "mml"
"Translate the current buffer from MML to MIME.")
(defgroup sendmail nil
"Mail sending commands for Emacs."
:prefix "mail-"
......@@ -678,6 +681,7 @@ switching to, the `*mail*' buffer. See also `mail-setup-hook'."
:options '(footnote-mode))
(defvar mail-mode-abbrev-table text-mode-abbrev-table)
(defvar mail-encode-mml)
;;;###autoload
(define-derived-mode mail-mode text-mode "Mail"
"Major mode for editing mail to be sent.
......@@ -701,6 +705,8 @@ Turning on Mail mode runs the normal hooks `text-mode-hook' and
(make-local-variable 'mail-reply-action)
(make-local-variable 'mail-send-actions)
(make-local-variable 'mail-return-action)
(make-local-variable 'mail-encode-mml)
(setq mail-encode-mml nil)
(setq buffer-offer-save t)
(make-local-variable 'font-lock-defaults)
(setq font-lock-defaults '(mail-font-lock-keywords t t))
......@@ -934,6 +940,9 @@ the user from the mailer."
(error "Invalid header line (maybe a continuation line lacks initial whitespace)"))
(forward-line 1)))
(goto-char opoint)
(when mail-encode-mml
(mml-to-mime)
(setq mail-encode-mml nil))
(run-hooks 'mail-send-hook)
(message "Sending...")
(funcall send-mail-function)
......
......@@ -5729,6 +5729,11 @@ else the end of the last line. This function obeys RFC822."
"^\\([:\n]\\|[^: \t\n]+[ \t\n]\\)" nil 'move)
(goto-char (match-beginning 0))))
;; Used by Rmail (e.g., rmail-forward).
(defvar mail-encode-mml nil
"If non-nil, mail-user-agent's `sendfunc' command should mml-encode
the outgoing message before sending it.")
(defun compose-mail (&optional to subject other-headers continue
switch-function yank-action send-actions
return-action)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment