emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Auto-installing packages?


From: Phillip Lord
Subject: Re: Auto-installing packages?
Date: Tue, 18 Sep 2018 17:12:38 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1.50 (gnu/linux)

Stefan Monnier <address@hidden> writes:

>>>> I use `use-package' to "automatically" install packages for me.
>>> How does it work?
>>> Doesn't this silently install at startup the packages you specified?
>>> I really dislike the "silently" part (and am not too happy about doing
>>> all of it at startup either).
>> Yep. It runs "package-install". It's not silent, since you get all the
>
> By "silent" I meant that it does it without asking for
> permission/confirmation first.  I understand that it's a small matter of
> programming, but from the UI-side I consider this unacceptable.

Yes. Although, in this case, I have put the packages I want to install
into my .emacs. So not "silent" at that point. I am doing something
concrete.



>> install messages. And, yes, doing it as part of startup is very slow
>> iff none of the packages are installed. Also, it breaks startup if a
>> package installation fails.
>> Still this only happens when you use Emacs on a new machine or in my
>> case, when I change Emacs version.
>
> Which all argues in favor of prompting.


It's easy to add, although I suspect answering "Y" would become part of
the muscule memory.


> I find a constant "call home" done automatically qualitatively very
> different from running it manually (e.g. you can make sure it's always
> done from your home, for example).
>
> But I wouldn't oppose an option to automatically check for updates in
> the background (I'd also be OK with an option to auto-download them, but
> I'd oppose auto-installing them updates without an explicit user
> interaction).

I forget how package.el works, but it inherits behaviour from that. So,
it will update the package-list (i.e. call home) if your .emacs.d/elpa
is empty. But I don't think it refreshes it to look for updates.



> Actually, it happens at a much lower-level within `funcall`.
>
>> So, from nearly anywhere.
>
> Oh, yes.
>
>> That's okay, because if an autoloaded package cannot be autoloaded,
>> then Emacs has some pretty major issues.
>> Installing a package over a network is a much more failable process.
>
> No doubt.  Maybe rather than "prompt the user, install, and retry the
> call", we'll need to "abort the current command, then prompt, ...".


Yes.


>> No, you misunderstand me. You don't need to pre-install this way. You
>> release "Emacs without ELPA", but include
>> "auto-install-autoloads". Emacs will get bigger this way over time.
>
> Ah, make the auto-installs into an upgradable package, yes that makes
> a lot of sense.


Just so. What this means is someone installing Emacs one year after a
release would (likely) get updated packages, compared to release
date. Whether packages would update themselves after the first start
would be a different question. They wouldn't need to.

Phil



reply via email to

[Prev in Thread] Current Thread [Next in Thread]