Mercurial > hg > xemacs-beta
comparison lisp/ediff/ediff-util.el @ 144:318232e2a3f0 r20-2b6
Import from CVS: tag r20-2b6
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:34:14 +0200 |
parents | 6a378aca36af |
children | 43dd3413c7c7 |
comparison
equal
deleted
inserted
replaced
143:50e7fedfe353 | 144:318232e2a3f0 |
---|---|
241 (run-hooks 'ediff-keymap-setup-hook)) | 241 (run-hooks 'ediff-keymap-setup-hook)) |
242 | 242 |
243 | 243 |
244 ;;; Setup functions | 244 ;;; Setup functions |
245 | 245 |
246 ;; No longer needed: XEmacs has surrogate minibuffers now. | 246 ;; Common startup entry for all Ediff functions It now returns control buffer |
247 ;;(or (boundp 'synchronize-minibuffers) | 247 ;; so other functions can do post-processing SETUP-PARAMETERS is a list of the |
248 ;; (defvar synchronize-minibuffers nil)) | 248 ;; form ((param .val) (param . val)...) This serves a similar purpose to |
249 | 249 ;; STARTUP-HOOKS, but these parameters are set in the new control buffer right |
250 ;; Common startup entry for all Ediff functions | 250 ;; after this buf is created and before any windows are set and such. |
251 ;; It now returns control buffer so other functions can do post-processing | |
252 (defun ediff-setup (buffer-A file-A buffer-B file-B buffer-C file-C | 251 (defun ediff-setup (buffer-A file-A buffer-B file-B buffer-C file-C |
253 startup-hooks setup-parameters) | 252 startup-hooks setup-parameters) |
254 ;; ediff-convert-standard-filename puts file names in the form appropriate | 253 ;; ediff-convert-standard-filename puts file names in the form appropriate |
255 ;; for the OS at hand. | 254 ;; for the OS at hand. |
256 (setq file-A (ediff-convert-standard-filename (expand-file-name file-A))) | 255 (setq file-A (ediff-convert-standard-filename (expand-file-name file-A))) |
262 (ediff-unique-buffer-name "*Ediff Control Panel" "*")) | 261 (ediff-unique-buffer-name "*Ediff Control Panel" "*")) |
263 (control-buffer (ediff-eval-in-buffer buffer-A | 262 (control-buffer (ediff-eval-in-buffer buffer-A |
264 (get-buffer-create control-buffer-name)))) | 263 (get-buffer-create control-buffer-name)))) |
265 (ediff-eval-in-buffer control-buffer | 264 (ediff-eval-in-buffer control-buffer |
266 (ediff-mode) | 265 (ediff-mode) |
267 | |
268 ;; unwrap set up parameters passed as argument | |
269 (while setup-parameters | |
270 (set (car (car setup-parameters)) (cdr (car setup-parameters))) | |
271 (setq setup-parameters (cdr setup-parameters))) | |
272 | |
273 ;; set variables classifying the current ediff job | 266 ;; set variables classifying the current ediff job |
274 (setq ediff-3way-comparison-job (ediff-3way-comparison-job) | 267 (setq ediff-3way-comparison-job (ediff-3way-comparison-job) |
275 ediff-merge-job (ediff-merge-job) | 268 ediff-merge-job (ediff-merge-job) |
276 ediff-merge-with-ancestor-job (ediff-merge-with-ancestor-job) | 269 ediff-merge-with-ancestor-job (ediff-merge-with-ancestor-job) |
277 ediff-3way-job (ediff-3way-job) | 270 ediff-3way-job (ediff-3way-job) |
285 (make-local-variable 'ediff-split-window-function) | 278 (make-local-variable 'ediff-split-window-function) |
286 (make-local-variable 'ediff-default-variant) | 279 (make-local-variable 'ediff-default-variant) |
287 (make-local-variable 'ediff-merge-window-share) | 280 (make-local-variable 'ediff-merge-window-share) |
288 (make-local-variable 'ediff-window-setup-function) | 281 (make-local-variable 'ediff-window-setup-function) |
289 (make-local-variable 'ediff-keep-variants) | 282 (make-local-variable 'ediff-keep-variants) |
283 | |
284 ;; unwrap set up parameters passed as argument | |
285 (while setup-parameters | |
286 (set (car (car setup-parameters)) (cdr (car setup-parameters))) | |
287 (setq setup-parameters (cdr setup-parameters))) | |
288 | |
290 | 289 |
291 ;; Don't delete variants in case of ediff-buffer-* jobs without asking. | 290 ;; Don't delete variants in case of ediff-buffer-* jobs without asking. |
292 ;; This is because u may loose work---dangerous. | 291 ;; This is because u may loose work---dangerous. |
293 (if (string-match "buffer" (symbol-name ediff-job-name)) | 292 (if (string-match "buffer" (symbol-name ediff-job-name)) |
294 (setq ediff-keep-variants t)) | 293 (setq ediff-keep-variants t)) |
1591 (and ediff-show-clashes-only | 1590 (and ediff-show-clashes-only |
1592 (string-match "prefer" | 1591 (string-match "prefer" |
1593 (or (ediff-get-state-of-merge n) ""))) | 1592 (or (ediff-get-state-of-merge n) ""))) |
1594 ;; skip difference regions that differ in white space | 1593 ;; skip difference regions that differ in white space |
1595 (and ediff-ignore-similar-regions | 1594 (and ediff-ignore-similar-regions |
1596 (ediff-no-fine-diffs-p n)))) | 1595 (eq (ediff-no-fine-diffs-p n) t)))) |
1597 (setq n (1+ n)) | 1596 (setq n (1+ n)) |
1598 (if (= 0 (mod n 20)) | 1597 (if (= 0 (mod n 20)) |
1599 (message "Skipped over region %d and counting ..." n)) | 1598 (message "Skipped over region %d and counting ..." n)) |
1600 (or (>= n ediff-number-of-differences) | 1599 (or (>= n ediff-number-of-differences) |
1601 (setq regexp-skip (funcall ediff-skip-diff-region-function n)) | 1600 (setq regexp-skip (funcall ediff-skip-diff-region-function n)) |
1628 (and ediff-show-clashes-only | 1627 (and ediff-show-clashes-only |
1629 (string-match "prefer" | 1628 (string-match "prefer" |
1630 (or (ediff-get-state-of-merge n) ""))) | 1629 (or (ediff-get-state-of-merge n) ""))) |
1631 ;; skip difference regions that differ in white space | 1630 ;; skip difference regions that differ in white space |
1632 (and ediff-ignore-similar-regions | 1631 (and ediff-ignore-similar-regions |
1633 (ediff-no-fine-diffs-p n)))) | 1632 (eq (ediff-no-fine-diffs-p n) t)))) |
1634 (if (= 0 (mod (1+ n) 20)) | 1633 (if (= 0 (mod (1+ n) 20)) |
1635 (message "Skipped over region %d and counting ..." (1+ n))) | 1634 (message "Skipped over region %d and counting ..." (1+ n))) |
1636 (setq n (1- n)) | 1635 (setq n (1- n)) |
1637 (or (< n 0) | 1636 (or (< n 0) |
1638 (setq regexp-skip (funcall ediff-skip-diff-region-function n)) | 1637 (setq regexp-skip (funcall ediff-skip-diff-region-function n)) |
3130 (sit-for 0) | 3129 (sit-for 0) |
3131 (error "All right. Make up your mind and come back..."))) | 3130 (error "All right. Make up your mind and come back..."))) |
3132 | 3131 |
3133 (ediff-regions-internal | 3132 (ediff-regions-internal |
3134 bufA begA endA bufB begB endB | 3133 bufA begA endA bufB begB endB |
3135 nil ; startup hook | 3134 nil ; setup-hook |
3136 'ediff-regions-linewise ; job name | 3135 'ediff-regions-linewise ; job name |
3137 nil) ; no word mode | 3136 nil ; no word mode |
3137 ;; setup param to pass to ediff-setup | |
3138 (list (cons 'ediff-split-window-function ediff-split-window-function))) | |
3138 )) | 3139 )) |
3139 | 3140 |
3140 | 3141 |
3141 | 3142 |
3142 (defun ediff-remove-flags-from-buffer (buffer overlay) | 3143 (defun ediff-remove-flags-from-buffer (buffer overlay) |