comparison lisp/ediff/ediff-diff.el @ 12:bcdc7deadc19 r19-15b7

Import from CVS: tag r19-15b7
author cvs
date Mon, 13 Aug 2007 08:48:16 +0200
parents 376386a54a3c
children 9ee227acff29
comparison
equal deleted inserted replaced
11:91ffe8bd52e4 12:bcdc7deadc19
138 ediff-diff-buffer ediff-word-mode ediff-narrow-bounds))) 138 ediff-diff-buffer ediff-word-mode ediff-narrow-bounds)))
139 139
140 ;; Run the diff program on FILE1 and FILE2 and put the output in DIFF-BUFFER 140 ;; Run the diff program on FILE1 and FILE2 and put the output in DIFF-BUFFER
141 ;; Return the size of DIFF-BUFFER 141 ;; Return the size of DIFF-BUFFER
142 (defun ediff-make-diff2-buffer (diff-buffer file1 file2) 142 (defun ediff-make-diff2-buffer (diff-buffer file1 file2)
143 (cond ((< (ediff-file-size file1) 0) 143 (let ((file1-size (ediff-file-size file1))
144 (message "Can't diff remote files: %s" 144 (file2-size (ediff-file-size file2)))
145 (ediff-abbreviate-file-name file1)) 145 (cond ((not (numberp file1-size))
146 (sit-for 2) 146 (message "Can't find file: %s"
147 ;; 1 is an error exit code 147 (ediff-abbreviate-file-name file1))
148 1) 148 (sit-for 2)
149 ((< (ediff-file-size file2) 0) 149 ;; 1 is an error exit code
150 (message "Can't diff remote file: %s" 150 1)
151 (ediff-abbreviate-file-name file2)) 151 ((not (numberp file2-size))
152 (sit-for 2) 152 (message "Can't find file: %s"
153 (message "") 153 (ediff-abbreviate-file-name file2))
154 ;; 1 is an error exit code 154 (sit-for 2)
155 1) 155 ;; 1 is an error exit code
156 (t (message "Computing differences between %s and %s ..." 156 1)
157 (file-name-nondirectory file1) 157 ((< file1-size 0)
158 (file-name-nondirectory file2)) 158 (message "Can't diff remote files: %s"
159 ;; this erases the diff buffer automatically 159 (ediff-abbreviate-file-name file1))
160 (ediff-exec-process ediff-diff-program 160 (sit-for 2)
161 diff-buffer 161 ;; 1 is an error exit code
162 'synchronize 162 1)
163 ediff-diff-options file1 file2) 163 ((< file2-size 0)
164 ;;(message "Computing differences ... done") 164 (message "Can't diff remote file: %s"
165 (ediff-abbreviate-file-name file2))
166 (sit-for 2)
165 (message "") 167 (message "")
166 (ediff-eval-in-buffer diff-buffer 168 ;; 1 is an error exit code
167 (buffer-size))))) 169 1)
170 (t (message "Computing differences between %s and %s ..."
171 (file-name-nondirectory file1)
172 (file-name-nondirectory file2))
173 ;; this erases the diff buffer automatically
174 (ediff-exec-process ediff-diff-program
175 diff-buffer
176 'synchronize
177 ediff-diff-options file1 file2)
178 ;;(message "Computing differences ... done")
179 (message "")
180 (ediff-eval-in-buffer diff-buffer
181 (buffer-size))))))
168 182
169 183
170 184
171 ;; If file-A/B/C is nil, do 2-way comparison with the non-nil buffers 185 ;; If file-A/B/C is nil, do 2-way comparison with the non-nil buffers
172 ;; This function works for diff3 and diff2 jobs 186 ;; This function works for diff3 and diff2 jobs
1185 1199
1186 1200
1187 ;;; Local Variables: 1201 ;;; Local Variables:
1188 ;;; eval: (put 'ediff-defvar-local 'lisp-indent-hook 'defun) 1202 ;;; eval: (put 'ediff-defvar-local 'lisp-indent-hook 'defun)
1189 ;;; eval: (put 'ediff-eval-in-buffer 'lisp-indent-hook 1) 1203 ;;; eval: (put 'ediff-eval-in-buffer 'lisp-indent-hook 1)
1204 ;;; eval: (put 'ediff-eval-in-buffer 'edebug-form-spec '(form body))
1190 ;;; End: 1205 ;;; End:
1191 1206
1192 (provide 'ediff-diff) 1207 (provide 'ediff-diff)
1193 1208
1194 1209