From: Lars Ingebrigtsen Date: Sun, 10 Jan 2021 12:30:25 +0000 (+0100) Subject: Revert recent mm-with-part change X-Git-Tag: emacs-28.0.90~4322 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=b84b6897464f5af69d24a4efa95704ab51b3cd7b;p=emacs.git Revert recent mm-with-part change * lisp/gnus/mm-decode.el (mm-with-part): Revert 23a887e426f81033b0de2f4c93a8525cb31c28da -- this is the wrong place to handle this peculiarity. --- diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el index 2b0b61bfac6..61946aa5811 100644 --- a/lisp/gnus/mm-decode.el +++ b/lisp/gnus/mm-decode.el @@ -1264,20 +1264,11 @@ in HANDLE." (when (and (mm-handle-buffer handle) (buffer-name (mm-handle-buffer handle))) (with-temp-buffer - (if (and (eq (mm-handle-encoding handle) '8bit) - (with-current-buffer (mm-handle-buffer handle) - enable-multibyte-characters)) - ;; Due to unfortunate historical reasons, we may have a - ;; multibyte buffer here, but if it's using an 8bit - ;; Content-Transfer-Encoding, then work around that by - ;; just ignoring the situation. - (insert-buffer-substring (mm-handle-buffer handle)) - ;; Do the decoding. - (mm-disable-multibyte) - (insert-buffer-substring (mm-handle-buffer handle)) - (mm-decode-content-transfer-encoding - (mm-handle-encoding handle) - (mm-handle-media-type handle))) + (mm-disable-multibyte) + (insert-buffer-substring (mm-handle-buffer handle)) + (mm-decode-content-transfer-encoding + (mm-handle-encoding handle) + (mm-handle-media-type handle)) ,@forms)))) (put 'mm-with-part 'lisp-indent-function 1) (put 'mm-with-part 'edebug-form-spec '(body)) diff --git a/test/lisp/gnus/mm-decode-tests.el b/test/lisp/gnus/mm-decode-tests.el index 6e8fae6eaff..7d059cb3f87 100644 --- a/test/lisp/gnus/mm-decode-tests.el +++ b/test/lisp/gnus/mm-decode-tests.el @@ -70,22 +70,6 @@ 'charset))) "ääää\n")))))) -(ert-deftest test-mm-with-part-multibyte () - (with-temp-buffer - (set-buffer-multibyte t) - (nnheader-insert-file-contents (ert-resource-file "8bit-multipart.bin")) - (while (search-forward "\r\n" nil t) - (replace-match "\n")) - (let ((handle (mm-dissect-buffer))) - (pop handle) - (let ((part (pop handle))) - (should (equal (decode-coding-string - (mm-with-part part - (buffer-string)) - (intern (mail-content-type-get (mm-handle-type part) - 'charset))) - "ääää\n")))))) - (ert-deftest test-mm-dissect-buffer-win1252 () (with-temp-buffer (set-buffer-multibyte nil)