annotate lisp/ediff-merg.el @ 22416:a517da228cb9

(uce-message-text): Change the text of message that is sent. (uce-reply-to-uce): Do not assume all Received lines are on top of message without headers like `From' or `To'. (uce-reply-to-uce): Parse Received lines better. (uce-mail-reader): New user option. (uce-reply-to uce): Add support for Gnus. User is supposed to set uce-mail-reader to `gnus' if using Gnus to read mail. The default is to assume Rmail. There's no magic to determine what mail reader is currently active, so it is not possible to mix using uce.el with Rmail and Gnus.
author Richard M. Stallman <rms@gnu.org>
date Tue, 09 Jun 1998 23:40:56 +0000
parents f44ff2c52fac
children 4f315ca65976
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
1 ;;; ediff-merg.el --- merging utilities
14169
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 14040
diff changeset
2
18054
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
3 ;; Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
4
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
5 ;; Author: Michael Kifer <kifer@cs.sunysb.edu>
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
6
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
7 ;; This file is part of GNU Emacs.
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
8
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
9 ;; GNU Emacs is free software; you can redistribute it and/or modify
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
10 ;; it under the terms of the GNU General Public License as published by
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
11 ;; the Free Software Foundation; either version 2, or (at your option)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
12 ;; any later version.
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
13
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
14 ;; GNU Emacs is distributed in the hope that it will be useful,
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
15 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
16 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
17 ;; GNU General Public License for more details.
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
18
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
19 ;; You should have received a copy of the GNU General Public License
14169
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 14040
diff changeset
20 ;; along with GNU Emacs; see the file COPYING. If not, write to the
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 14040
diff changeset
21 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 14040
diff changeset
22 ;; Boston, MA 02111-1307, USA.
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
23
14169
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 14040
diff changeset
24 ;;; Code:
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
25
18054
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
26 (provide 'ediff-merg)
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
27
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
28 ;; compiler pacifier
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
29 (defvar ediff-window-A)
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
30 (defvar ediff-window-B)
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
31 (defvar ediff-window-C)
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
32 (defvar ediff-merge-window-share)
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
33 (defvar ediff-window-config-saved)
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
34
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
35 (eval-when-compile
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
36 (let ((load-path (cons (expand-file-name ".") load-path)))
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
37 (or (featurep 'ediff-init)
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
38 (load "ediff-init.el" nil nil 'nosuffix))
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
39 (or (featurep 'ediff-util)
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
40 (load "ediff-util.el" nil nil 'nosuffix))
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
41 ))
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
42 ;; end pacifier
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
43
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
44 (require 'ediff-init)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
45
18839
1405083241e8 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 18054
diff changeset
46 (defcustom ediff-quit-merge-hook 'ediff-maybe-save-and-delete-merge
1405083241e8 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 18054
diff changeset
47 "*Hooks to run before quitting a merge job.
1405083241e8 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 18054
diff changeset
48 The most common use is to save and delete the merge buffer."
1405083241e8 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 18054
diff changeset
49 :type 'hook
1405083241e8 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 18054
diff changeset
50 :group 'ediff-merge)
1405083241e8 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 18054
diff changeset
51
15480
43a3308fcf61 *** empty log message ***
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 14582
diff changeset
52
18054
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
53 (defcustom ediff-default-variant 'combined
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
54 "*The variant to be used as a default for buffer C in merging.
18054
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
55 Valid values are the symbols `default-A', `default-B', and `combined'."
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
56 :type '(radio (const default-A) (const default-B) (const combined))
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
57 :group 'ediff-merge)
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
58
18054
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
59 (defcustom ediff-combination-pattern
14582
c768f6d7daaa *** empty log message ***
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 14169
diff changeset
60 '("<<<<<<<<<<<<<< variant A" ">>>>>>>>>>>>>> variant B" "======= end of combination")
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
61 "*Pattern to be used for combining difference regions in buffers A and B.
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
62 The value is (STRING1 STRING2 STRING3). The combined text will look like this:
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
63
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
64 STRING1
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
65 diff region from variant A
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
66 STRING2
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
67 diff region from variant B
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
68 STRING3
18054
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
69 "
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
70 :type '(list string string string)
0b9d9cbf3cd4 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 16248
diff changeset
71 :group 'ediff-merge)
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
72
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
73 (ediff-defvar-local ediff-show-clashes-only nil
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
74 "*If t, show only those diff regions where both buffers disagree with the ancestor.
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
75 This means that regions that have status prefer-A or prefer-B will be
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
76 skiped over. Nil means show all regions.")
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
77
20003
9bc6a4017c8c new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 19047
diff changeset
78 ;; If ediff-show-clashes-only, check if there is no clash between the ancestor
9bc6a4017c8c new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 19047
diff changeset
79 ;; and one of the variants.
9bc6a4017c8c new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 19047
diff changeset
80 (defsubst ediff-merge-region-is-non-clash (n)
9bc6a4017c8c new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 19047
diff changeset
81 (and ediff-show-clashes-only
9bc6a4017c8c new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 19047
diff changeset
82 (string-match "prefer" (or (ediff-get-state-of-merge n) ""))))
9bc6a4017c8c new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 19047
diff changeset
83
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
84
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
85 (defsubst ediff-get-combined-region (n)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
86 (concat (nth 0 ediff-combination-pattern) "\n"
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
87 (ediff-get-region-contents n 'A ediff-control-buffer)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
88 (nth 1 ediff-combination-pattern) "\n"
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
89 (ediff-get-region-contents n 'B ediff-control-buffer)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
90 (nth 2 ediff-combination-pattern) "\n"))
13216
b9dc8cc658d5 Moved defsubsts up.
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 13129
diff changeset
91
b9dc8cc658d5 Moved defsubsts up.
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 13129
diff changeset
92 (defsubst ediff-make-combined-diff (regA regB)
b9dc8cc658d5 Moved defsubsts up.
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 13129
diff changeset
93 (concat (nth 0 ediff-combination-pattern) "\n"
b9dc8cc658d5 Moved defsubsts up.
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 13129
diff changeset
94 regA
b9dc8cc658d5 Moved defsubsts up.
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 13129
diff changeset
95 (nth 1 ediff-combination-pattern) "\n"
b9dc8cc658d5 Moved defsubsts up.
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 13129
diff changeset
96 regB
b9dc8cc658d5 Moved defsubsts up.
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 13129
diff changeset
97 (nth 2 ediff-combination-pattern) "\n"))
b9dc8cc658d5 Moved defsubsts up.
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 13129
diff changeset
98
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
99 (defsubst ediff-set-state-of-all-diffs-in-all-buffers (ctl-buf)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
100 (let ((n 0))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
101 (while (< n ediff-number-of-differences)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
102 (ediff-set-state-of-diff-in-all-buffers n ctl-buf)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
103 (setq n (1+ n)))))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
104
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
105 (defun ediff-set-state-of-diff-in-all-buffers (n ctl-buf)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
106 (let ((regA (ediff-get-region-contents n 'A ctl-buf))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
107 (regB (ediff-get-region-contents n 'B ctl-buf))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
108 (regC (ediff-get-region-contents n 'C ctl-buf)))
12167
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
109 (cond ((and (string= regA regB) (string= regA regC))
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
110 (ediff-set-state-of-diff n 'A "=diff(B)")
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
111 (ediff-set-state-of-diff n 'B "=diff(C)")
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
112 (ediff-set-state-of-diff n 'C "=diff(A)"))
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
113 ((string= regA regB)
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
114 (ediff-set-state-of-diff n 'A "=diff(B)")
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
115 (ediff-set-state-of-diff n 'B "=diff(A)")
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
116 (ediff-set-state-of-diff n 'C nil))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
117 ((string= regA regC)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
118 (ediff-set-state-of-diff n 'A "=diff(C)")
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
119 (ediff-set-state-of-diff n 'C "=diff(A)")
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
120 (ediff-set-state-of-diff n 'B nil))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
121 ((string= regB regC)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
122 (ediff-set-state-of-diff n 'C "=diff(B)")
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
123 (ediff-set-state-of-diff n 'B "=diff(C)")
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
124 (ediff-set-state-of-diff n 'A nil))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
125 ((string= regC (ediff-get-combined-region n))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
126 (ediff-set-state-of-diff n 'A nil)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
127 (ediff-set-state-of-diff n 'B nil)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
128 (ediff-set-state-of-diff n 'C "=diff(A+B)"))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
129 (t (ediff-set-state-of-diff n 'A nil)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
130 (ediff-set-state-of-diff n 'B nil)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
131 (ediff-set-state-of-diff n 'C nil)))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
132 ))
12167
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
133
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
134 (defun ediff-set-merge-mode ()
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
135 (normal-mode t)
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
136 (remove-hook 'local-write-file-hooks 'ediff-set-merge-mode))
13129
9d432c26c3a7 *** empty log message ***
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 12167
diff changeset
137
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
138
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
139 ;; Go over all diffs starting with DIFF-NUM and copy regions into buffer C
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
140 ;; according to the state of the difference.
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
141 ;; Since ediff-copy-diff refuses to copy identical diff regions, there is
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
142 ;; no need to optimize ediff-do-merge any further.
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
143 ;;
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
144 ;; If re-merging, change state of merge in all diffs starting with
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
145 ;; DIFF-NUM, except those where the state is prefer-* or where it is
12167
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
146 ;; `default-*' or `combined' but the buf C region appears to be modified
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
147 ;; since last set by default.
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
148 (defun ediff-do-merge (diff-num &optional remerging)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
149 (if (< diff-num 0) (setq diff-num 0))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
150 (let ((n diff-num)
15480
43a3308fcf61 *** empty log message ***
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 14582
diff changeset
151 ;;(default-state-of-merge (format "%S" ediff-default-variant))
12167
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
152 do-not-copy state-of-merge)
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
153 (while (< n ediff-number-of-differences)
15480
43a3308fcf61 *** empty log message ***
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 14582
diff changeset
154 (setq do-not-copy nil) ; reset after each cycle
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
155 (if (= (mod n 10) 0)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
156 (message "%s buffers A & B into C ... region %d of %d"
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
157 (if remerging "Re-merging" "Merging")
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
158 n
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
159 ediff-number-of-differences))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
160
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
161 (setq state-of-merge (ediff-get-state-of-merge n))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
162
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
163 (if remerging
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
164 (let ((reg-A (ediff-get-region-contents n 'A ediff-control-buffer))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
165 (reg-B (ediff-get-region-contents n 'B ediff-control-buffer))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
166 (reg-C (ediff-get-region-contents n 'C ediff-control-buffer)))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
167
15480
43a3308fcf61 *** empty log message ***
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 14582
diff changeset
168 ;; if region was edited since it was first set by default
12167
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
169 (if (or (and (string= state-of-merge "default-A")
15480
43a3308fcf61 *** empty log message ***
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 14582
diff changeset
170 (not (string= reg-A reg-C)))
12167
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
171 ;; was edited since first set by default
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
172 (and (string= state-of-merge "default-B")
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
173 (not (string= reg-B reg-C)))
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
174 ;; was edited since first set by default
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
175 (and (string= state-of-merge "combined")
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
176 (not (string=
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
177 (ediff-make-combined-diff reg-A reg-B) reg-C)))
14040
187735b53d52 Comment fixes.
Karl Heuer <kwzh@gnu.org>
parents: 13216
diff changeset
178 ;; was preferred--ignore
12167
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
179 (string-match "prefer" state-of-merge))
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
180 (setq do-not-copy t))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
181
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
182 ;; change state of merge for this diff, if necessary
12167
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
183 (if (and (string-match "\\(default\\|combined\\)" state-of-merge)
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
184 (not do-not-copy))
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
185 (ediff-set-state-of-merge
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
186 n (format "%S" ediff-default-variant)))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
187 ))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
188
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
189 ;; state-of-merge may have changed via ediff-set-state-of-merge, so
12167
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
190 ;; check it once again
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
191 (setq state-of-merge (ediff-get-state-of-merge n))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
192
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
193 (or do-not-copy
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
194 (if (string= state-of-merge "combined")
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
195 ;; use n+1 because ediff-combine-diffs works via user numbering
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
196 ;; of diffs, which is 1+ to what ediff uses internally
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
197 (ediff-combine-diffs (1+ n) 'batch)
12167
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
198 (ediff-copy-diff
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
199 n (if (string-match "-A" state-of-merge) 'A 'B) 'C 'batch)))
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
200 (setq n (1+ n)))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
201 (message "Merging buffers A & B into C ... Done")
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
202 ))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
203
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
204
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
205 (defun ediff-re-merge ()
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
206 "Remerge unmodified diff regions using a new default. Start with the current region."
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
207 (interactive)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
208 (let* ((default-variant-alist
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
209 (list '("default-A") '("default-B") '("combined")))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
210 (actual-alist
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
211 (delete (list (symbol-name ediff-default-variant))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
212 default-variant-alist)))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
213 (setq ediff-default-variant
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
214 (intern
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
215 (completing-read
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
216 (format "Current merge default is `%S'. New default: "
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
217 ediff-default-variant)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
218 actual-alist nil 'must-match)))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
219 (ediff-do-merge ediff-current-difference 'remerge)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
220 (ediff-recenter)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
221 ))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
222
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
223 (defun ediff-shrink-window-C (arg)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
224 "Shrink window C to just one line.
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
225 With a prefix argument, returns window C to its normal size.
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
226 Used only for merging jobs."
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
227 (interactive "P")
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
228 (if (not ediff-merge-job)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
229 (error "ediff-shrink-window-C can be used only for merging jobs"))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
230 (cond ((eq arg '-) (setq arg -1))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
231 ((not (numberp arg)) (setq arg nil)))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
232 (cond ((null arg)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
233 (let ((ediff-merge-window-share
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
234 (if (< (window-height ediff-window-C) 3)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
235 ediff-merge-window-share 0)))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
236 (setq ediff-window-config-saved "") ; force redisplay
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
237 (ediff-recenter 'no-rehighlight)))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
238 ((and (< arg 0) (> (window-height ediff-window-C) 2))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
239 (setq ediff-merge-window-share (* ediff-merge-window-share 0.9))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
240 (setq ediff-window-config-saved "") ; force redisplay
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
241 (ediff-recenter 'no-rehighlight))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
242 ((and (> arg 0) (> (window-height ediff-window-A) 2))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
243 (setq ediff-merge-window-share (* ediff-merge-window-share 1.1))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
244 (setq ediff-window-config-saved "") ; force redisplay
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
245 (ediff-recenter 'no-rehighlight))))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
246
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
247
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
248 ;; N here is the user's region number. It is 1+ what Ediff uses internally.
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
249 (defun ediff-combine-diffs (n &optional batch-invocation)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
250 "Combine Nth diff regions of buffers A and B and place the combination in C.
14582
c768f6d7daaa *** empty log message ***
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 14169
diff changeset
251 N is a prefix argument. If nil, combine the current difference regions.
c768f6d7daaa *** empty log message ***
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 14169
diff changeset
252 Combining is done according to the specifications in variable
c768f6d7daaa *** empty log message ***
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 14169
diff changeset
253 `ediff-combination-pattern'."
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
254 (interactive "P")
14582
c768f6d7daaa *** empty log message ***
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 14169
diff changeset
255 (setq n (if (numberp n) (1- n) ediff-current-difference))
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
256
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
257 (let (regA regB reg-combined)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
258 (setq regA (ediff-get-region-contents n 'A ediff-control-buffer)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
259 regB (ediff-get-region-contents n 'B ediff-control-buffer))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
260
12167
87f8b79217b3 Converted xemacs *screen* nomenclature to *frame*.
Karl Heuer <kwzh@gnu.org>
parents: 11234
diff changeset
261 (setq reg-combined (ediff-make-combined-diff regA regB))
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
262
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
263 (ediff-copy-diff n nil 'C batch-invocation reg-combined))
14582
c768f6d7daaa *** empty log message ***
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 14169
diff changeset
264 (or batch-invocation (ediff-jump-to-difference (1+ n))))
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
265
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
266
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
267 ;; Checks if the region in buff C looks like a combination of the regions
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
268 ;; in buffers A and B. Returns a list (reg-a-beg reg-a-end reg-b-beg reg-b-end)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
269 ;; These refer to where the copies of region A and B start and end in buffer C
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
270 (defun ediff-looks-like-combined-merge (region-num)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
271 (if ediff-merge-job
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
272 (let ((combined (string-match (regexp-quote "(A+B)")
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
273 (or (ediff-get-state-of-diff region-num 'C)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
274 "")))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
275 (reg-beg (ediff-get-diff-posn 'C 'beg region-num))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
276 (reg-end (ediff-get-diff-posn 'C 'end region-num))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
277 (pat1 (nth 0 ediff-combination-pattern))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
278 (pat2 (nth 1 ediff-combination-pattern))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
279 (pat3 (nth 2 ediff-combination-pattern))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
280 reg-a-beg reg-a-end reg-b-beg reg-b-end reg-c-beg reg-c-end)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
281
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
282 (if combined
19047
f90d40b0bff5 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 18839
diff changeset
283 (ediff-with-current-buffer ediff-buffer-C
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
284 (goto-char reg-beg)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
285 (search-forward pat1 reg-end 'noerror)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
286 (setq reg-a-beg (match-beginning 0))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
287 (setq reg-a-end (match-end 0))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
288 (search-forward pat2 reg-end 'noerror)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
289 (setq reg-b-beg (match-beginning 0))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
290 (setq reg-b-end (match-end 0))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
291 (search-forward pat3 reg-end 'noerror)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
292 (setq reg-c-beg (match-beginning 0))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
293 (setq reg-c-end (match-end 0))))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
294
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
295 (if (and reg-a-beg reg-a-end reg-b-beg reg-b-end)
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
296 (list reg-a-beg reg-a-end reg-b-beg reg-b-end reg-c-beg reg-c-end))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
297 )))
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
298
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
299
16248
b2fae8abc5b0 *** empty log message ***
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 15480
diff changeset
300 ;;; Local Variables:
b2fae8abc5b0 *** empty log message ***
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 15480
diff changeset
301 ;;; eval: (put 'ediff-defvar-local 'lisp-indent-hook 'defun)
19047
f90d40b0bff5 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 18839
diff changeset
302 ;;; eval: (put 'ediff-with-current-buffer 'lisp-indent-hook 1)
f90d40b0bff5 new version
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 18839
diff changeset
303 ;;; eval: (put 'ediff-with-current-buffer 'edebug-form-spec '(form body))
16248
b2fae8abc5b0 *** empty log message ***
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 15480
diff changeset
304 ;;; End:
b2fae8abc5b0 *** empty log message ***
Michael Kifer <kifer@cs.stonybrook.edu>
parents: 15480
diff changeset
305
11042
57316020d271 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
306 ;; ediff-merg.el ends here