           anzu--last-isearch-string anzu--overflow-p))
 
   ;; Ensure anzu state is cleared when searches & iedit are done
-  (add-hook! :append '(isearch-mode-end-hook +evil-esc-hook)
-    #'anzu--reset-status)
-  (after! iedit
-    (add-hook 'iedit-mode-end-hook #'anzu--reset-status)))
+  (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

           (pattern (car-safe (evil-delimited-arguments evil-ex-argument 2))))
       (if pattern
           (format " %s matches " (how-many pattern (car range) (cdr range)))
         " ... "))
     'face (if (active) 'doom-modeline-panel))))

(defsubst +doom-modeline--iedit ()
  "Show the number of iedit regions matches + what match you're on."

(def-modeline! main
  (bar matches " " buffer-info "  %l:%c %p  " selection-info)
  (buffer-encoding major-mode vcs flycheck))

(def-modeline! minimal
  (bar matches " " buffer-info)
