* 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.
*** diff-refine-hunk highlights word-level details of changes in a diff hunk.
It's used automatically as you move through hunks, see
-diff-auto-refine. It is bound to `C-c C-b'.
+diff-auto-refine-mode. It is bound to `C-c C-b'.
*** diff-add-change-log-entries-other-window iterates through the diff
buffer and tries to create ChangeLog entries for each change.
*** sgml-electric-tag-pair-mode lets you simultaneously edit matched tag pairs.
*** smerge-refine highlights word-level details of changes in conflict.
-It's used automatically as you move through conflicts, see smerge-auto-refine.
+It's used automatically as you move through conflicts, see
+smerge-auto-refine-mode.
*** talk.el has been extended for multiple tty support.
+2008-07-21 Thien-Thi Nguyen <ttn@gnuvola.org>
+
+ * 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.
+
2008-07-21 Chong Yidong <cyd@stupidchicken.com>
* simple.el (visual-line): New custom group.
:type 'boolean
:group 'diff-mode)
-(defcustom diff-auto-refine t
- "Automatically highlight changes in detail as the user visits hunks."
- :type 'boolean
- :group 'diff-mode)
-
(defcustom diff-mode-hook nil
"Run after setting up the `diff-mode' major mode."
:type 'hook
`((,diff-minor-mode-prefix . ,diff-mode-shared-map))
"Keymap for `diff-minor-mode'. See also `diff-mode-shared-map'.")
+(define-minor-mode diff-auto-refine-mode
+ "Automatically highlight changes in detail as the user visits hunks.
+When transitioning from disabled to enabled,
+try to refine the current hunk, as well."
+ :group 'diff-mode :init-value t :lighter " Auto-Refine"
+ (when diff-auto-refine-mode
+ (condition-case-no-debug nil (diff-refine-hunk) (error nil))))
;;;;
;;;; font-lock support
;; Define diff-{hunk,file}-{prev,next}
(easy-mmode-define-navigation
diff-hunk diff-hunk-header-re "hunk" diff-end-of-hunk diff-restrict-view
- (if diff-auto-refine
+ (if diff-auto-refine-mode
(condition-case-no-debug nil (diff-refine-hunk) (error nil))))
(easy-mmode-define-navigation
;;; Code:
-(eval-when-compile (require 'cl))
+(eval-when-compile (require 'cl) (require 'diff-mode))
;;; The real definition comes later.
:group 'smerge
:type 'boolean)
-(defcustom smerge-auto-refine t
- "Automatically highlight changes in detail as the user visits conflicts."
- :group 'smerge
- :type 'boolean)
-
(defface smerge-mine
'((((min-colors 88) (background light))
(:foreground "blue1"))
;; Define smerge-next and smerge-prev
(easy-mmode-define-navigation smerge smerge-begin-re "conflict" nil nil
- (if smerge-auto-refine
+ (if diff-auto-refine-mode
(condition-case nil (smerge-refine) (error nil))))
(defconst smerge-match-names ["conflict" "mine" "base" "other"])