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.
diff --git a/Mac/Modules/win/winscan.py b/Mac/Modules/win/winscan.py
index 22f0d1a..b0f0fb3 100644
--- a/Mac/Modules/win/winscan.py
+++ b/Mac/Modules/win/winscan.py
@@ -41,10 +41,33 @@
'GetWindowProperty',
'GetWindowPropertySize',
'RemoveWindowProperty',
+ 'MacCloseWindow',
# Constants with funny definitions
'kMouseUpOutOfSlop',
]
-
+
+ def makegreylist(self):
+ return [
+ ('#ifndef TARGET_API_MAC_CARBON', [
+ 'GetAuxWin',
+ 'GetWindowDataHandle',
+ 'SaveOld',
+ 'DrawNew',
+ 'SetWinColor',
+ 'SetDeskCPat',
+ 'InitWindows',
+ 'InitFloatingWindows',
+ 'GetWMgrPort',
+ 'GetCWMgrPort',
+ 'ValidRgn', # Use versions with Window in their name
+ 'ValidRect',
+ 'InvalRgn',
+ 'InvalRect',
+ ]),
+ ('#ifndef TARGET_API_MAC_CARBON_NOTYET', [
+ 'IsValidWindowPtr',
+ ])]
+
def makeblacklisttypes(self):
return [
'ProcPtr',