Remove doom-modeline-add-transient-hook!.

This commit is contained in:
Vincent Zhang 2018-06-19 18:26:17 +08:00
parent 998cfe1bd4
commit 64404ed72e

View file

@ -76,25 +76,6 @@
(defvar doom-modeline--transient-counter 0)) (defvar doom-modeline--transient-counter 0))
(defmacro doom-modeline-add-transient-hook! (hook &rest forms)
"Attaches transient forms to a HOOK.
HOOK can be a quoted hook or a sharp-quoted function (which will be advised).
These forms will be evaluated once when that function/hook is first invoked,
then it detaches itself."
(declare (indent 1))
(let ((append (eq (car forms) :after))
(fn (intern (format "doom-transient-hook-%s" (cl-incf doom-modeline--transient-counter)))))
`(when ,hook
(fset ',fn
(lambda (&rest _)
,@forms
(cond ((functionp ,hook) (advice-remove ,hook #',fn))
((symbolp ,hook) (remove-hook ,hook #',fn)))
(unintern ',fn nil)))
(cond ((functionp ,hook)
(advice-add ,hook ,(if append :after :before) #',fn))
((symbolp ,hook)
(add-hook ,hook #',fn ,append))))))
;; ;;
;; Modeline library ;; Modeline library
@ -235,19 +216,15 @@ If STRICT-P, return nil if no project was found, otherwise return
finally return 0)) finally return 0))
(advice-add #'anzu--where-is-here :override #'doom-modeline-fix-anzu-count) (advice-add #'anzu--where-is-here :override #'doom-modeline-fix-anzu-count)
(when (featurep 'evil-anzu) ;; Avoid anzu conflicts across buffers
(doom-modeline-add-transient-hook! #'evil-ex-start-search (require 'evil-anzu)) (mapc #'make-variable-buffer-local
'(anzu--total-matched anzu--current-position anzu--state
anzu--cached-count anzu--cached-positions anzu--last-command
anzu--last-isearch-string anzu--overflow-p))
;; Avoid anzu conflicts across buffers ;; Ensure anzu state is cleared when searches & iedit are done
(mapc #'make-variable-buffer-local (add-hook 'isearch-mode-end-hook #'anzu--reset-status t)
'(anzu--total-matched anzu--current-position anzu--state (add-hook 'iedit-mode-end-hook #'anzu--reset-status)
anzu--cached-count anzu--cached-positions anzu--last-command
anzu--last-isearch-string anzu--overflow-p))
;; Ensure anzu state is cleared when searches & iedit are done
(add-hook 'isearch-mode-end-hook #'anzu--reset-status t)
;; (add-hook '+evil-esc-hook #'anzu--reset-status t)
(add-hook 'iedit-mode-end-hook #'anzu--reset-status))
;; Keep `doom-modeline-current-window' up-to-date ;; Keep `doom-modeline-current-window' up-to-date