descriptors in stead of manual getattr hooks to get at attributes
of the objects.
For Qd I have in stead gotten rid of most of the attribute access
in favor of the carbon-style accessor methods (with the exception
of visRgn, to be done later), and of the Carbon.Qd.qd global object,
for which accessor functions are also available.
For List I have fixed the fact that various methods were incorrectly
generated as functions.
CF is untouched: PEP252 doesn't allow "poor-mans-inheritance" with
basechain, so it will have to wait for PEP253 support.
installed Python. So we don't use os.execve any longer, which means
we need an actual executable in <myapp>.app/Contents/MacOS. For applets
we make a symlink to the Python executable used to build the applet,
for standalone apps we simply copy it.
- Added support for the new any_missing_maybe() feature of modulefinder.py,
which is pending as patch #643711. Its use is optional so it still works
with the existing version of modulefinder.py
module.
Jack: I've compared the .app output of the orginal with the new and I
can't find any significant differences. However, bundlebuilder.py
contains its' own command line interface and I think we should use
that instead. I'll have a look to see whether I can patch
Mac/OSX/Makefile.jaguar to this effect.
Apple-installed Python 2.2 from /usr/bin as it's underlying engine.
All the MacPython stuff is installed into /Applications/MacPython-OSX,
and .pth files and other magic are used to tie everything together.
So far only the raw windowing interpreter and BuildApplet work.
IDLE (it was a fatal error before)
- Shuffled a few things around to facilitate the experimental building
of MacPython for Jaguar's pre-installed python.
dialogs are now stored in Mac/Lib, and loaded on demand through macresource.
Not only does this simplify a MacPython based on Apple's Python, but
it also makes Mac error codes come out symbolically when running command
line python (if you have Mac/Lib in your path).
The resource files are copied from Mac/Resources. The old ones will disappear
after the OS9 build procedure has been adjusted.
if SetDates() in touched() returns an error ignore it: the user may not have
permission to change the parent folder. This is a non-serious problem,
the only function of touched() is to speed up the finder seeing the
change.
(or don't always?) show up with missed(). I think this is a bug in
Jaguar, but as it is a potential dangerous problem (the OSA event has
failed, but the Python code isn't told about this and happily continues)
this is a quick workaround.
Bugfix candidate, I'll add it to 2.2.2 as a last second fix.