From: Dmitry Gutov Date: Sun, 1 Jul 2012 20:31:37 +0000 (+0400) Subject: Don't overload vc-diff-revert, bind to "C-x v n" instead X-Git-Url: https://code.delx.au/gnu-emacs-elpa/commitdiff_plain/16c512c04c8e468731d145a180554723ca762705 Don't overload vc-diff-revert, bind to "C-x v n" instead --- diff --git a/diff-hl.el b/diff-hl.el index 6d270f407..85429d99b 100644 --- a/diff-hl.el +++ b/diff-hl.el @@ -55,12 +55,6 @@ :group 'diff-hl :type 'boolean) -(defcustom diff-hl-revert-current-hunk t - "Non-nil to only revert current hunk by default. -`diff-hl-revert' will do the opposite when called with prefix argument." - :group 'diff-hl - :type 'boolean) - (defun diff-hl-define-bitmaps () (let* ((scale (if (and (boundp 'text-scale-mode-amount) (plusp text-scale-mode-amount)) @@ -225,41 +219,40 @@ in the source file, or the last line of the hunk above it." (unless (looking-at "^-") (decf to-go)))))))))) -(defun diff-hl-revert (arg) - (interactive "P") - (if (not (diff-xor arg diff-hl-revert-current-hunk)) - (vc-revert) - (vc-buffer-sync) - (let ((diff-buffer (generate-new-buffer-name "*diff-hl*")) - (buffer (current-buffer)) - (line (line-number-at-pos)) - (fileset (vc-deduce-fileset))) - (unwind-protect - (progn - (diff-hl-with-diff-switches - (vc-diff-internal nil fileset nil nil nil diff-buffer)) - (vc-exec-after - `(progn - (when (eobp) - (with-current-buffer ,buffer (diff-hl-remove-overlays)) - (error "Buffer is up-to-date")) - (diff-hl-diff-skip-to ,line) - (save-restriction - (diff-restrict-view) - (unless (yes-or-no-p (format "Revert current hunk in %s?" - ,(caadr fileset))) - (error "Revert canceled"))) - (let ((diff-advance-after-apply-hunk nil)) - (diff-apply-hunk t))))) - (quit-windows-on diff-buffer) - (save-buffer) - (message "Hunk reverted"))))) +(defun diff-hl-revert-hunk () + (interactive) + (vc-buffer-sync) + (let ((diff-buffer (generate-new-buffer-name "*diff-hl*")) + (buffer (current-buffer)) + (line (line-number-at-pos)) + (fileset (vc-deduce-fileset))) + (unwind-protect + (progn + (diff-hl-with-diff-switches + (vc-diff-internal nil fileset nil nil nil diff-buffer)) + (vc-exec-after + `(progn + (when (eobp) + (with-current-buffer ,buffer (diff-hl-remove-overlays)) + (error "Buffer is up-to-date")) + (diff-hl-diff-skip-to ,line) + (save-restriction + (diff-restrict-view) + (unless (yes-or-no-p (format "Revert current hunk in %s?" + ,(caadr fileset))) + (error "Revert canceled"))) + (let ((diff-advance-after-apply-hunk nil)) + (diff-apply-hunk t)) + (with-current-buffer ,buffer + (save-buffer)) + (message "Hunk reverted")))) + (quit-windows-on diff-buffer)))) ;;;###autoload (define-minor-mode diff-hl-mode "Toggle display of VC diff indicators in the left fringe." - :lighter "" :keymap '(([remap vc-diff] . diff-hl-diff-goto-hunk) - ([remap vc-revert] . diff-hl-revert)) + :lighter "" :keymap `(([remap vc-diff] . diff-hl-diff-goto-hunk) + (,(kbd "C-x v n") . diff-hl-revert-hunk)) (if diff-hl-mode (progn (add-hook 'after-save-hook 'diff-hl-update nil t)