Function: diff-auto-refine-mode

diff-auto-refine-mode is an interactive and byte-compiled function defined in diff-mode.el.gz.

This command is obsolete since 27.1; set diff-refine instead.

Signature

(diff-auto-refine-mode &optional ARG)

Documentation

Toggle automatic diff hunk finer highlighting (Diff Auto Refine mode).

Diff Auto Refine mode is a buffer-local minor mode used with diff-mode. When enabled, Emacs automatically highlights changes in detail as the user visits hunks. When transitioning from disabled to enabled, it tries to refine the current hunk, as well.

This is a minor mode. If called interactively, toggle the Diff-Auto-Refine mode mode. If the prefix argument is positive, enable the mode, and if it is zero or negative, disable the mode.

If called from Lisp, toggle the mode if ARG is toggle. Enable the mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number.

To check whether the minor mode is enabled in the current buffer, evaluate the variable diff-auto-refine-mode(var)/diff-auto-refine-mode(fun).

The mode's hook is called both when the mode is enabled and when it is disabled.

Probably introduced at or before Emacs version 23.1.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/vc/diff-mode.el.gz
(with-suppressed-warnings ((obsolete diff-auto-refine-mode))
  (define-minor-mode diff-auto-refine-mode
    "Toggle automatic diff hunk finer highlighting (Diff Auto Refine mode).

Diff Auto Refine mode is a buffer-local minor mode used with
`diff-mode'.  When enabled, Emacs automatically highlights
changes in detail as the user visits hunks.  When transitioning
from disabled to enabled, it tries to refine the current hunk, as
well."
    :group 'diff-mode :init-value nil :lighter nil ;; " Auto-Refine"
    (if diff-auto-refine-mode
        (progn
          (customize-set-variable 'diff-refine 'navigation)
          (condition-case-unless-debug nil (diff-refine-hunk) (error nil)))
      (customize-set-variable 'diff-refine nil))))