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