]> code.delx.au - gnu-emacs-elpa/commitdiff
Don't overload vc-diff-revert, bind to "C-x v n" instead
authorDmitry Gutov <dgutov@yandex.ru>
Sun, 1 Jul 2012 20:31:37 +0000 (00:31 +0400)
committerDmitry Gutov <dgutov@yandex.ru>
Sun, 1 Jul 2012 20:47:40 +0000 (00:47 +0400)
diff-hl.el

index 6d270f407cc6af485ccb4799c416a77dc53d0e0d..85429d99b019c1efba97856c354fbcf13429445c 100644 (file)
   :group 'diff-hl\r
   :type 'boolean)\r
 \r
-(defcustom diff-hl-revert-current-hunk t\r
-  "Non-nil to only revert current hunk by default.\r
-`diff-hl-revert' will do the opposite when called with prefix argument."\r
-  :group 'diff-hl\r
-  :type 'boolean)\r
-\r
 (defun diff-hl-define-bitmaps ()\r
   (let* ((scale (if (and (boundp 'text-scale-mode-amount)\r
                          (plusp text-scale-mode-amount))\r
@@ -225,41 +219,40 @@ in the source file, or the last line of the hunk above it."
                 (unless (looking-at "^-")\r
                   (decf to-go))))))))))\r
 \r
-(defun diff-hl-revert (arg)\r
-  (interactive "P")\r
-  (if (not (diff-xor arg diff-hl-revert-current-hunk))\r
-      (vc-revert)\r
-    (vc-buffer-sync)\r
-    (let ((diff-buffer (generate-new-buffer-name "*diff-hl*"))\r
-          (buffer (current-buffer))\r
-          (line (line-number-at-pos))\r
-          (fileset (vc-deduce-fileset)))\r
-      (unwind-protect\r
-          (progn\r
-            (diff-hl-with-diff-switches\r
-             (vc-diff-internal nil fileset nil nil nil diff-buffer))\r
-            (vc-exec-after\r
-             `(progn\r
-                (when (eobp)\r
-                  (with-current-buffer ,buffer (diff-hl-remove-overlays))\r
-                  (error "Buffer is up-to-date"))\r
-                (diff-hl-diff-skip-to ,line)\r
-                (save-restriction\r
-                  (diff-restrict-view)\r
-                  (unless (yes-or-no-p (format "Revert current hunk in %s?"\r
-                                               ,(caadr fileset)))\r
-                    (error "Revert canceled")))\r
-                (let ((diff-advance-after-apply-hunk nil))\r
-                  (diff-apply-hunk t)))))\r
-        (quit-windows-on diff-buffer)\r
-        (save-buffer)\r
-        (message "Hunk reverted")))))\r
+(defun diff-hl-revert-hunk ()\r
+  (interactive)\r
+  (vc-buffer-sync)\r
+  (let ((diff-buffer (generate-new-buffer-name "*diff-hl*"))\r
+        (buffer (current-buffer))\r
+        (line (line-number-at-pos))\r
+        (fileset (vc-deduce-fileset)))\r
+    (unwind-protect\r
+        (progn\r
+          (diff-hl-with-diff-switches\r
+           (vc-diff-internal nil fileset nil nil nil diff-buffer))\r
+          (vc-exec-after\r
+           `(progn\r
+              (when (eobp)\r
+                (with-current-buffer ,buffer (diff-hl-remove-overlays))\r
+                (error "Buffer is up-to-date"))\r
+              (diff-hl-diff-skip-to ,line)\r
+              (save-restriction\r
+                (diff-restrict-view)\r
+                (unless (yes-or-no-p (format "Revert current hunk in %s?"\r
+                                             ,(caadr fileset)))\r
+                  (error "Revert canceled")))\r
+              (let ((diff-advance-after-apply-hunk nil))\r
+                (diff-apply-hunk t))\r
+              (with-current-buffer ,buffer\r
+                (save-buffer))\r
+              (message "Hunk reverted"))))\r
+      (quit-windows-on diff-buffer))))\r
 \r
 ;;;###autoload\r
 (define-minor-mode diff-hl-mode\r
   "Toggle display of VC diff indicators in the left fringe."\r
-  :lighter "" :keymap '(([remap vc-diff] . diff-hl-diff-goto-hunk)\r
-                        ([remap vc-revert] . diff-hl-revert))\r
+  :lighter "" :keymap `(([remap vc-diff] . diff-hl-diff-goto-hunk)\r
+                        (,(kbd "C-x v n") . diff-hl-revert-hunk))\r
   (if diff-hl-mode\r
       (progn\r
         (add-hook 'after-save-hook 'diff-hl-update nil t)\r