+
+;; fill in DIFF-BUFFER with the output from the diff program run on FILE1 and
+;; FILE2
+;; Return the length of that buffer.
+(defun ediff-make-diff2-buffer (diff-buffer file1 file2)
+ (cond ((< (ediff-file-size file1) 0)
+ (message "Can't diff remote files: %s"
+ (ediff-abbreviate-file-name file1))
+ (sit-for 2)
+ ;; 1 is an error exit code
+ 1)
+ ((< (ediff-file-size file2) 0)
+ (message "Can't diff remote file: %s"
+ (ediff-abbreviate-file-name file2))
+ (sit-for 2)
+ (message "")
+ ;; 1 is an error exit code
+ 1)
+ (t (message "Computing differences between %s and %s ..."
+ (file-name-nondirectory file1)
+ (file-name-nondirectory file2))
+ ;; this erases the diff buffer automatically
+ (ediff-exec-process ediff-diff-program
+ diff-buffer
+ 'synchronize
+ ediff-diff-options file1 file2)
+ ;;(message "Computing differences ... done")
+ (message "")
+ (ediff-eval-in-buffer diff-buffer
+ (buffer-size)))))
+
+