diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 95eae6ba811..f874a0e3b8e 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el @@ -8060,8 +8060,13 @@ regexp VARSTR." (or (null varstr) (string-match varstr (symbol-name (car local))))) (ignore-errors - (set (make-local-variable (car local)) - (cdr local))))) + ;; Cloning message-default-charset could cause an already + ;; encoded text to be encoded again, yielding raw bytes + ;; instead of characters in the message. + (unless (string-match "message-default-charset" + (symbol-name (car local))) + (set (make-local-variable (car local)) + (cdr local)))))) locals))) ;;;