From 95aac6d1142bbd42603f18da090400bf94cf2ead Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sun, 19 Oct 2008 08:27:14 +0000 Subject: [PATCH] (ediff-exec-process): For buffer jobs, bind coding-system-for-read to ediff-coding-system-for-write. --- lisp/ChangeLog | 13 +++++++++++++ lisp/ediff-diff.el | 8 +++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7168c0db0f0..706808fb0a3 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,16 @@ +2008-10-19 Eli Zaretskii + + Fix Bug #1183: + + * ediff-diff.el (ediff-exec-process): For buffer jobs, bind + coding-system-for-read to ediff-coding-system-for-write. + + * ediff-util.el (ediff-make-temp-file): Unconditionally bind + coding-system-for-write to ediff-coding-system-for-write. + + * ediff-init.el (ediff-coding-system-for-read): Doc fix. + (ediff-coding-system-for-write): Set to emacs-internal. + 2008-10-18 Stefan Monnier * international/mule-conf.el (emacs-internal): New coding system alias. diff --git a/lisp/ediff-diff.el b/lisp/ediff-diff.el index ec9bf24c493..2dd34a9f512 100644 --- a/lisp/ediff-diff.el +++ b/lisp/ediff-diff.el @@ -1207,7 +1207,13 @@ delimiter regions")) ;; args. (defun ediff-exec-process (program buffer synch options &rest files) (let ((data (match-data)) - (coding-system-for-read ediff-coding-system-for-read) + ;; If this is a buffer job, we are diffing temporary files + ;; produced by Emacs with ediff-coding-system-for-write, so + ;; use the same encoding to read the results. + (coding-system-for-read + (if (string-match "buffer" (symbol-name ediff-job-name)) + ediff-coding-system-for-write + ediff-coding-system-for-read)) args) (setq args (append (split-string options) files)) (setq args (delete "" (delq nil args))) ; delete nil and "" from arguments -- 2.39.5