]> code.delx.au - gnu-emacs-elpa/blobdiff - diff-hl-flydiff.el
No need to remove diff-hl-edit from hooks
[gnu-emacs-elpa] / diff-hl-flydiff.el
index 23350744579d21cec27a2c63a0780f85ca503f60..d3b5c0147ff72852c1321f3063ff2c06ba1355ce 100644 (file)
 ;;; Code:
 
 (require 'diff-hl)
+(require 'nadvice)
 
 (defvar diff-hl-flydiff-modified-tick 0)
 (defvar diff-hl-flydiff-timer)
 (make-variable-buffer-local 'diff-hl-flydiff-modified-tick)
 
 ;; Polyfill concrete revisions for vc-git-working-revision in Emacs 24.4, 24.5
-(when (version<= emacs-version "24.5")
+(when (version<= emacs-version "25.0")
   (with-eval-after-load 'vc-git
     (defun vc-git--symbolic-ref (file)
       (or
@@ -170,8 +171,6 @@ This requires the external program `diff' to be in your `exec-path'."
           ((eq state 'removed)
             `((1 ,(line-number-at-pos (point-max)) delete))))))))
 
-(defun diff-hl-flydiff/overlay-modified (&rest args))
-
 ;;;###autoload
 (define-minor-mode diff-hl-flydiff-mode
   "Highlight diffs on-the-fly"
@@ -179,25 +178,17 @@ This requires the external program `diff' to be in your `exec-path'."
   :global t
   (if diff-hl-flydiff-mode
     (progn
-      (require 'nadvice)
-      (advice-add 'diff-hl-update :around
-        #'diff-hl-flydiff/update)
-      (advice-add 'diff-hl-changes :override
-        #'diff-hl-flydiff/changes)
-      (advice-add 'diff-hl-overlay-modified :override
-        #'diff-hl-flydiff/overlay-modified)
-
-      (remove-hook 'after-change-functions #'diff-hl-edit t)
+      (advice-add 'diff-hl-update :around #'diff-hl-flydiff/update)
+      (advice-add 'diff-hl-changes :override #'diff-hl-flydiff/changes)
+      (advice-add 'diff-hl-overlay-modified :override #'ignored)
+
       (setq diff-hl-flydiff-timer
         (run-with-idle-timer 0.3 t #'diff-hl-update t)))
 
     (advice-remove 'diff-hl-update #'diff-hl-flydiff/update)
     (advice-remove 'diff-hl-changes #'diff-hl-flydiff/changes)
-    (advice-remove 'diff-hl-overlay-modified
-      #'diff-hl-flydiff/overlay-modified)
+    (advice-remove 'diff-hl-overlay-modified #'ignored)
 
-    (cancel-timer diff-hl-flydiff-timer)
-    (when diff-hl-mode
-      (add-hook 'after-change-functions 'diff-hl-edit nil t))))
+    (cancel-timer diff-hl-flydiff-timer)))
 
 (provide 'diff-hl-flydiff)