changeset 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 905499f8c560
children 90ed3b3932bf
files lisp/ChangeLog lisp/smerge-mode.el
diffstat 2 files changed, 15 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Thu Nov 08 13:20:11 2007 +0000
+++ b/lisp/ChangeLog	Thu Nov 08 16:58:07 2007 +0000
@@ -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.
--- 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))