diff options
author | Michael Kifer <kifer@cs.stonybrook.edu> | 2007-11-02 06:03:12 +0000 |
---|---|---|
committer | Michael Kifer <kifer@cs.stonybrook.edu> | 2007-11-02 06:03:12 +0000 |
commit | 33468a59c6b42e489bc8ae147c43818d8b76a2a7 (patch) | |
tree | 22f2abf83551c006bcc231dcb890e1dac202f48c /lisp/ediff-diff.el | |
parent | 246a4316dea32514edf84e9e2552627327149160 (diff) | |
download | emacs-33468a59c6b42e489bc8ae147c43818d8b76a2a7.tar.gz |
2007-11-02 Michael Kifer <kifer@cs.stonybrook.edu>
* viper-ex.el (viper-ex): do not ignore the region.
* viper-cmd.el (viper-prev-destructive-command)
(viper-insert-prev-from-insertion-ring): use ring-copy instead of
copy-sequence.
* ediff-util.el (ediff-make-current-diff-overlay): do not use face-name.
Got rid of ediff-copy-list.
* ediff-diff.el (ediff-set-fine-diff-properties-in-one-buffer): do not
use face-name.
(ediff-test-utility,ediff-diff-mandatory-option)
(ediff-reset-diff-options): removed to simplify yhe mandatory option
handling on windows.
(ediff-set-diff-options): added.
(ediff-diff-options): changed.
* ediff-vers.el (ediff-vc-internal): use ediff-vc-revision-other-window.
(ediff-vc-merge-internal): use ediff-vc-revision-other-window and
ediff-vc-working-revision.
Require vc-hooks.
Diffstat (limited to 'lisp/ediff-diff.el')
-rw-r--r-- | lisp/ediff-diff.el | 59 |
1 files changed, 14 insertions, 45 deletions
diff --git a/lisp/ediff-diff.el b/lisp/ediff-diff.el index 451f87e142d..06d7b603440 100644 --- a/lisp/ediff-diff.el +++ b/lisp/ediff-diff.el @@ -48,7 +48,6 @@ :prefix "ediff-" :group 'ediff) -;; these two must be here to prevent ediff-test-utility from barking (defcustom ediff-diff-program "diff" "*Program to use for generating the differential of the two files." :type 'string @@ -62,46 +61,8 @@ Must produce output compatible with Unix's diff3 program." ;; The following functions must precede all defcustom-defined variables. -;; The following functions needed for setting diff/diff3 options -;; test if diff supports the --binary option -(defsubst ediff-test-utility (diff-util option &optional files) - (condition-case nil - (eq 0 (apply 'call-process - (append (list diff-util nil nil nil option) files))) - (error (format "Cannot execute program %S." diff-util))) - ) - -(defun ediff-diff-mandatory-option (diff-util) - (let ((file (if (boundp 'null-device) null-device "/dev/null"))) - (cond ((not (memq system-type '(ms-dos windows-nt windows-95))) - "") - ((and (string= diff-util ediff-diff-program) - (ediff-test-utility - ediff-diff-program "--binary" (list file file))) - "--binary ") - ((and (string= diff-util ediff-diff3-program) - (ediff-test-utility - ediff-diff3-program "--binary" (list file file file))) - "--binary ") - (t "")))) - - -;; must be before ediff-reset-diff-options to avoid compiler errors (fset 'ediff-set-actual-diff-options '(lambda () nil)) -;; make sure that mandatory options are added even if the user changes -;; ediff-diff-options or ediff-diff3-options in the customization widget -(defun ediff-reset-diff-options (symb val) - (let* ((diff-program - (if (eq symb 'ediff-diff-options) - ediff-diff-program - ediff-diff3-program)) - (mandatory-option (ediff-diff-mandatory-option diff-program))) - (set symb (concat mandatory-option val)) - (ediff-set-actual-diff-options) - )) - - (defcustom ediff-shell (cond ((eq system-type 'emx) "cmd") ; OS/2 ((memq system-type '(ms-dos windows-nt windows-95)) @@ -130,17 +91,25 @@ are `-I REGEXP', to ignore changes whose lines match the REGEXP." :type '(repeat string) :group 'ediff-diff) -(defcustom ediff-diff-options "" +(defun ediff-set-diff-options (symbol value) + (set symbol value) + (ediff-set-actual-diff-options)) + +(defcustom ediff-diff-options + (if (memq system-type '(ms-dos windows-nt windows-95)) "--binary" "") "*Options to pass to `ediff-diff-program'. If Unix diff is used as `ediff-diff-program', then a useful option is `-w', to ignore space. Options `-c', `-u', and `-i' are not allowed. Case sensitivity can be toggled interactively using \\[ediff-toggle-ignore-case]. +Do not remove the default options. If you need to change this variable, add new +options after the default ones. + This variable is not for customizing the look of the differences produced by the command \\[ediff-show-diff-output]. Use the variable `ediff-custom-diff-options' for that." - :set 'ediff-reset-diff-options + :set 'ediff-set-diff-options :type 'string :group 'ediff-diff) @@ -179,7 +148,7 @@ This output is not used by Ediff internally." "Pattern to match lines produced by diff3 that describe differences.") (defcustom ediff-diff3-options "" "*Options to pass to `ediff-diff3-program'." - :set 'ediff-reset-diff-options + :set 'ediff-set-diff-options :type 'string :group 'ediff-diff) @@ -889,9 +858,9 @@ one optional arguments, diff-number to refine.") (let ((fine-diff-vector (ediff-get-fine-diff-vector n buf-type)) (face (if default 'default - (face-name - (ediff-get-symbol-from-alist - buf-type ediff-fine-diff-face-alist)))) + (ediff-get-symbol-from-alist + buf-type ediff-fine-diff-face-alist) + )) (priority (if default 0 (1+ (or (ediff-overlay-get |