]> code.delx.au - gnu-emacs-elpa/commitdiff
diff-hl-revert-hunk: Refine the right hunk
authorDmitry Gutov <dgutov@yandex.ru>
Tue, 29 Sep 2015 18:46:56 +0000 (21:46 +0300)
committerDmitry Gutov <dgutov@yandex.ru>
Tue, 29 Sep 2015 18:46:56 +0000 (21:46 +0300)
Closes #35

diff-hl.el

index 8790352f10dad28b882affc7d6a474013aa5a3b6..61272d50150f4deddfdbd05b255268cb1ec9da70 100644 (file)
@@ -391,7 +391,8 @@ in the source file, or the last line of the hunk above it."
               (when (eobp)
                 (with-current-buffer ,buffer (diff-hl-remove-overlays))
                 (error "Buffer is up-to-date"))
-              (diff-hl-diff-skip-to ,line)
+              (let (diff-auto-refine-mode)
+                (diff-hl-diff-skip-to ,line))
               (save-excursion
                 (while (looking-at "[-+]") (forward-line 1))
                 (setq end-line (line-number-at-pos (point)))
@@ -406,6 +407,8 @@ in the source file, or the last line of the hunk above it."
                 (if (>= wbh (- end-line beg-line))
                     (recenter (/ (+ wbh (- beg-line end-line) 2) 2))
                   (recenter 1)))
+              (when diff-auto-refine-mode
+                (diff-refine-hunk))
               (unless (yes-or-no-p (format "Revert current hunk in %s?"
                                            ,(cl-caadr fileset)))
                 (error "Revert canceled"))