This isn’t so much a problem with use-package as it is the primitives (autoload
and with-eval-after-load
) and the way Emacs manages load order with load-history
. I don’t know that you can write a better macro to handle composite package configurations under these constraints. I also haven’t tried to, so maybe there is.
An actually declarative system will need something like a fixed point evaluator, and be much more complicated than use-package internally.
Practically speaking, the only solution right now is (i) proactive measures by package authors to shove all the bits meant for integration into separate file(s) and provide separate features, and (ii) knowledge of this organization on the part of the user.
Even this can be too much, magit-extras
(which contains magit-project-status
) is 900 lines, most of which you don’t need.
Unfortunately it is uniquely difficult to make any nuanced point about mouse usage because of the inertial pull of the decades old keyboard vs mouse argument, and the equally vapid “use both” argument. Talking about Acme’s design would have derailed things further.
I wasn’t advocating for mouse-friendly interfaces at all, by the way. My goal was only to point out that (i) there are times when using the mouse with Emacs is natural, although the specifics depend on your use of Emacs, and (ii) Emacs includes some features to improve mouse expressivity (gestures, configurable drag-and-drop, etc.)