comparison lisp/ediff-merg.el @ 15480:43a3308fcf61

*** empty log message ***
author Michael Kifer <kifer@cs.stonybrook.edu>
date Sat, 22 Jun 1996 01:54:34 +0000
parents c768f6d7daaa
children b2fae8abc5b0
comparison
equal deleted inserted replaced
15479:78863db629bb 15480:43a3308fcf61
1 ;;; ediff-merg.el --- merging utilities 1 ;;; ediff-merg.el --- merging utilities
2 2
3 ;; Copyright (C) 1994, 1995 Free Software Foundation, Inc. 3 ;; Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
4 4
5 ;; Author: Michael Kifer <kifer@cs.sunysb.edu> 5 ;; Author: Michael Kifer <kifer@cs.sunysb.edu>
6 6
7 ;; This file is part of GNU Emacs. 7 ;; This file is part of GNU Emacs.
8 8
22 ;; Boston, MA 02111-1307, USA. 22 ;; Boston, MA 02111-1307, USA.
23 23
24 ;;; Code: 24 ;;; Code:
25 25
26 (require 'ediff-init) 26 (require 'ediff-init)
27
27 28
28 (defvar ediff-default-variant 'combined 29 (defvar ediff-default-variant 'combined
29 "*The variant to be used as a default for buffer C in merging. 30 "*The variant to be used as a default for buffer C in merging.
30 Valid values are the symbols `default-A', `default-B', and `combined'.") 31 Valid values are the symbols `default-A', `default-B', and `combined'.")
31 32
112 ;; `default-*' or `combined' but the buf C region appears to be modified 113 ;; `default-*' or `combined' but the buf C region appears to be modified
113 ;; since last set by default. 114 ;; since last set by default.
114 (defun ediff-do-merge (diff-num &optional remerging) 115 (defun ediff-do-merge (diff-num &optional remerging)
115 (if (< diff-num 0) (setq diff-num 0)) 116 (if (< diff-num 0) (setq diff-num 0))
116 (let ((n diff-num) 117 (let ((n diff-num)
117 (default-state-of-merge (format "%S" ediff-default-variant)) 118 ;;(default-state-of-merge (format "%S" ediff-default-variant))
118 do-not-copy state-of-merge) 119 do-not-copy state-of-merge)
119 (while (< n ediff-number-of-differences) 120 (while (< n ediff-number-of-differences)
121 (setq do-not-copy nil) ; reset after each cycle
120 (if (= (mod n 10) 0) 122 (if (= (mod n 10) 0)
121 (message "%s buffers A & B into C ... region %d of %d" 123 (message "%s buffers A & B into C ... region %d of %d"
122 (if remerging "Re-merging" "Merging") 124 (if remerging "Re-merging" "Merging")
123 n 125 n
124 ediff-number-of-differences)) 126 ediff-number-of-differences))
128 (if remerging 130 (if remerging
129 (let ((reg-A (ediff-get-region-contents n 'A ediff-control-buffer)) 131 (let ((reg-A (ediff-get-region-contents n 'A ediff-control-buffer))
130 (reg-B (ediff-get-region-contents n 'B ediff-control-buffer)) 132 (reg-B (ediff-get-region-contents n 'B ediff-control-buffer))
131 (reg-C (ediff-get-region-contents n 'C ediff-control-buffer))) 133 (reg-C (ediff-get-region-contents n 'C ediff-control-buffer)))
132 134
133 ;;; was edited since first set by default 135 ;; if region was edited since it was first set by default
134 (if (or (and (string= state-of-merge "default-A") 136 (if (or (and (string= state-of-merge "default-A")
135 (not (string= reg-A reg-C))) 137 (not (string= reg-A reg-C)))
136 ;; was edited since first set by default 138 ;; was edited since first set by default
137 (and (string= state-of-merge "default-B") 139 (and (string= state-of-merge "default-B")
138 (not (string= reg-B reg-C))) 140 (not (string= reg-B reg-C)))
139 ;; was edited since first set by default 141 ;; was edited since first set by default
140 (and (string= state-of-merge "combined") 142 (and (string= state-of-merge "combined")