Skip to content

Instantly share code, notes, and snippets.

@jordonbiondo
Created September 13, 2016 13:08
Show Gist options
  • Save jordonbiondo/b989b1913c444d8c5b23458bc476c23d to your computer and use it in GitHub Desktop.
Save jordonbiondo/b989b1913c444d8c5b23458bc476c23d to your computer and use it in GitHub Desktop.
Use Package :later keyword like the old :idle keyword
(eval-when-compile
(require 'use-package))
(add-to-list 'use-package-keywords :later t)
(defalias 'use-package-normalize/:later 'use-package-normalize-forms)
(defun use-package-handler/:later (name keyword arg rest state)
"Handler for `:later' keyword in `use-package'."
(let ((wrapped-arg
`((run-with-idle-timer 0 nil (lambda ()
(condition-case err
(progn ,@arg)
(error
(message "Error in %S :later evaluation: %S" ',name err))))))))
(use-package-handler/:preface name keyword wrapped-arg rest state)))
(provide 'use-package-later)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment