aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/ediff.el
diff options
context:
space:
mode:
authorMichael Kifer2006-06-18 17:08:24 +0000
committerMichael Kifer2006-06-18 17:08:24 +0000
commitec6aebe8337fdd6dc218609a3ff86ccc0232fb4a (patch)
treecbcaecf8692fb0ba1bcb4dbeeac96d471b1ba2be /lisp/ediff.el
parent9e363b8991ea4c52e18b59d0679689cd6a1c0d1b (diff)
downloademacs-ec6aebe8337fdd6dc218609a3ff86ccc0232fb4a.tar.gz
emacs-ec6aebe8337fdd6dc218609a3ff86ccc0232fb4a.zip
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.
Diffstat (limited to 'lisp/ediff.el')
-rw-r--r--lisp/ediff.el80
1 files changed, 39 insertions, 41 deletions
diff --git a/lisp/ediff.el b/lisp/ediff.el
index 14f634f0cd2..3e0be86b18b 100644
--- a/lisp/ediff.el
+++ b/lisp/ediff.el
@@ -500,12 +500,13 @@ expression; only file names that match the regexp are considered."
500 (let ((dir-A (ediff-get-default-directory-name)) 500 (let ((dir-A (ediff-get-default-directory-name))
501 (default-regexp (eval ediff-default-filtering-regexp)) 501 (default-regexp (eval ediff-default-filtering-regexp))
502 f) 502 f)
503 (list (setq f (ediff-read-file-name "Directory A to compare:" dir-A nil)) 503 (list (setq f (read-directory-name
504 (ediff-read-file-name "Directory B to compare:" 504 "Directory A to compare:" dir-A nil 'must-match))
505 (if ediff-use-last-dir 505 (read-directory-name "Directory B to compare:"
506 ediff-last-dir-B 506 (if ediff-use-last-dir
507 (ediff-strip-last-dir f)) 507 ediff-last-dir-B
508 nil) 508 (ediff-strip-last-dir f))
509 nil 'must-match)
509 (read-string 510 (read-string
510 (if (stringp default-regexp) 511 (if (stringp default-regexp)
511 (format "Filter through regular expression (default %s): " 512 (format "Filter through regular expression (default %s): "
@@ -532,8 +533,8 @@ names. Only the files that are under revision control are taken into account."
532 (let ((dir-A (ediff-get-default-directory-name)) 533 (let ((dir-A (ediff-get-default-directory-name))
533 (default-regexp (eval ediff-default-filtering-regexp)) 534 (default-regexp (eval ediff-default-filtering-regexp))
534 ) 535 )
535 (list (ediff-read-file-name 536 (list (read-directory-name
536 "Directory to compare with revision:" dir-A nil) 537 "Directory to compare with revision:" dir-A nil 'must-match)
537 (read-string 538 (read-string
538 (if (stringp default-regexp) 539 (if (stringp default-regexp)
539 (format "Filter through regular expression (default %s): " 540 (format "Filter through regular expression (default %s): "
@@ -561,17 +562,17 @@ regular expression; only file names that match the regexp are considered."
561 (let ((dir-A (ediff-get-default-directory-name)) 562 (let ((dir-A (ediff-get-default-directory-name))
562 (default-regexp (eval ediff-default-filtering-regexp)) 563 (default-regexp (eval ediff-default-filtering-regexp))
563 f) 564 f)
564 (list (setq f (ediff-read-file-name "Directory A to compare:" dir-A nil)) 565 (list (setq f (read-directory-name "Directory A to compare:" dir-A nil))
565 (setq f (ediff-read-file-name "Directory B to compare:" 566 (setq f (read-directory-name "Directory B to compare:"
566 (if ediff-use-last-dir 567 (if ediff-use-last-dir
567 ediff-last-dir-B 568 ediff-last-dir-B
568 (ediff-strip-last-dir f)) 569 (ediff-strip-last-dir f))
569 nil)) 570 nil 'must-match))
570 (ediff-read-file-name "Directory C to compare:" 571 (read-directory-name "Directory C to compare:"
571 (if ediff-use-last-dir 572 (if ediff-use-last-dir
572 ediff-last-dir-C 573 ediff-last-dir-C
573 (ediff-strip-last-dir f)) 574 (ediff-strip-last-dir f))
574 nil) 575 nil 'must-match)
575 (read-string 576 (read-string
576 (if (stringp default-regexp) 577 (if (stringp default-regexp)
577 (format "Filter through regular expression (default %s): " 578 (format "Filter through regular expression (default %s): "
@@ -597,12 +598,13 @@ expression; only file names that match the regexp are considered."
597 (let ((dir-A (ediff-get-default-directory-name)) 598 (let ((dir-A (ediff-get-default-directory-name))
598 (default-regexp (eval ediff-default-filtering-regexp)) 599 (default-regexp (eval ediff-default-filtering-regexp))
599 f) 600 f)
600 (list (setq f (ediff-read-file-name "Directory A to merge:" dir-A nil)) 601 (list (setq f (read-directory-name "Directory A to merge:"
601 (ediff-read-file-name "Directory B to merge:" 602 dir-A nil 'must-match))
602 (if ediff-use-last-dir 603 (read-directory-name "Directory B to merge:"
603 ediff-last-dir-B 604 (if ediff-use-last-dir
604 (ediff-strip-last-dir f)) 605 ediff-last-dir-B
605 nil) 606 (ediff-strip-last-dir f))
607 nil 'must-match)
606 (read-string 608 (read-string
607 (if (stringp default-regexp) 609 (if (stringp default-regexp)
608 (format "Filter through regular expression (default %s): " 610 (format "Filter through regular expression (default %s): "
@@ -633,17 +635,17 @@ only file names that match the regexp are considered."
633 (let ((dir-A (ediff-get-default-directory-name)) 635 (let ((dir-A (ediff-get-default-directory-name))
634 (default-regexp (eval ediff-default-filtering-regexp)) 636 (default-regexp (eval ediff-default-filtering-regexp))
635 f) 637 f)
636 (list (setq f (ediff-read-file-name "Directory A to merge:" dir-A nil)) 638 (list (setq f (read-directory-name "Directory A to merge:" dir-A nil))
637 (setq f (ediff-read-file-name "Directory B to merge:" 639 (setq f (read-directory-name "Directory B to merge:"
638 (if ediff-use-last-dir 640 (if ediff-use-last-dir
639 ediff-last-dir-B 641 ediff-last-dir-B
640 (ediff-strip-last-dir f)) 642 (ediff-strip-last-dir f))
641 nil)) 643 nil 'must-match))
642 (ediff-read-file-name "Ancestor directory:" 644 (read-directory-name "Ancestor directory:"
643 (if ediff-use-last-dir 645 (if ediff-use-last-dir
644 ediff-last-dir-C 646 ediff-last-dir-C
645 (ediff-strip-last-dir f)) 647 (ediff-strip-last-dir f))
646 nil) 648 nil 'must-match)
647 (read-string 649 (read-string
648 (if (stringp default-regexp) 650 (if (stringp default-regexp)
649 (format "Filter through regular expression (default %s): " 651 (format "Filter through regular expression (default %s): "
@@ -669,8 +671,8 @@ names. Only the files that are under revision control are taken into account."
669 (let ((dir-A (ediff-get-default-directory-name)) 671 (let ((dir-A (ediff-get-default-directory-name))
670 (default-regexp (eval ediff-default-filtering-regexp)) 672 (default-regexp (eval ediff-default-filtering-regexp))
671 ) 673 )
672 (list (ediff-read-file-name 674 (list (read-directory-name
673 "Directory to merge with revisions:" dir-A nil) 675 "Directory to merge with revisions:" dir-A nil 'must-match)
674 (read-string 676 (read-string
675 (if (stringp default-regexp) 677 (if (stringp default-regexp)
676 (format "Filter through regular expression (default %s): " 678 (format "Filter through regular expression (default %s): "
@@ -699,8 +701,9 @@ names. Only the files that are under revision control are taken into account."
699 (let ((dir-A (ediff-get-default-directory-name)) 701 (let ((dir-A (ediff-get-default-directory-name))
700 (default-regexp (eval ediff-default-filtering-regexp)) 702 (default-regexp (eval ediff-default-filtering-regexp))
701 ) 703 )
702 (list (ediff-read-file-name 704 (list (read-directory-name
703 "Directory to merge with revisions and ancestors:" dir-A nil) 705 "Directory to merge with revisions and ancestors:"
706 dir-A nil 'must-match)
704 (read-string 707 (read-string
705 (if (stringp default-regexp) 708 (if (stringp default-regexp)
706 (format "Filter through regular expression (default %s): " 709 (format "Filter through regular expression (default %s): "
@@ -733,11 +736,6 @@ names. Only the files that are under revision control are taken into account."
733(defun ediff-directories-internal (dir1 dir2 dir3 regexp action jobname 736(defun ediff-directories-internal (dir1 dir2 dir3 regexp action jobname
734 &optional startup-hooks 737 &optional startup-hooks
735 merge-autostore-dir) 738 merge-autostore-dir)
736 ;; ediff-read-file-name is set to attach a previously entered file name if
737 ;; the currently entered file is a directory. This code takes care of that.
738 (setq dir1 (if (file-directory-p dir1) dir1 (file-name-directory dir1))
739 dir2 (if (file-directory-p dir2) dir2 (file-name-directory dir2)))
740
741 (if (stringp dir3) 739 (if (stringp dir3)
742 (setq dir3 (if (file-directory-p dir3) dir3 (file-name-directory dir3)))) 740 (setq dir3 (if (file-directory-p dir3) dir3 (file-name-directory dir3))))
743 741
@@ -763,7 +761,7 @@ names. Only the files that are under revision control are taken into account."
763 (ediff-merge-metajob jobname) 761 (ediff-merge-metajob jobname)
764 (not merge-autostore-dir)) 762 (not merge-autostore-dir))
765 (setq merge-autostore-dir 763 (setq merge-autostore-dir
766 (read-file-name "Save merged files in directory: " 764 (read-directory-name "Save merged files in directory: "
767 (if ediff-use-last-dir 765 (if ediff-use-last-dir
768 ediff-last-merge-autostore-dir 766 ediff-last-merge-autostore-dir
769 (ediff-strip-last-dir dir1)) 767 (ediff-strip-last-dir dir1))
@@ -823,7 +821,7 @@ names. Only the files that are under revision control are taken into account."
823 (ediff-merge-metajob jobname) 821 (ediff-merge-metajob jobname)
824 (not merge-autostore-dir)) 822 (not merge-autostore-dir))
825 (setq merge-autostore-dir 823 (setq merge-autostore-dir
826 (read-file-name "Save merged files in directory: " 824 (read-directory-name "Save merged files in directory: "
827 (if ediff-use-last-dir 825 (if ediff-use-last-dir
828 ediff-last-merge-autostore-dir 826 ediff-last-merge-autostore-dir
829 (ediff-strip-last-dir dir1)) 827 (ediff-strip-last-dir dir1))