From: Richard M. Stallman Date: Thu, 9 Apr 2009 16:33:41 +0000 (+0000) Subject: * mail/sendmail.el (sendmail-send-it): Replace any X-Git-Tag: emacs-pretest-23.0.93~184 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=caf9510cb8a9923e6bab6be7fd9ff0ff156b572c;p=emacs.git * mail/sendmail.el (sendmail-send-it): Replace any pre-existing Content-type header if we insert one. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7dfa903b336..de1235576e6 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2009-04-09 Richard M Stallman + + * mail/sendmail.el (sendmail-send-it): Replace any + pre-existing Content-type header if we insert one. + 2009-04-09 Michael Albinus * net/tramp.el (tramp-file-name-handler-alist): Add diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el index c0b9ee55c11..b392ddcfac7 100644 --- a/lisp/mail/sendmail.el +++ b/lisp/mail/sendmail.el @@ -1113,7 +1113,10 @@ external program defined by `sendmail-program'." (if (not (re-search-forward "^From:" delimline t)) (mail-insert-from-field)) ;; Possibly add a MIME header for the current coding system - (let (charset) + (let (charset where-content-type) + (goto-char (point-min)) + (setq where-content-type + (re-search-forward "^Content-type:" delimline t)) (goto-char (point-min)) (and (eq mail-send-nonascii 'mime) (not (re-search-forward "^MIME-version:" delimline t)) @@ -1122,11 +1125,19 @@ external program defined by `sendmail-program'." selected-coding (setq charset (coding-system-get selected-coding :mime-charset)) - (goto-char delimline) - (insert "MIME-version: 1.0\n" - "Content-type: text/plain; charset=" - (symbol-name charset) - "\nContent-Transfer-Encoding: 8bit\n"))) + (progn + (goto-char delimline) + (insert "MIME-version: 1.0\n" + "Content-type: text/plain; charset=" + (symbol-name charset) + "\nContent-Transfer-Encoding: 8bit\n") + ;; The character set we will actually use + ;; should override any specified in the message itself. + (when where-content-type + (goto-char where-content-type) + (beginning-of-line) + (delete-region (point) + (progn (forward-line 1) (point))))))) ;; Insert an extra newline if we need it to work around ;; Sun's bug that swallows newlines. (goto-char (1+ delimline))