Mercurial > emacs
comparison lisp/smerge-mode.el @ 96854:b9de9e7dceed
Make auto-refining a minor mode, and diff- and smerge- use it.
* diff-mode.el (diff-auto-refine): Delete defcustom.
(diff-auto-refine-mode): New func/var via define-minor-mode.
Update var ref to use diff-auto-refine-mode.
* smerge-mode.el (diff-mode): Require when compiling.
(smerge-auto-refine): Delete defcustom.
Update smerge-auto-refine ref to use diff-auto-refine-mode.
author | Thien-Thi Nguyen <ttn@gnuvola.org> |
---|---|
date | Mon, 21 Jul 2008 14:20:24 +0000 |
parents | 4ea0e968c7af |
children | 35155d8e5360 |
comparison
equal
deleted
inserted
replaced
96853:89f46e95065e | 96854:b9de9e7dceed |
---|---|
42 | 42 |
43 ;; - if requested, ask the user whether he wants to call ediff right away | 43 ;; - if requested, ask the user whether he wants to call ediff right away |
44 | 44 |
45 ;;; Code: | 45 ;;; Code: |
46 | 46 |
47 (eval-when-compile (require 'cl)) | 47 (eval-when-compile (require 'cl) (require 'diff-mode)) |
48 | 48 |
49 | 49 |
50 ;;; The real definition comes later. | 50 ;;; The real definition comes later. |
51 (defvar smerge-mode) | 51 (defvar smerge-mode) |
52 | 52 |
72 :group 'smerge | 72 :group 'smerge |
73 :type '(repeat string)) | 73 :type '(repeat string)) |
74 | 74 |
75 (defcustom smerge-auto-leave t | 75 (defcustom smerge-auto-leave t |
76 "Non-nil means to leave `smerge-mode' when the last conflict is resolved." | 76 "Non-nil means to leave `smerge-mode' when the last conflict is resolved." |
77 :group 'smerge | |
78 :type 'boolean) | |
79 | |
80 (defcustom smerge-auto-refine t | |
81 "Automatically highlight changes in detail as the user visits conflicts." | |
82 :group 'smerge | 77 :group 'smerge |
83 :type 'boolean) | 78 :type 'boolean) |
84 | 79 |
85 (defface smerge-mine | 80 (defface smerge-mine |
86 '((((min-colors 88) (background light)) | 81 '((((min-colors 88) (background light)) |
257 ;;;; Actual code | 252 ;;;; Actual code |
258 ;;;; | 253 ;;;; |
259 | 254 |
260 ;; Define smerge-next and smerge-prev | 255 ;; Define smerge-next and smerge-prev |
261 (easy-mmode-define-navigation smerge smerge-begin-re "conflict" nil nil | 256 (easy-mmode-define-navigation smerge smerge-begin-re "conflict" nil nil |
262 (if smerge-auto-refine | 257 (if diff-auto-refine-mode |
263 (condition-case nil (smerge-refine) (error nil)))) | 258 (condition-case nil (smerge-refine) (error nil)))) |
264 | 259 |
265 (defconst smerge-match-names ["conflict" "mine" "base" "other"]) | 260 (defconst smerge-match-names ["conflict" "mine" "base" "other"]) |
266 | 261 |
267 (defun smerge-ensure-match (n) | 262 (defun smerge-ensure-match (n) |