(smerge-refine-subst): Pass "-d" to diff.
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 8 Nov 2007 16:58:07 +0000 (16:58 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 8 Nov 2007 16:58:07 +0000 (16:58 +0000)
lisp/ChangeLog
lisp/smerge-mode.el

index 11cf35c..d78f776 100644 (file)
@@ -1,14 +1,18 @@
+2007-11-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * smerge-mode.el (smerge-refine-subst): Pass "-d" to diff.
+
 2007-11-07  Michael Albinus  <michael.albinus@gmx.de>
 
-       * net/tramp.el (tramp-handle-substitute-in-file-name): Don't
-       expand the remote connection identification.
+       * net/tramp.el (tramp-handle-substitute-in-file-name):
+       Don't expand the remote connection identification.
        (tramp-find-shell, tramp-open-connection-setup-interactive-shell):
        Set also $PS2 and $PS3 when setting $PS1.  Check for shell echoing
        before calling stty.
 
        * net/tramp-cache.el (tramp-cache-print)
        (tramp-dump-connection-properties): Fix docstring.
-       (tramp-list-connections): Renamed from
+       (tramp-list-connections): Rename from
        `tramp-cache-list-connections'.
 
        * net/tramp-cmds.el (tramp-cleanup-connection): Apply it.
index cd5c7c2..18ca1a3 100644 (file)
@@ -790,12 +790,17 @@ replace chars to try and eliminate some spurious differences."
     (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))