Mercurial > hg > xemacs-beta
comparison lisp/ediff/ediff-mult.el @ 80:1ce6082ce73f r20-0b90
Import from CVS: tag r20-0b90
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:06:37 +0200 |
parents | c7528f8e288d |
children | 6a378aca36af |
comparison
equal
deleted
inserted
replaced
79:5b0a5bbffab6 | 80:1ce6082ce73f |
---|---|
24 ;;; Commentary: | 24 ;;; Commentary: |
25 | 25 |
26 ;; Users are encouraged to add functionality to this file. | 26 ;; Users are encouraged to add functionality to this file. |
27 ;; The present file contains all the infrastructure needed for that. | 27 ;; The present file contains all the infrastructure needed for that. |
28 ;; | 28 ;; |
29 ;; Generally, to implement a new multisession capability within Ediff, | 29 ;; Generally, to to implement a new multisession capability within Ediff, |
30 ;; you need to tell it | 30 ;; you need to tell it |
31 ;; | 31 ;; |
32 ;; 1. How to display the session group buffer. | 32 ;; 1. How to display the session group buffer. |
33 ;; This function must indicate which Ediff sessions are active (+) and | 33 ;; This function must indicate which Ediff sessions are active (+) and |
34 ;; which are finished (-). | 34 ;; which are finished (-). |
88 ;; that do the layout of the meta- and differences buffers and of | 88 ;; that do the layout of the meta- and differences buffers and of |
89 ;; ediff-filegroup-action. | 89 ;; ediff-filegroup-action. |
90 | 90 |
91 ;;; Code: | 91 ;;; Code: |
92 | 92 |
93 (provide 'ediff-mult) | |
94 | |
95 ;; compiler pacifier | |
96 (eval-when-compile | |
97 (let ((load-path (cons (expand-file-name ".") load-path))) | |
98 (or (featurep 'ediff-init) | |
99 (load "ediff-init.el" nil nil 'nosuffix)) | |
100 (or (featurep 'ediff-util) | |
101 (load "ediff-util.el" nil nil 'nosuffix)) | |
102 )) | |
103 ;; end pacifier | |
104 | |
93 (require 'ediff-init) | 105 (require 'ediff-init) |
106 (require 'ediff-util) | |
94 | 107 |
95 ;; meta-buffer | 108 ;; meta-buffer |
96 (ediff-defvar-local ediff-meta-buffer nil "") | 109 (ediff-defvar-local ediff-meta-buffer nil "") |
97 (ediff-defvar-local ediff-parent-meta-buffer nil "") | 110 (ediff-defvar-local ediff-parent-meta-buffer nil "") |
98 ;; the registry buffer | 111 ;; the registry buffer |
364 (function | 377 (function |
365 (lambda (elt) | 378 (lambda (elt) |
366 (ediff-add-slash-if-directory auxdir1 elt))) | 379 (ediff-add-slash-if-directory auxdir1 elt))) |
367 lis1) | 380 lis1) |
368 auxdir2 (file-name-as-directory dir2) | 381 auxdir2 (file-name-as-directory dir2) |
369 lis2 (mapcar | 382 lis2 (mapcar |
370 (function | 383 (function |
371 (lambda (elt) | 384 (lambda (elt) |
372 (ediff-add-slash-if-directory auxdir2 elt))) | 385 (ediff-add-slash-if-directory auxdir2 elt))) |
373 (directory-files auxdir2 nil regexp))) | 386 (directory-files auxdir2 nil regexp))) |
374 | 387 |
375 (if (stringp dir3) | 388 (if (stringp dir3) |
376 (setq auxdir3 (file-name-as-directory dir3) | 389 (setq auxdir3 (file-name-as-directory dir3) |
377 lis3 (mapcar | 390 lis3 (mapcar |
378 (function | 391 (function |
379 (lambda (elt) | 392 (lambda (elt) |
380 (ediff-add-slash-if-directory auxdir3 elt))) | 393 (ediff-add-slash-if-directory auxdir3 elt))) |
381 (directory-files auxdir3 nil regexp)))) | 394 (directory-files auxdir3 nil regexp)))) |
382 | 395 |
730 (defun ediff-meta-insert-file-info (fileinfo) | 743 (defun ediff-meta-insert-file-info (fileinfo) |
731 (let ((fname (car fileinfo)) | 744 (let ((fname (car fileinfo)) |
732 (feq (ediff-get-file-eqstatus fileinfo)) | 745 (feq (ediff-get-file-eqstatus fileinfo)) |
733 file-modtime file-size) | 746 file-modtime file-size) |
734 | 747 |
735 (cond ((not (stringp fname)) (setq file-size -2)) ; file doesn't exist | 748 (cond ((not (stringp fname)) (setq file-size -2)) ; file doesn't exits |
736 ((not (ediff-file-remote-p fname)) | 749 ((not (ediff-file-remote-p fname)) |
737 (if (file-exists-p fname) | 750 (if (file-exists-p fname) |
738 ;; set real size and modtime | 751 ;; set real size and modtime |
739 (setq file-size (ediff-file-size fname) | 752 (setq file-size (ediff-file-size fname) |
740 file-modtime (ediff-file-modtime fname)) | 753 file-modtime (ediff-file-modtime fname)) |
1015 (interactive "P") | 1028 (interactive "P") |
1016 (let* ((pos (ediff-event-point last-command-event)) | 1029 (let* ((pos (ediff-event-point last-command-event)) |
1017 (meta-buf (ediff-event-buffer last-command-event)) | 1030 (meta-buf (ediff-event-buffer last-command-event)) |
1018 ;; ediff-get-meta-info gives error if meta-buf or pos are invalid | 1031 ;; ediff-get-meta-info gives error if meta-buf or pos are invalid |
1019 (info (ediff-get-meta-info meta-buf pos)) | 1032 (info (ediff-get-meta-info meta-buf pos)) |
1020 merge-autostore-dir | |
1021 (session-buf (ediff-get-session-buffer info))) | 1033 (session-buf (ediff-get-session-buffer info))) |
1022 | 1034 |
1023 (if (eq (ediff-get-session-status info) ?H) | 1035 (if (eq (ediff-get-session-status info) ?H) |
1024 (setq unmark t)) | 1036 (setq unmark t)) |
1025 (if unmark | 1037 (if unmark |
1196 (interactive) | 1208 (interactive) |
1197 (let* ((pos (ediff-event-point last-command-event)) | 1209 (let* ((pos (ediff-event-point last-command-event)) |
1198 (meta-buf (ediff-event-buffer last-command-event)) | 1210 (meta-buf (ediff-event-buffer last-command-event)) |
1199 ;; ediff-get-meta-info gives error if meta-buf or pos are invalid | 1211 ;; ediff-get-meta-info gives error if meta-buf or pos are invalid |
1200 (info (ediff-get-meta-info meta-buf pos)) | 1212 (info (ediff-get-meta-info meta-buf pos)) |
1213 merge-autostore-dir | |
1201 session-buf file1 file2 file3 regexp) | 1214 session-buf file1 file2 file3 regexp) |
1202 | 1215 |
1203 (setq session-buf (ediff-get-session-buffer info) | 1216 (setq session-buf (ediff-get-session-buffer info) |
1204 file1 (ediff-get-session-objA-name info) | 1217 file1 (ediff-get-session-objA-name info) |
1205 file2 (ediff-get-session-objB-name info) | 1218 file2 (ediff-get-session-objB-name info) |
1716 ;;; eval: (put 'ediff-defvar-local 'lisp-indent-hook 'defun) | 1729 ;;; eval: (put 'ediff-defvar-local 'lisp-indent-hook 'defun) |
1717 ;;; eval: (put 'ediff-eval-in-buffer 'lisp-indent-hook 1) | 1730 ;;; eval: (put 'ediff-eval-in-buffer 'lisp-indent-hook 1) |
1718 ;;; eval: (put 'ediff-eval-in-buffer 'edebug-form-spec '(form body)) | 1731 ;;; eval: (put 'ediff-eval-in-buffer 'edebug-form-spec '(form body)) |
1719 ;;; End: | 1732 ;;; End: |
1720 | 1733 |
1721 (provide 'ediff-mult) | |
1722 (require 'ediff-util) | |
1723 | |
1724 ;;; ediff-mult.el ends here | 1734 ;;; ediff-mult.el ends here |