diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2019-09-30 17:13:10 +0200 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2019-09-30 17:13:10 +0200 |
commit | e7ee756f54834bda7ab2d862d7832a77de909b8e (patch) | |
tree | 5f9cf9176c8e170fe81facb19be0ed088d346eb7 | |
parent | ab980bd7f5f9ec396ec84254bece6048f36ad8ff (diff) | |
download | emacs-e7ee756f54834bda7ab2d862d7832a77de909b8e.tar.gz |
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).
-rw-r--r-- | lisp/gnus/mml.el | 14 |
1 files changed, 8 insertions, 6 deletions
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))))) |