Taylan Ulrich Bay=C4=B1=
rl=C4=B1/Kammer <
taylanbayirl=
i@gmail.com> schrieb am Sa., 18. Apr. 2015 um 20:04=C2=A0Uhr:
Stefan Monnier <monnier@IRO.UMontreal.CA> writes:<=
br>
> I think all those discussions are missing the point.
> If we want to improve the system to the point of considering adding ne=
w
> init files, then we should try and fix other problems at the same time=
.
>
> So here's one of the larger problems:
>
> How can we make the system work such that the user can:
> - Use customize to set package-user-dir, package-pinned-packages, etc.=
..
> - Use customize to configure a variable which has a :require which loa=
ds
>=C2=A0 =C2=A0a file that's only available after calling package-ini=
tialize.
> The first requires package-initialize to be called late, the second
> requires package-initialize to be called early.
>
> Maybe a solution is to simply make customize-set-variables lazier, so<=
br>
> that variables with a :require see their setting delayed to after
> package-initialize was called.=C2=A0 Or else, have package-initialize =
be
> called by customize-set-variables.=C2=A0 Or...
I'm not sure if this isn't an orthogonal problem, but indeed as som=
eone
who doesn't use Customize I didn't think about it at all, and know<=
br>
little about it so excuses in advance for ignorance.
How about Customize being "smart" and separating package-related<=
br>
configurations from other ones?=C2=A0 I don't know how hard it would be=
to
implement, but it feels like the right design; obviously package related
customization should be applied before package-initialize, but all other
customization should be applied after package-initialize, since it's a<=
br>
configuration system, meaning it should be one layer above the package
system, going purely by intuition.
So startup would look like:
=C2=A0 1. pre-package-init.el
=C2=A0 2. Package related customization.
=C2=A0 3. package-initialize
=C2=A0 4. init.el
=C2=A0 5. All other customization.
Would that work?
I think that would be a good solution, alt=
hough I'd modify it a bit:
1. Contents of init=
.el before applying customizations.
2. Applying customizations, e=
ither inline in init.el or by loading custom.el from init.el
=C2=
=A0 2.a. Package related customization
=C2=A0 2.b. package-initia=
lize
=C2=A0 2.c. All other customization
3. Rest of ini=
t.el
That would be closer to the current behavior =
and eliminate the need for pre-package-init.el.=C2=A0