[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/smerge-mode.el,v
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/smerge-mode.el,v |
Date: |
Sat, 20 Oct 2007 01:52:23 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Stefan Monnier <monnier> 07/10/20 01:52:23
Index: smerge-mode.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/smerge-mode.el,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -b -r1.54 -r1.55
--- smerge-mode.el 19 Oct 2007 15:59:12 -0000 1.54
+++ smerge-mode.el 20 Oct 2007 01:52:21 -0000 1.55
@@ -79,6 +79,10 @@
:group 'smerge
:type 'boolean)
+(defcustom smerge-auto-refine t
+ "Automatically highlight changes in detail as the user visits conflicts."
+ :type 'boolean)
+
(defface smerge-mine
'((((min-colors 88) (background light))
(:foreground "blue1"))
@@ -252,7 +256,9 @@
;;;;
;; Define smerge-next and smerge-prev
-(easy-mmode-define-navigation smerge smerge-begin-re "conflict")
+(easy-mmode-define-navigation smerge smerge-begin-re "conflict" nil nil
+ (if smerge-auto-refine
+ (condition-case nil (smerge-refine) (error nil))))
(defconst smerge-match-names ["conflict" "mine" "base" "other"])
@@ -433,6 +439,12 @@
(error "`smerge-batch-resolve' is to be used only with -batch"))
(while command-line-args-left
(let ((file (pop command-line-args-left)))
+ (if (string-match "\\.rej\\'" file)
+ ;; .rej files should never contain diff3 markers, on the other hand,
+ ;; in Arch, .rej files are sometimes used to indicate that the
+ ;; main file has diff3 markers. So you can pass **/*.rej and
+ ;; it will DTRT.
+ (setq file (substring file 0 (match-beginning 0))))
(message "Resolving conflicts in %s..." file)
(when (file-readable-p file)
(with-current-buffer (find-file-noselect file)