When the async operation hasn't finished but blamer-mode is turned off, the commit info is still displayed and it stays there without going away (because the mode is off, auto-clear mechanics doesn't apply).
The sequence happens in this order:
post-command-hook triggers fetching git info asyncly (1)
(blamer-mode 0)
(1) returned and the commit info is displayed
Reproduce:
Evaluate
(progn
(defvar-local _count 0)
(add-hook 'post-command-hook
(lambda ()
(cl-incf _count)
;; Use _count here because looks like pressing Enter in "M-:"
;; counts as executing a command
(when (= 2 _count)
(message "blamer off!")
(blamer-mode 0)))
nil 'local))
When the async operation hasn't finished but
blamer-mode
is turned off, the commit info is still displayed and it stays there without going away (because the mode is off, auto-clear mechanics doesn't apply).The sequence happens in this order:
post-command-hook
triggers fetching git info asyncly (1)(blamer-mode 0)
Reproduce:
Observed:
Commit info is displayed and doesn't go away.
Expected:
Commit info isn't displayed without
blamer-mode
.