]> git.eshelyaron.com Git - emacs.git/commitdiff
(ediff-exec-process): For buffer jobs, bind coding-system-for-read
authorEli Zaretskii <eliz@gnu.org>
Sun, 19 Oct 2008 08:27:14 +0000 (08:27 +0000)
committerEli Zaretskii <eliz@gnu.org>
Sun, 19 Oct 2008 08:27:14 +0000 (08:27 +0000)
to ediff-coding-system-for-write.

lisp/ChangeLog
lisp/ediff-diff.el

index 7168c0db0f0fbabfa4bc427a57a04b3e22bb0378..706808fb0a314f0d6c3a5849703dbcfbfa5f4e57 100644 (file)
@@ -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.
index ec9bf24c493e42136e281364df7d638c343f8331..2dd34a9f512bd1140e3cfc1d614443e679215252 100644 (file)
@@ -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