Avatar

nv-elispB

nv-elisp@alien.top
Joined
0 posts • 45 comments
Direct message

RGB lit crap wasn’t the norm in the 90s. Especially keyboards.

permalink
report
parent
reply

But, if we’re using use-package to also manage installing the packages for us (:ensure t), then why shouldn’t it know about the autoloads already and automagically imply a :defer t by default?

Package installation and activation are two seperate concerns. :ensure ensures the package is isntalled if it isn’t already. Users might want to ensure a package is installed and prefer it to be immediately required.

So, by default, we have to remember to either add :defer t or we have to remember that setting our own hooks, bindings, or commands will create autoloads for us.

I feel like you’re misunderstanding what autoloads do. Hooks do not autoload anything. The :commands use-package keyword does autolaod commands. This is useful when a package author has not provided the autoload cookie in the package for a command, or when you wish to forgo loading all of the autoloads.

I know that you can configure use-package to behave as though :defer t is set by default, but that’s just broken for packages that don’t have any autoloads.

How is it broken? There are other ways to load a package. Namely, require.

It feels like maybe use-package is doing too many things.

It only does what you tell it to do via user options and declarations.`

but that kind of sucks because there’s no reason to load magit before I actually want to use it for anything. So, what we can do instead is to implement the project.el integration ourselves

Or (use-package project :ensure nil :defer t :config (require magit)) There are multiple ways to set this sort of thing up and use-package (which should have been named use-feature) can be used to configure built-in features.

Either I’m a little dim or the tooling here is hard to use correctly.

Third option: You haven’t taken the time to digest the use-package manual and/or expand the macro to see what it’s doing. It’s a DSL. You have to learn it to use it effectively.

Am I the only one?

You must be. Otherwise someone would’ve written “use-package alternatives”, which has an almost searchable ring to it.

Ultimately, organization comes down to the user. Tools like use-package make it easier, but they do not guarantee it.

permalink
report
reply

Your life story wasn’t in the way until you put it there.

Agreed here.

Judicious use of `eval-after-load’ is all you need and a lot less wtf.

Until you realize that eval-after-load is just a superfluous abstraction itself (a forgivable “noob” move) and transcend to manually managing load history and friends. /s

permalink
report
parent
reply

My conclusion has been that for some users it creates more problems than it solves, as they can wind up with a new layer of things they don’t understand, and one which further obfuscates the systems they didn’t understand to start with.

There are many questions about use-package because new users are encouraged to copy/paste configurations from package READMEs and other configurations. If you take use-package out of the equation, you’ll be left with questions about the underlying elisp. It doesn’t matter what was used if the crux of the question is “I copied this thing I didn’t read about and now I don’t know how it works. Explain it to me?”

permalink
report
parent
reply

No detail in your response. How would Tramp benefit from multithreading in any way that isn’t achievable already with an asynchronous approach?

permalink
report
parent
reply

What evidence do you have for this?

permalink
report
parent
reply

What threaded applications are you using in Vim?

permalink
report
parent
reply

so my question is, Is it worth it?

It’s worth more than a bunch of other people’s opinions.

permalink
report
reply

M-x report-emacs-bug

permalink
report
reply