Mercurial > emacs
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") |