>I'm afraid mode options will make this even more
>complicated. And what's with that defvar?
use-package is really a magic. But nobody uses a blank `(use-package
foo)`, usually a simple and pracctical use-package call would be
something like this:
(use-package foo
:config (setq foo-1 nil)
:init (setq foo-2 nil)
:hook ((python-mode emacs-lisp-mode) . foo-mode))
which specifies the code to be evaluated before foo is loaded (:init
part), the code to be evaluated after foo is loaded (:config part), and
the hook related to this package, which expands to:
My expansion of that same form is larger and harder to read,
with condition-case and variables and stuff. But it would seem
that the fluff overhead is constant, which is good.
Exactly.