[Top][All Lists]

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

Re: Calling (package-initialize) sooner during initialization

From: Artur Malabarba
Subject: Re: Calling (package-initialize) sooner during initialization
Date: Sun, 12 Apr 2015 20:43:31 +0100

> > I'm just glad this issue is up for the slaughter, I don't care whether
> > we kill it with a magnum or a tennis racket.
> Better documenting the relationship between custom.el and package.el
> should have been considered over resorting to indiscriminately
> clobbering init.el.

This is not an issue with custom.el. The custom.el problem is one of
the consequences. Another consequence is that users can't paste
configurations into their init file in the way that 90% of the
(emacs-related) internet is telling them to.
By adding the chosen snippet to the user's init file we are preventing
this sort of problem for new users, instead of telling them it's their
fault for not understanding package.el.

The only cost associated with this solution is that the advanced users
who don't want this feature now need to keep “;(package-initialize)”
somewhere inside their init file. That's all.
We are imposing 21 characters on the few (me included), in exchanged
for many lines and much headache we're no longer imposing on the many.

> (info "(emacs) Package Installation") talks about
> use of (package-initialize) in a user's init file.  This could be
> improved.  Alternatively, why bother having the documentation if Emacs is 
> going to be in the habit of forcing this behaviour?

Nobody is being forced. The added snippet clearly explains that you
can comment it out. The only thing that's being forced upon you is the
presence of 21 characters in your init file.

> I have never needed package-initialize in my init.el for things
> installed by package.el, either from an archive or locally.  Why am I
> subjected to having my init.el overwritten when I install anything with
> package.el?

You will have one sexp added to your init-file exactly once. You are
being “subjected” to that because a lot of other people were being
subjected things much worse (see the original thread).
You only need to have “;(package-initialize)” somewhere in your init
file and this feature will never ever affect your again (it will never
even visit your init file again).

I'm truly sorry if you feel that is too much.

> custom.el and package.el simply aren't made for each other, please do not
> hack around it in my init file:

As mentioned above, this is not about custom.

reply via email to

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