diff lisp/smerge-mode.el @ 85965:ac6bbbd64b2f

(smerge-refine-subst): Pass "-d" to diff.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Thu, 08 Nov 2007 16:58:07 +0000
parents 786d3a985758
children 860a7a8e779e 880960b70474
line wrap: on
line diff
--- a/lisp/smerge-mode.el	Thu Nov 08 13:20:11 2007 +0000
+++ b/lisp/smerge-mode.el	Thu Nov 08 16:58:07 2007 +0000
@@ -790,12 +790,17 @@
     (unwind-protect
         (with-temp-buffer
           (let ((coding-system-for-read 'emacs-mule))
-            ;; Don't forget -a to make sure diff treats it as a text file
-            ;; even if it contains \0 and such.
             (call-process diff-command nil t nil
                           (if (and smerge-refine-ignore-whitespace
                                    (not smerge-refine-weight-hack))
-                              "-aw" "-a")
+                              ;; Pass -a so diff treats it as a text file even
+                              ;; if it contains \0 and such.
+                              ;; Pass -d so as to get the smallest change, but
+                              ;; also and more importantly because otherwise it
+                              ;; may happen that diff doesn't behave like
+                              ;; smerge-refine-weight-hack expects it to.
+                              ;; See http://thread.gmane.org/gmane.emacs.devel/82685.
+                              "-awd" "-ad")
                           file1 file2))
           ;; Process diff's output.
           (goto-char (point-min))