aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Edmondson <dme@dme.org>2014-11-18 07:03:17 +0000
committerDavid Bremner <david@tethera.net>2014-11-26 18:26:07 +0100
commit7585e8c906b51b5a8db89feb8981b8c5fe2e107c (patch)
tree4f2dc7b6421fc92c50450498043cbe91bc85278f
parent32855b91d980c6c17ee8c4fe2fb2fa957d11d90f (diff)
emacs: `with-current-notmuch-show-message' should not leak `coding-system-for-read'
`with-current-notmuch-show-message' applies a `no-conversion' coding system when reading a raw message from notmuch. That coding system should _not_ be applied when the body of the macro is evaluated, as it can cause file operations used during that evaluation to incorrectly apply the `no-conversion' coding system. This was discovered when a user's .signature file contained non-ASCII characters. When a message is forwarded, the `no-conversion' coding system was applied to the reading of the .signature file, resulting in raw rather than UTF-8 interpretation of the data.
-rw-r--r--emacs/notmuch-show.el6
1 files changed, 3 insertions, 3 deletions
diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
index 4035fe88..b8cfbb8a 100644
--- a/emacs/notmuch-show.el
+++ b/emacs/notmuch-show.el
@@ -241,9 +241,9 @@ every user interaction with notmuch."
(let ((buf (generate-new-buffer (concat "*notmuch-msg-" id "*"))))
(with-current-buffer buf
(let ((coding-system-for-read 'no-conversion))
- (call-process notmuch-command nil t nil "show" "--format=raw" id)
- ,@body)
- (kill-buffer buf))))))
+ (call-process notmuch-command nil t nil "show" "--format=raw" id))
+ ,@body)
+ (kill-buffer buf)))))
(defun notmuch-show-turn-on-visual-line-mode ()
"Enable Visual Line mode."