From 96ebc53904c3e1a9f0b31f77c51586e60f546fd6 Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Sat, 26 Apr 2008 04:30:32 +0000 Subject: [PATCH] Merge from gnus--rel--5.10 Revision: emacs@sv.gnu.org/emacs--rel--22--patch-259 --- lisp/gnus/ChangeLog | 6 ++++++ lisp/gnus/mm-encode.el | 13 +++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index f0ba8af760e..d934d6c2c2e 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,9 @@ +2008-04-24 Luca Capello (tiny change) + + * mm-encode.el (mm-safer-encoding): Add optional argument `type'. + Don't use QP for message/rfc822. + (mm-content-transfer-encoding): Pass `type' to mm-safer-encoding. + 2008-04-13 Reiner Steib [Backport GNKSA related changes from the Gnus trunk.] diff --git a/lisp/gnus/mm-encode.el b/lisp/gnus/mm-encode.el index d22c59c5018..3101b14d19e 100644 --- a/lisp/gnus/mm-encode.el +++ b/lisp/gnus/mm-encode.el @@ -96,14 +96,19 @@ This variable should never be set directly, but bound before a call to "application/octet-stream" (mailcap-extension-to-mime (match-string 0 file)))) -(defun mm-safer-encoding (encoding) +(defun mm-safer-encoding (encoding &optional type) "Return an encoding similar to ENCODING but safer than it." (cond ((eq encoding '7bit) '7bit) ;; 7bit is considered safe. - ((memq encoding '(8bit quoted-printable)) 'quoted-printable) + ((memq encoding '(8bit quoted-printable)) + ;; According to RFC2046, 5.2.1, RFC822 Subtype, "quoted-printable" is not + ;; a valid encoding for message/rfc822: + ;; No encoding other than "7bit", "8bit", or "binary" is permitted for the + ;; body of a "message/rfc822" entity. + (if (string= type "message/rfc822") '8bit 'quoted-printable)) ;; The remaining encodings are binary and base64 (and perhaps some ;; non-standard ones), which are both turned into base64. - (t 'base64))) + (t (if (string= type "message/rfc822") 'binary 'base64)))) (defun mm-encode-content-transfer-encoding (encoding &optional type) "Encode the current buffer with ENCODING for MIME type TYPE. @@ -178,7 +183,7 @@ The encoding used is returned." (mm-qp-or-base64) (cadr (car rules))))) (if mm-use-ultra-safe-encoding - (mm-safer-encoding encoding) + (mm-safer-encoding encoding type) encoding)))) (pop rules))))) -- 2.39.2