On Mon, Dec 26, 2022 at 11:49 PM Milan Glacier wrote: > > >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. So I get your point: with enough practice, it's easy to see the primitives in use. > (I personally am not a fan of use-package, I don't think it brings any > thing new. Often I need to expand it to see if its behavior is expected, > then why shouldn't I just write plain setq, add-hook stuffs directly?) > Exactly. João