From 30f1f8ab0cdbde69b8dbdbdd47c808538c40a487 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 24 Jun 2018 22:33:30 +0200 Subject: [PATCH] tools/wakatime: fix lazy loader Also the cause of errors during package management, because after-find-file was being advised too early. Reported by @freddian --- modules/tools/wakatime/autoload.el | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/modules/tools/wakatime/autoload.el b/modules/tools/wakatime/autoload.el index 05e415899..9441be9d0 100644 --- a/modules/tools/wakatime/autoload.el +++ b/modules/tools/wakatime/autoload.el @@ -4,10 +4,7 @@ "Where the wakatime api key is cached.") ;;;###autoload -(add-hook 'doom-after-switch-buffer-hook #'+wakatime|autostart) - -;;;###autoload -(advice-add 'after-find-file :before #'wakatime|autostart) +(add-hook 'doom-post-init-hook #'+wakatime|delayed-autostart) ;;;###autoload (defun +wakatime/setup () @@ -40,5 +37,13 @@ warning)." (global-wakatime-mode +1) (message "wakatime-mode isn't set up. Run `M-x +wakatime/start' to do so (only necessary once).")) ;; - (remove-hook 'doom-after-switch-buffer-hook #'+wakatime|autostart) + (remove-hook 'doom-before-switch-buffer-hook #'+wakatime|autostart) (advice-remove 'after-find-file #'wakatime|autostart)) + +;;;###autoload +(defun +wakatime|delayed-autostart (&rest _) + "Lazily initialize `wakatime-mode' until the next time you switch buffers or +open a file." + (add-hook 'doom-before-switch-buffer-hook #'+wakatime|autostart) + ;; this is necessary in case the user opens emacs with file arguments + (advice-add 'after-find-file :before #'wakatime|autostart))