Hi, Here's another patchset. Mostly fixups inspired by multilib-build.eclass changes with a few little additions.
Changes: 1. eclass-set variables are now read-only, 2. 'unset -f' is used to unset temporary & local functions, 3. implementations are reordered for sane order. I've tested this with a few dozen random distutils-r1, python-r1, python-any-r1 and python-single-r1 packages. However, for the implementation reorder a larger tinderbox run would be appreciated. As explained in the commit, the reorder may influence files installed by a package, and implementation selected by python_setup(). This should not cause issues for correctly written ebuilds, and should help us find those that are not correctly written ;-). In other words, we're finally considering Python 3.x preferred over Python 2.x. Please review.