Mercurial > hg > xemacs-beta
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 |