Source

ediff / ediff-merg.el

Diff from to

File ediff-merg.el

   :type '(radio (const default-A) (const default-B) (const combined))
   :group 'ediff-merge)
 
-(defcustom ediff-combination-pattern 
+(defcustom ediff-combination-pattern
   '("<<<<<<< variant A" A ">>>>>>> variant B" B  "####### Ancestor" Ancestor "======= end")
   "*Pattern to be used for combining difference regions in buffers A and B.
-The value must be a list of the form 
+The value must be a list of the form
 (STRING1 bufspec1  STRING2 bufspec2 STRING3 bufspec3 STRING4)
 where bufspec is the symbol A, B, or Ancestor. For instance, if the value is
 '(STRING1 A  STRING2 Ancestor STRING3 B STRING4) then the
 A region is considered to have been changed if it is different from the current
 default (`default-A', `default-B', `combined') and it hasn't been marked as
 `prefer-A' or `prefer-B'.
-A region is considered to have been changed also when it is marked as 
+A region is considered to have been changed also when it is marked as
 as `prefer-A', but is different from the corresponding difference region in
 Buffer A or if it is marked as `prefer-B' and is different from the region in
 Buffer B."
 ;; If ediff-skip-changed-regions, check if the merge region differs from
 ;; the current default. If a region is different from the default, it means
 ;; that the user has made determination as to how to merge for this particular
-;; region. 
+;; region.
 (defsubst ediff-skip-merge-region-if-changed-from-default-p (n)
   (and ediff-skip-merge-regions-that-differ-from-default
        (ediff-merge-changed-from-default-p n 'prefers-too)))
 	  (setq combo-region
 		(concat combo-region
 			region-delim "\n"
-			(ediff-get-region-contents 
+			(ediff-get-region-contents
 			 n region-spec ediff-control-buffer)))
 	(error ""))
       (setq pattern-list (cdr (cdr pattern-list)))
     (while (< n ediff-number-of-differences)
       (ediff-set-state-of-diff-in-all-buffers n ctl-buf)
       (setq n (1+ n)))))
-     
+
 (defun ediff-set-state-of-diff-in-all-buffers (n ctl-buf)
   (let ((regA (ediff-get-region-contents n 'A ctl-buf))
 	(regB (ediff-get-region-contents n 'B ctl-buf))
 	     (ediff-set-state-of-diff n 'B nil)
 	     (ediff-set-state-of-diff n 'C nil)))
     ))
-    
+
 (defun ediff-set-merge-mode ()
   (normal-mode t)
   (remove-hook 'local-write-file-hooks 'ediff-set-merge-mode))
 
-	
+
 ;; Go over all diffs starting with DIFF-NUM and copy regions into buffer C
 ;; according to the state of the difference.
 ;; Since ediff-copy-diff refuses to copy identical diff regions, there is
 		   (if remerging "Re-merging" "Merging")
 		   n
 		   ediff-number-of-differences))
-	     
+
       (setq state-of-merge (ediff-get-state-of-merge n))
 
       (if remerging
 	  ;;	(reg-B (ediff-get-region-contents n 'B ediff-control-buffer))
 	  ;;	(reg-C (ediff-get-region-contents n 'C ediff-control-buffer)))
 	  (let ()
-		
+
 	    ;; if region was edited since it was first set by default
 	    (if (or (ediff-merge-changed-from-default-p n)
 		    ;; was preferred
 		    (string-match "prefer" state-of-merge))
 		;; then ignore
 		(setq do-not-copy t))
-		
+
 	    ;; change state of merge for this diff, if necessary
 	    (if (and (string-match "\\(default\\|combined\\)" state-of-merge)
 		     (not do-not-copy))
 		(ediff-set-state-of-merge
 		 n (format "%S" ediff-default-variant)))
 	    ))
-	  
+
       ;; state-of-merge may have changed via ediff-set-state-of-merge, so
       ;; check it once again
       (setq state-of-merge (ediff-get-state-of-merge n))
-      
+
       (or do-not-copy
 	  (if (string= state-of-merge "combined")
 	      ;; use n+1 because ediff-combine-diffs works via user numbering
 	      ;; of diffs, which is 1+ to what ediff uses internally
 	      (ediff-combine-diffs (1+ n) 'batch)
-	    (ediff-copy-diff 
+	    (ediff-copy-diff
 	     n (if (string-match "-A" state-of-merge) 'A 'B) 'C 'batch)))
       (setq n (1+ n)))
     (message "Merging buffers A & B into C ... Done")
     ))
-    
+
 
 (defun ediff-re-merge ()
   "Remerge unmodified diff regions using a new default.  Start with the current region."
 		  default-variant-alist)))
     (setq ediff-default-variant
 	  (intern
-	   (completing-read 
+	   (completing-read
 	    (format "Current merge default is `%S'.  New default: "
 		    ediff-default-variant)
 	    actual-alist nil 'must-match)))
     (ediff-do-merge ediff-current-difference 'remerge)
     (ediff-recenter)
   ))
-    
+
 (defun ediff-shrink-window-C (arg)
   "Shrink window C to just one line.
 With a prefix argument, returns window C to its normal size.
 `ediff-combination-pattern'."
   (interactive "P")
   (setq n (if (numberp n) (1- n) ediff-current-difference))
-  
+
   (let (reg-combined)
     ;;(setq regA (ediff-get-region-contents n 'A ediff-control-buffer)
     ;;	  regB (ediff-get-region-contents n 'B ediff-control-buffer))
     ;;(setq reg-combined (ediff-make-combined-diff regA regB))
     (setq reg-combined (ediff-get-combined-region n))
-    
+
     (ediff-copy-diff n nil 'C batch-invocation reg-combined))
     (or batch-invocation (ediff-jump-to-difference (1+ n))))
-    
+
 
 ;; Checks if the region in buff C looks like a combination of the regions
 ;; in buffers A and B.  Return a list (reg-a-beg reg-a-end reg-b-beg reg-b-end)
 	    (mrgreg-end (ediff-get-diff-posn 'C 'end region-num))
 	    (pattern-list ediff-combination-pattern)
 	    delim reg-beg reg-end delim-regs-list)
-	
+
 	(if combined
 	    (ediff-with-current-buffer ediff-buffer-C
 	      (while pattern-list
 	(reg-C (ediff-get-region-contents diff-num 'C ediff-control-buffer)))
 
     (setq state-of-merge (ediff-get-state-of-merge diff-num))
-		
+
     ;; if region was edited since it was first set by default
     (or (and (string= state-of-merge "default-A")
 	     (not (string= reg-A reg-C)))
 	     (string= state-of-merge "prefer-B")
 	     (not (string= reg-B reg-C)))
 	)))
-  
+
 
 ;;; Local Variables:
 ;;; eval: (put 'ediff-defvar-local 'lisp-indent-hook 'defun)