Mercurial > hg > xemacs-beta
comparison lisp/ediff/ediff.el @ 144:318232e2a3f0 r20-2b6
Import from CVS: tag r20-2b6
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:34:14 +0200 |
parents | 34a5b81f86ba |
children | 2d532a89d707 |
comparison
equal
deleted
inserted
replaced
143:50e7fedfe353 | 144:318232e2a3f0 |
---|---|
4 | 4 |
5 ;; Author: Michael Kifer <kifer@cs.sunysb.edu> | 5 ;; Author: Michael Kifer <kifer@cs.sunysb.edu> |
6 ;; Created: February 2, 1994 | 6 ;; Created: February 2, 1994 |
7 ;; Keywords: comparing, merging, patching, version control. | 7 ;; Keywords: comparing, merging, patching, version control. |
8 | 8 |
9 (defconst ediff-version "2.64" "The current version of Ediff") | 9 (defconst ediff-version "2.65" "The current version of Ediff") |
10 (defconst ediff-date "January 7, 1997" "Date of last update") | 10 (defconst ediff-date "May 1, 1997" "Date of last update") |
11 | 11 |
12 | 12 |
13 ;; This file is part of GNU Emacs. | 13 ;; This file is part of GNU Emacs. |
14 | 14 |
15 ;; GNU Emacs is free software; you can redistribute it and/or modify | 15 ;; GNU Emacs is free software; you can redistribute it and/or modify |
784 (select-window wind-B) | 784 (select-window wind-B) |
785 (setq beg-B (window-start) | 785 (setq beg-B (window-start) |
786 end-B (window-end)))) | 786 end-B (window-end)))) |
787 (ediff-regions-internal | 787 (ediff-regions-internal |
788 buffer-A beg-A end-A buffer-B beg-B end-B | 788 buffer-A beg-A end-A buffer-B beg-B end-B |
789 startup-hooks job-name word-mode))) | 789 startup-hooks job-name word-mode nil))) |
790 | 790 |
791 ;;;###autoload | 791 ;;;###autoload |
792 (defun ediff-regions-wordwise (buffer-A buffer-B &optional startup-hooks) | 792 (defun ediff-regions-wordwise (buffer-A buffer-B &optional startup-hooks) |
793 "Run Ediff on a pair of regions in two different buffers. | 793 "Run Ediff on a pair of regions in two different buffers. |
794 Regions \(i.e., point and mark\) are assumed to be set in advance. | 794 Regions \(i.e., point and mark\) are assumed to be set in advance. |
821 reg-B-end (region-end))) | 821 reg-B-end (region-end))) |
822 | 822 |
823 (ediff-regions-internal | 823 (ediff-regions-internal |
824 (get-buffer buffer-A) reg-A-beg reg-A-end | 824 (get-buffer buffer-A) reg-A-beg reg-A-end |
825 (get-buffer buffer-B) reg-B-beg reg-B-end | 825 (get-buffer buffer-B) reg-B-beg reg-B-end |
826 startup-hooks 'ediff-regions-wordwise 'word-mode))) | 826 startup-hooks 'ediff-regions-wordwise 'word-mode nil))) |
827 | 827 |
828 ;;;###autoload | 828 ;;;###autoload |
829 (defun ediff-regions-linewise (buffer-A buffer-B &optional startup-hooks) | 829 (defun ediff-regions-linewise (buffer-A buffer-B &optional startup-hooks) |
830 "Run Ediff on a pair of regions in two different buffers. | 830 "Run Ediff on a pair of regions in two different buffers. |
831 Regions \(i.e., point and mark\) are assumed to be set in advance. | 831 Regions \(i.e., point and mark\) are assumed to be set in advance. |
881 startup-hooks 'ediff-regions-linewise nil))) ; no word mode | 881 startup-hooks 'ediff-regions-linewise nil))) ; no word mode |
882 | 882 |
883 ;; compare region beg-A to end-A of buffer-A | 883 ;; compare region beg-A to end-A of buffer-A |
884 ;; to regions beg-B -- end-B in buffer-B. | 884 ;; to regions beg-B -- end-B in buffer-B. |
885 (defun ediff-regions-internal (buffer-A beg-A end-A buffer-B beg-B end-B | 885 (defun ediff-regions-internal (buffer-A beg-A end-A buffer-B beg-B end-B |
886 startup-hooks job-name word-mode) | 886 startup-hooks job-name word-mode |
887 setup-parameters) | |
887 (let ((tmp-buffer (get-buffer-create ediff-tmp-buffer)) | 888 (let ((tmp-buffer (get-buffer-create ediff-tmp-buffer)) |
888 overl-A overl-B | 889 overl-A overl-B |
889 file-A file-B) | 890 file-A file-B) |
890 | 891 |
891 ;; in case beg/end-A/B aren't markers--make them into markers | 892 ;; in case beg/end-A/B aren't markers--make them into markers |
932 nil nil ; buffer & file C | 933 nil nil ; buffer & file C |
933 (cons (` (lambda () | 934 (cons (` (lambda () |
934 (delete-file (, file-A)) | 935 (delete-file (, file-A)) |
935 (delete-file (, file-B)))) | 936 (delete-file (, file-B)))) |
936 startup-hooks) | 937 startup-hooks) |
937 (list (cons 'ediff-word-mode word-mode) | 938 (append |
938 (cons 'ediff-narrow-bounds (list overl-A overl-B)) | 939 (list (cons 'ediff-word-mode word-mode) |
939 (cons 'ediff-job-name job-name)) | 940 (cons 'ediff-narrow-bounds (list overl-A overl-B)) |
941 (cons 'ediff-job-name job-name)) | |
942 setup-parameters) | |
940 ) | 943 ) |
941 )) | 944 )) |
942 | 945 |
943 | 946 |
944 ;;; Merge files and buffers | 947 ;;; Merge files and buffers |
1149 rev1 rev2 ancestor-rev startup-hooks))) | 1152 rev1 rev2 ancestor-rev startup-hooks))) |
1150 | 1153 |
1151 ;;;###autoload | 1154 ;;;###autoload |
1152 (defun run-ediff-from-cvs-buffer (pos) | 1155 (defun run-ediff-from-cvs-buffer (pos) |
1153 "Run Ediff-merge on appropriate revisions of the selected file. | 1156 "Run Ediff-merge on appropriate revisions of the selected file. |
1154 First run after `M-x cvs-update'. Then place the cursor on a lide describing a | 1157 First run after `M-x cvs-update'. Then place the cursor on a line describing a |
1155 file and then run `run-ediff-from-cvs-buffer'." | 1158 file and then run `run-ediff-from-cvs-buffer'." |
1156 (interactive "d") | 1159 (interactive "d") |
1157 (ediff-load-version-control) | 1160 (ediff-load-version-control) |
1158 (let ((tin (tin-locate cvs-cookie-handle pos))) | 1161 (let ((tin (tin-locate cvs-cookie-handle pos))) |
1159 (if tin | 1162 (if tin |