]> git.eshelyaron.com Git - emacs.git/commitdiff
(dired-diff): Use dired-dwim-target-directory
authorJuri Linkov <juri@jurta.org>
Tue, 17 Jan 2006 01:43:00 +0000 (01:43 +0000)
committerJuri Linkov <juri@jurta.org>
Tue, 17 Jan 2006 01:43:00 +0000 (01:43 +0000)
instead of the file at the mark as default if the file at the mark
is the same as the file at point or if dired-dwim-target-directory
is not the same as the current directory and the mark is not active.

lisp/ChangeLog
lisp/dired-aux.el

index 63378f163f63dccba841ffb34ee3342160532304..5c286c57b8f0c2c0caf15338fee2894885dc61d1 100644 (file)
@@ -1,5 +1,10 @@
 2006-01-17  Juri Linkov  <juri@jurta.org>
 
+       * dired-aux.el (dired-diff): Use dired-dwim-target-directory
+       instead of the file at the mark as default if the file at the mark
+       is the same as the file at point or if dired-dwim-target-directory
+       is not the same as the current directory and the mark is not active.
+
        * log-view.el (log-view-minor-wrap): Use the same logic to get
        revisions as `log-view-diff'.
 
index f946199bbd6f7c2f3b59f422173e5a98a160eb3c..7a34c39bed5be616f34eab6ff1a6da139b99b6f8 100644 (file)
@@ -53,14 +53,20 @@ FILE defaults to the file at the mark.  (That's the mark set by
 \\[set-mark-command], not by Dired's \\[dired-mark] command.)
 The prompted-for file is the first file given to `diff'.
 With prefix arg, prompt for second argument SWITCHES,
- which is options for `diff'."
+which is options for `diff'."
   (interactive
-   (let ((default (if (mark t)
+   (let ((current (dired-get-filename t))
+        (default (if (mark t)
                      (save-excursion (goto-char (mark t))
                                      (dired-get-filename t t)))))
+     (if (or (equal default current)
+            (and (not (equal (dired-dwim-target-directory)
+                             (dired-current-directory)))
+                 (not mark-active)))
+        (setq default nil))
      (require 'diff)
      (list (read-file-name (format "Diff %s with%s: "
-                                  (dired-get-filename t)
+                                  current
                                   (if default
                                       (concat " (default " default ")")
                                     ""))