summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2017-10-09 16:46:23 +0300
committerEli Zaretskii <eliz@gnu.org>2017-10-09 16:46:23 +0300
commitaca5f0072b531d9621b0ff90e656e589281c8155 (patch)
tree11823e15ba19ad04b6176cf51a3ed8091c2319e7 /lisp
parent0c36663db51ff4185eb1484aa5d574be23860424 (diff)
downloademacs-aca5f0072b531d9621b0ff90e656e589281c8155.tar.gz
Avoid encoding errors in message.el
* lisp/gnus/message.el (message-clone-locals): Don't clone message-default-charset. (Bug#25645)
Diffstat (limited to 'lisp')
-rw-r--r--lisp/gnus/message.el9
1 files changed, 7 insertions, 2 deletions
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)))
;;;