summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2008-10-19 08:27:14 +0000
committerEli Zaretskii <eliz@gnu.org>2008-10-19 08:27:14 +0000
commit95aac6d1142bbd42603f18da090400bf94cf2ead (patch)
tree9179b0eee92efd11e29caae7c2daed726905abb5 /lisp
parentf9fc24a60e236590b4e5a9f7f9805fd15e552bba (diff)
downloademacs-95aac6d1142bbd42603f18da090400bf94cf2ead.tar.gz
(ediff-exec-process): For buffer jobs, bind coding-system-for-read
to ediff-coding-system-for-write.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog13
-rw-r--r--lisp/ediff-diff.el8
2 files changed, 20 insertions, 1 deletions
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 <eliz@gnu.org>
+
+ 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 <monnier@iro.umontreal.ca>
* 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