emacs-devel
[Top][All Lists]
Advanced

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

Re: Summary and next steps for (package-initialize)


From: Clément Pit-Claudel
Subject: Re: Summary and next steps for (package-initialize)
Date: Tue, 22 Aug 2017 10:41:45 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1

On 2017-08-22 06:52, Radon Rosborough wrote:
> Your way relies on solving the halting problem. I don't think it
> counts.

That's incorrect. We don't need to decide the halting problem — we just need to 
semi-decide it, which is trivial. Your email hints at this at one point, in 
fact.

Let me explain: you want to determine what loading init.el sets 
package-load-list to, and then you want to actually load Emacs.  Given this, if 
running init.el doesn't complete, then loading Emacs won't complete either.

Thus you don't need a decision procedure for the problem of determining whether 
init.el sets package-load-list, and what it sets it to. You just need a 
semi-decision procedure (one that either returns the value or enters an 
infinite loop).

This gives you an easy way out:

Start Emacs. Load init.el. Record the value of package-load-list. Exit Emacs.
Start Emacs again; set package-load-list to the value previously recorded. Run 
package-initialize. Load init.el.

There's a subtle recursivity issue if init.el depends on package-load-list, of 
course.  And this is a horrible approach :) But you don't need to solve the 
halting problem to determine what package-load-list gets set to and call 
package-intiialize with that.

Clément.



reply via email to

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