From: Lars Ingebrigtsen Date: Mon, 30 Sep 2019 15:13:10 +0000 (+0200) Subject: Fix problem with non-ASCII MML description strings X-Git-Tag: emacs-27.0.90~1352 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e7ee756f54834bda7ab2d862d7832a77de909b8e;p=emacs.git Fix problem with non-ASCII MML description strings * lisp/gnus/mml.el (mml-insert-tag): Quote non-ASCII parameters. (mml-insert-mime-headers): Make it possible to have non-ASCII descriptions (bug#37555). --- diff --git a/lisp/gnus/mml.el b/lisp/gnus/mml.el index 7fd78d7b9c1..5b31da2870c 100644 --- a/lisp/gnus/mml.el +++ b/lisp/gnus/mml.el @@ -923,11 +923,13 @@ type detected." (unless (eq encoding '7bit) (insert (format "Content-Transfer-Encoding: %s\n" encoding))) (when (setq description (cdr (assq 'description cont))) - (insert "Content-Description: ") - (setq description (prog1 - (point) - (insert description "\n"))) - (mail-encode-encoded-word-region description (point))))) + (insert "Content-Description: " + ;; The current buffer is unibyte, so do the description + ;; encoding in a temporary buffer. + (with-temp-buffer + (insert description "\n") + (mail-encode-encoded-word-region (point-min) (point-max)) + (buffer-string)))))) (defun mml-parameter-string (cont types) (let ((string "") @@ -1339,7 +1341,7 @@ If not set, `default-directory' will be used." (value (pop plist))) (when value ;; Quote VALUE if it contains suspicious characters. - (when (string-match "[\"'\\~/*;() \t\n]" value) + (when (string-match "[\"'\\~/*;() \t\n[:multibyte:]]" value) (setq value (with-output-to-string (let (print-escape-nonascii) (prin1 value)))))