From: Eli Zaretskii Date: Mon, 2 Sep 2024 14:14:29 +0000 (+0300) Subject: Fix Rmail base64 and qp decoding of MIME payloads X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=75d7ec1dc3f747e6c49f6bcf299db0585b028900;p=emacs.git Fix Rmail base64 and qp decoding of MIME payloads * lisp/mail/rmailmm.el (rmail-mime-insert-decoded-text) (rmail-mime-insert-html): Remove ^M characters left from DOS EOLs. This is what 'rmail-decode-region' does for non-MIME messages. (cherry picked from commit 7799ef43354d756d7144cab3437f38496199522c) --- diff --git a/lisp/mail/rmailmm.el b/lisp/mail/rmailmm.el index b4a0e92136e..a5ce5b65cd7 100644 --- a/lisp/mail/rmailmm.el +++ b/lisp/mail/rmailmm.el @@ -579,7 +579,11 @@ HEADER is a header component of a MIME-entity object (see (ignore-errors (base64-decode-region pos (point)))) ((string= transfer-encoding "quoted-printable") (quoted-printable-decode-region pos (point)))))) - (decode-coding-region pos (point) coding-system) + (decode-coding-region + pos (point) + ;; Use -dos decoding, to remove ^M characters left from base64 or + ;; rogue qp-encoded text. + (coding-system-change-eol-conversion coding-system 1)) (if (and (or (not rmail-mime-coding-system) (consp rmail-mime-coding-system)) (not (eq (coding-system-base coding-system) 'us-ascii))) @@ -691,7 +695,11 @@ HEADER is a header component of a MIME-entity object (see (if (and (eq coding-system 'undecided) (not (null coding-system-for-read))) (setq coding-system coding-system-for-read)))) - (decode-coding-region (point-min) (point) coding-system) + (decode-coding-region + (point-min) (point) + ;; Use -dos decoding, to remove ^M characters left from base64 or + ;; rogue qp-encoded text. + (coding-system-change-eol-conversion coding-system 1)) (if (and (or (not rmail-mime-coding-system) (consp rmail-mime-coding-system)) (not (eq (coding-system-base coding-system) 'us-ascii)))