Made the core toolbox modules carbon-compatible using the new greylist feature of bgen: non-carbon methods are still included in non-carbon MacPython. The issue of backward compatibility of Python code is still open.

Macmodule and macosmodule have also been carbonified. Some functionality is still missing there.
This commit is contained in:
Jack Jansen 2000-06-02 21:35:07 +00:00
parent 33d1ad28cb
commit e79dc76f53
35 changed files with 667 additions and 129 deletions

View file

@ -323,6 +323,8 @@ navrr_getattr(self, name)
navrrobject *self;
char *name;
{
FSSpec fss;
if( strcmp(name, "__members__") == 0 )
return Py_BuildValue("sssssss", "version", "validRecord", "replacing",
"isStationery", "translationNeeded", "selection", "fileTranslation");
@ -355,7 +357,16 @@ navrr_getattr(self, name)
PyErr_Mac(ErrorObject, err);
return NULL;
}
rvitem = PyMac_BuildFSSpec((FSSpec *)*desc.dataHandle);
#ifdef TARGET_API_MAC_CARBON
if (err=AEGetDescData(&desc, &fss, sizeof(FSSpec))) {
Py_DECREF(rv);
PyErr_Mac(ErrorObject, err);
return NULL;
}
#else
memcpy((void *)&fss, (void *)*desc.dataHandle, sizeof(FSSpec));
#endif
rvitem = PyMac_BuildFSSpec(&fss);
PyList_SetItem(rv, i, rvitem);
AEDisposeDesc(&desc);
}