This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author ncoghlan
Recipients Arfrever, brett.cannon, eric.smith, eric.snow, lemburg, ncoghlan, pitrou
Date 2012-04-25.15:38:45
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1335368326.26.0.354857964338.issue14657@psf.upfronthosting.co.za>
In-reply-to
Content
Yes, in that you'll be able to pick up changes in _bootstrap.py *without* having to rebuild Python.

With this in place, we could then get rid of the automatic regeneration of importlib.h which is a complete nightmare if you ever break your built interpreter while hacking on the bootstrapping (as I now know from experience).

With my approach, the experience is instead:

- modify _bootstrap.py, hack until any new tests pass
- run a new explicit "make freeze_importlib" command
- run "make"
- check everything still works
- commit and push

If you forget to run "make freeze_importlib", it doesn't really matter all that much, since the frozen one will only be used to find the real one, so it isn't a disaster if it's a little out of date. (That said, we should still have a test that at least checks the two modules have the same attributes)

It does mean that importlib.__init__ also needs to be able to run in a partially initialised interpreter, hence the switch from "import imp" to "import _imp".
History
Date User Action Args
2012-04-25 15:38:46ncoghlansetrecipients: + ncoghlan, lemburg, brett.cannon, pitrou, eric.smith, Arfrever, eric.snow
2012-04-25 15:38:46ncoghlansetmessageid: <1335368326.26.0.354857964338.issue14657@psf.upfronthosting.co.za>
2012-04-25 15:38:45ncoghlanlinkissue14657 messages
2012-04-25 15:38:45ncoghlancreate