comparison lisp/ediff/ediff-diff.el @ 187:b405438285a2 r20-3b20

Import from CVS: tag r20-3b20
author cvs
date Mon, 13 Aug 2007 09:56:28 +0200
parents bfd6434d15b3
children
comparison
equal deleted inserted replaced
186:24ac94803b48 187:b405438285a2
66 :group 'ediff-diff) 66 :group 'ediff-diff)
67 (defcustom ediff-diff-options "" 67 (defcustom ediff-diff-options ""
68 "*Options to pass to `ediff-diff-program'. 68 "*Options to pass to `ediff-diff-program'.
69 If diff\(1\) is used as `ediff-diff-program', then the most useful options are 69 If diff\(1\) is used as `ediff-diff-program', then the most useful options are
70 `-w', to ignore space, and `-i', to ignore case of letters. 70 `-w', to ignore space, and `-i', to ignore case of letters.
71 At present, the option `-c' is ignored, since Ediff doesn't understand this 71 At present, the option `-c' is not allowed."
72 type of output."
73 :type 'string 72 :type 'string
74 :group 'ediff-diff) 73 :group 'ediff-diff)
75 74
76 (defcustom ediff-custom-diff-program ediff-diff-program 75 (defcustom ediff-custom-diff-program ediff-diff-program
77 "*Program to use for generating custom diff output for saving it in a file. 76 "*Program to use for generating custom diff output for saving it in a file.
156 ;; File-C argument is not used here. It is there just because 155 ;; File-C argument is not used here. It is there just because
157 ;; ediff-setup-diff-regions is called via a funcall to 156 ;; ediff-setup-diff-regions is called via a funcall to
158 ;; ediff-setup-diff-regions-function, which can also have the value 157 ;; ediff-setup-diff-regions-function, which can also have the value
159 ;; ediff-setup-diff-regions3, which takes 4 arguments. 158 ;; ediff-setup-diff-regions3, which takes 4 arguments.
160 (defun ediff-setup-diff-regions (file-A file-B file-C) 159 (defun ediff-setup-diff-regions (file-A file-B file-C)
161 ;;; ;; Force all minibuffers to display ediff's messages. 160 (if (string-match "c" ediff-diff-options)
162 ;;; ;; When xemacs implements minibufferless frames, this won't be necessary 161 (error "Option `-c' is not allowed in `ediff-diff-options'"))
163 ;;; (if ediff-xemacs-p (setq synchronize-minibuffers t))
164 162
165 ;; create, if it doesn't exist 163 ;; create, if it doesn't exist
166 (or (ediff-buffer-live-p ediff-diff-buffer) 164 (or (ediff-buffer-live-p ediff-diff-buffer)
167 (setq ediff-diff-buffer 165 (setq ediff-diff-buffer
168 (get-buffer-create (ediff-unique-buffer-name "*ediff-diff" "*")))) 166 (get-buffer-create (ediff-unique-buffer-name "*ediff-diff" "*"))))
208 ;; this erases the diff buffer automatically 206 ;; this erases the diff buffer automatically
209 (ediff-exec-process ediff-diff-program 207 (ediff-exec-process ediff-diff-program
210 diff-buffer 208 diff-buffer
211 'synchronize 209 'synchronize
212 ediff-diff-options file1 file2) 210 ediff-diff-options file1 file2)
213 ;;(message "Computing differences ... done")
214 (message "") 211 (message "")
215 (ediff-with-current-buffer diff-buffer 212 (ediff-with-current-buffer diff-buffer
216 (buffer-size)))))) 213 (buffer-size))))))
217 214
218 215
1041 1038
1042 ;; Generate the difference vector and overlays for three files 1039 ;; Generate the difference vector and overlays for three files
1043 ;; File-C is either the third file to compare (in case of 3-way comparison) 1040 ;; File-C is either the third file to compare (in case of 3-way comparison)
1044 ;; or it is the ancestor file. 1041 ;; or it is the ancestor file.
1045 (defun ediff-setup-diff-regions3 (file-A file-B file-C) 1042 (defun ediff-setup-diff-regions3 (file-A file-B file-C)
1046
1047 ;;; ;; force all minibuffers to display ediff's messages.
1048 ;;; ;; when xemacs implements minibufferless frames, this won't be necessary
1049 ;;; (if ediff-xemacs-p (setq synchronize-minibuffers t))
1050
1051 (or (ediff-buffer-live-p ediff-diff-buffer) 1043 (or (ediff-buffer-live-p ediff-diff-buffer)
1052 (setq ediff-diff-buffer 1044 (setq ediff-diff-buffer
1053 (get-buffer-create (ediff-unique-buffer-name "*ediff-diff" "*")))) 1045 (get-buffer-create (ediff-unique-buffer-name "*ediff-diff" "*"))))
1054 1046
1055 (message "Computing differences ...") 1047 (message "Computing differences ...")