diff lisp/ediff.el @ 71382:4033086b16b6

2006-06-18 Michael Kifer <kifer@cs.stonybrook.edu> * viper-cmd.el (viper-special-read-and-insert-char): use read-key-sequence. (viper-after-change-undo-hook): enhancements. (viper-after-change-undo-hook): new hook. (viper-undo): use viper-after-change-undo-hook. (viper-add-newline-at-eob-if-necessary): widen before making changes. (viper-next-line-at-bol): If point is on a widget or a button, simulate clicking on that widget/button. * viper.el (viper-mode): allow for a separate cursor color in Emacs state. * ediff-diff (ediff-test-patch-utility): catch errors. (ediff-actual-diff-options, ediff-actual-diff3-options): new variables. (ediff-set-actual-diff-options): new function. (ediff-reset-diff-options, ediff-toggle-ignore-case): use ediff-set-actual-diff-options. (ediff-extract-diffs): catch errors. (ediff-whitespace): add nonbreakable space. (ediff-same-file-contents): catch errors. * ediff-mult.el (ediff-collect-custom-diffs): save coding-system-for-read. * ediff-vers.el (ediff-keep-tmp-versions): new var. (ediff-vc-internal, ediff-vc-merge-internal): use ediff-delete-version-file. (ediff-delete-version-file): new function. * ediff-wind.el (ediff-control-frame-parameters): set frame fringes. * ediff.el (ediff-directories, ediff-directory-revisions, ediff-merge-directories, ediff-merge-directories-with-ancestor, ediff-directories-internal, ediff-merge-directory-revisions, ediff-merge-directory-revisions-with-ancestor, ediff-directories3): use read-directory-name.
author Michael Kifer <kifer@cs.stonybrook.edu>
date Sun, 18 Jun 2006 17:08:24 +0000
parents 522ce5c1839a
children 54ea774c3eed 4094c5298ae1
line wrap: on
line diff
--- a/lisp/ediff.el	Sun Jun 18 09:14:51 2006 +0000
+++ b/lisp/ediff.el	Sun Jun 18 17:08:24 2006 +0000
@@ -500,12 +500,13 @@
    (let ((dir-A (ediff-get-default-directory-name))
 	 (default-regexp (eval ediff-default-filtering-regexp))
 	 f)
-     (list (setq f (ediff-read-file-name "Directory A to compare:" dir-A nil))
-	   (ediff-read-file-name "Directory B to compare:"
-				 (if ediff-use-last-dir
-				     ediff-last-dir-B
-				   (ediff-strip-last-dir f))
-				 nil)
+     (list (setq f (read-directory-name
+		    "Directory A to compare:" dir-A nil 'must-match))
+	   (read-directory-name "Directory B to compare:"
+			   (if ediff-use-last-dir
+			       ediff-last-dir-B
+			     (ediff-strip-last-dir f))
+			   nil 'must-match)
 	   (read-string
 	    (if (stringp default-regexp)
 		(format "Filter through regular expression (default %s): "
@@ -532,8 +533,8 @@
    (let ((dir-A (ediff-get-default-directory-name))
 	 (default-regexp (eval ediff-default-filtering-regexp))
 	 )
-     (list (ediff-read-file-name
-	    "Directory to compare with revision:" dir-A nil)
+     (list (read-directory-name
+	    "Directory to compare with revision:" dir-A nil 'must-match)
 	   (read-string
 	    (if (stringp default-regexp)
 		(format "Filter through regular expression (default %s): "
@@ -561,17 +562,17 @@
    (let ((dir-A (ediff-get-default-directory-name))
 	 (default-regexp (eval ediff-default-filtering-regexp))
 	 f)
-     (list (setq f (ediff-read-file-name "Directory A to compare:" dir-A nil))
-	   (setq f (ediff-read-file-name "Directory B to compare:"
-					 (if ediff-use-last-dir
-					     ediff-last-dir-B
-					   (ediff-strip-last-dir f))
-					 nil))
-	   (ediff-read-file-name "Directory C to compare:"
-				 (if ediff-use-last-dir
-				     ediff-last-dir-C
-				   (ediff-strip-last-dir f))
-				 nil)
+     (list (setq f (read-directory-name "Directory A to compare:" dir-A nil))
+	   (setq f (read-directory-name "Directory B to compare:"
+				   (if ediff-use-last-dir
+				       ediff-last-dir-B
+				     (ediff-strip-last-dir f))
+				   nil 'must-match))
+	   (read-directory-name "Directory C to compare:"
+			   (if ediff-use-last-dir
+			       ediff-last-dir-C
+			     (ediff-strip-last-dir f))
+			   nil 'must-match)
 	   (read-string
 	    (if (stringp default-regexp)
 		(format "Filter through regular expression (default %s): "
@@ -597,12 +598,13 @@
    (let ((dir-A (ediff-get-default-directory-name))
 	 (default-regexp (eval ediff-default-filtering-regexp))
 	 f)
-     (list (setq f (ediff-read-file-name "Directory A to merge:" dir-A nil))
-	   (ediff-read-file-name "Directory B to merge:"
-				 (if ediff-use-last-dir
-				     ediff-last-dir-B
-				   (ediff-strip-last-dir f))
-				 nil)
+     (list (setq f (read-directory-name "Directory A to merge:"
+					dir-A nil 'must-match))
+	   (read-directory-name "Directory B to merge:"
+			   (if ediff-use-last-dir
+			       ediff-last-dir-B
+			     (ediff-strip-last-dir f))
+			   nil 'must-match)
 	   (read-string
 	    (if (stringp default-regexp)
 		(format "Filter through regular expression (default %s): "
@@ -633,17 +635,17 @@
    (let ((dir-A (ediff-get-default-directory-name))
 	 (default-regexp (eval ediff-default-filtering-regexp))
 	 f)
-     (list (setq f (ediff-read-file-name "Directory A to merge:" dir-A nil))
-	   (setq f (ediff-read-file-name "Directory B to merge:"
+     (list (setq f (read-directory-name "Directory A to merge:" dir-A nil))
+	   (setq f (read-directory-name "Directory B to merge:"
 				 (if ediff-use-last-dir
 				     ediff-last-dir-B
 				   (ediff-strip-last-dir f))
-				 nil))
-	   (ediff-read-file-name "Ancestor directory:"
+				 nil 'must-match))
+	   (read-directory-name "Ancestor directory:"
 				 (if ediff-use-last-dir
 				     ediff-last-dir-C
 				   (ediff-strip-last-dir f))
-				 nil)
+				 nil 'must-match)
 	   (read-string
 	    (if (stringp default-regexp)
 		(format "Filter through regular expression (default %s): "
@@ -669,8 +671,8 @@
    (let ((dir-A (ediff-get-default-directory-name))
 	 (default-regexp (eval ediff-default-filtering-regexp))
 	 )
-     (list (ediff-read-file-name
-	    "Directory to merge with revisions:" dir-A nil)
+     (list (read-directory-name
+	    "Directory to merge with revisions:" dir-A nil 'must-match)
 	   (read-string
 	    (if (stringp default-regexp)
 		(format "Filter through regular expression (default %s): "
@@ -699,8 +701,9 @@
    (let ((dir-A (ediff-get-default-directory-name))
 	 (default-regexp (eval ediff-default-filtering-regexp))
 	 )
-     (list (ediff-read-file-name
-	    "Directory to merge with revisions and ancestors:" dir-A nil)
+     (list (read-directory-name
+	    "Directory to merge with revisions and ancestors:"
+	    dir-A nil 'must-match)
 	   (read-string
 	    (if (stringp default-regexp)
 		(format "Filter through regular expression (default %s): "
@@ -733,11 +736,6 @@
 (defun ediff-directories-internal (dir1 dir2 dir3 regexp action jobname
 					&optional startup-hooks
 					merge-autostore-dir)
-  ;; ediff-read-file-name is set to attach a previously entered file name if
-  ;; the currently entered file is a directory.  This code takes care of that.
-  (setq dir1 (if (file-directory-p dir1) dir1 (file-name-directory dir1))
-	dir2 (if (file-directory-p dir2) dir2 (file-name-directory dir2)))
-
   (if (stringp dir3)
       (setq dir3 (if (file-directory-p dir3) dir3 (file-name-directory dir3))))
 
@@ -763,7 +761,7 @@
 	     (ediff-merge-metajob jobname)
 	     (not merge-autostore-dir))
 	(setq merge-autostore-dir
-	      (read-file-name "Save merged files in directory: "
+	      (read-directory-name "Save merged files in directory: "
 			      (if ediff-use-last-dir
 					ediff-last-merge-autostore-dir
 				      (ediff-strip-last-dir dir1))
@@ -823,7 +821,7 @@
 	     (ediff-merge-metajob jobname)
 	     (not merge-autostore-dir))
 	(setq merge-autostore-dir
-	      (read-file-name "Save merged files in directory: "
+	      (read-directory-name "Save merged files in directory: "
 			      (if ediff-use-last-dir
 				  ediff-last-merge-autostore-dir
 				(ediff-strip-last-dir dir1))