diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2007-10-20 01:52:22 +0000 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2007-10-20 01:52:22 +0000 |
commit | 2daf4bc6670f7a8004cf25c367888102190b4214 (patch) | |
tree | 9d5f3129b4a0983b3fa9acee258f32aa1fe51bdb /lisp/smerge-mode.el | |
parent | 05849e2ab9213987e862245a06eec37223ee2c36 (diff) | |
download | emacs-2daf4bc6670f7a8004cf25c367888102190b4214.tar.gz |
(smerge-auto-refine): New var.
(smerge-next, smerge-prev): Use it.
(smerge-batch-resolve): Ad-hoc trick for Arch's .rej files.
Diffstat (limited to 'lisp/smerge-mode.el')
-rw-r--r-- | lisp/smerge-mode.el | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/lisp/smerge-mode.el b/lisp/smerge-mode.el index a33d21925b7..16693f8a5e3 100644 --- a/lisp/smerge-mode.el +++ b/lisp/smerge-mode.el @@ -79,6 +79,10 @@ Used in `smerge-diff-base-mine' and related functions." :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 @@ Can be nil if the style is undecided, or else: ;;;; ;; 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 @@ some major modes. Uses `smerge-resolve-function' to do the actual work." (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) |