+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.
;; 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