+2007-08-23 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * gnus-art.el (gnus-mime-display-single): Use utf-8 by default for
+ decoding text/calendar parts.
+
+ * message.el (message-forward-make-body-mime): Always mark body as
+ having no illegible text; remove signed-or-encrypted argument.
+ (message-forward-make-body): Don't pass signed-or-encrypted arg to it.
+
+ * mml.el (mml-generate-mime): Make sure it uses multibyte temp buffer.
+ (mml-generate-mime-1): Don't encode body if it is specified to be in
+ raw form; don't make buffer be unibyte when inserting multibyte string.
+
2007-08-17 Katsumi Yamaoka <yamaoka@jpl.org>
* imap.el (imap-logout-timeout): New variable.
(dolist (elem ignored)
(message-remove-header elem t))))))
-(defun message-forward-make-body-mime (forward-buffer
- &optional signed-or-encrypted)
+(defun message-forward-make-body-mime (forward-buffer)
(let ((b (point)))
(insert "\n\n<#part type=message/rfc822 disposition=inline raw=t>\n")
(save-restriction
(replace-match "X-From-Line: "))
(goto-char (point-max)))
(insert "<#/part>\n")
- (when signed-or-encrypted
- ;; Consider there is no illegible text.
- (add-text-properties
- b (point)
- `(no-illegible-text t rear-nonsticky t start-open t)))))
+ ;; Consider there is no illegible text.
+ (add-text-properties
+ b (point)
+ `(no-illegible-text t rear-nonsticky t start-open t))))
(defun message-forward-make-body-mml (forward-buffer)
(insert "\n\n<#mml type=message/rfc822 disposition=inline>\n")
(if digest
(message-forward-make-body-digest forward-buffer)
(if message-forward-as-mime
- (let (signed-or-encrypted)
- (if (and message-forward-show-mml
- (not (and (eq message-forward-show-mml 'best)
- ;; Use the raw form in the body if it contains
- ;; signed or encrypted message so as not to be
- ;; destroyed by re-encoding.
- (with-current-buffer forward-buffer
- (condition-case nil
- (setq signed-or-encrypted
- (message-signed-or-encrypted-p))
- (error t))))))
- (message-forward-make-body-mml forward-buffer)
- (message-forward-make-body-mime forward-buffer
- signed-or-encrypted)))
+ (if (and message-forward-show-mml
+ (not (and (eq message-forward-show-mml 'best)
+ ;; Use the raw form in the body if it contains
+ ;; signed or encrypted message so as not to be
+ ;; destroyed by re-encoding.
+ (with-current-buffer forward-buffer
+ (condition-case nil
+ (message-signed-or-encrypted-p)
+ (error t))))))
+ (message-forward-make-body-mml forward-buffer)
+ (message-forward-make-body-mime forward-buffer))
(message-forward-make-body-plain forward-buffer)))
(message-position-point))
(mml-multipart-number mml-multipart-number))
(if (not cont)
nil
- (with-temp-buffer
+ (mm-with-multibyte-buffer
(if (and (consp (car cont))
(= (length cont) 1))
(mml-generate-mime-1 (car cont))
(progn
(mm-enable-multibyte)
(insert contents)
- (setq charset (mm-encode-body charset)))
+ (unless raw
+ (setq charset (mm-encode-body charset))))
(insert contents)))))
(setq encoding (mm-encode-buffer type)
coded (mm-string-as-multibyte (buffer-string))))
(mml-insert-mime-headers cont type charset encoding nil)
- (insert "\n")
- (mm-with-unibyte-current-buffer
- (insert coded)))))
+ (insert "\n" coded))))
((eq (car cont) 'external)
(insert "Content-Type: message/external-body")
(let ((parameters (mml-parameter-string