Enable FSpResourceFileAlreadyOpen only for Carbon. This is not strictly correct: OS9 InterfaceLib has it, but enabling it will make Python refuse to run on 8.6 and earlier.
diff --git a/Mac/Modules/res/Resmodule.c b/Mac/Modules/res/Resmodule.c
index 42c8800..bd6a42d 100644
--- a/Mac/Modules/res/Resmodule.c
+++ b/Mac/Modules/res/Resmodule.c
@@ -1353,6 +1353,8 @@
}
#endif
+#if TARGET_API_MAC_CARBON
+
static PyObject *Res_FSpResourceFileAlreadyOpen(_self, _args)
PyObject *_self;
PyObject *_args;
@@ -1378,6 +1380,7 @@
refNum);
return _res;
}
+#endif
#if TARGET_API_MAC_CARBON
@@ -1600,8 +1603,11 @@
{"DetachResourceFile", (PyCFunction)Res_DetachResourceFile, 1,
"(SInt16 refNum) -> (OSErr _rv)"},
#endif
+
+#if TARGET_API_MAC_CARBON
{"FSpResourceFileAlreadyOpen", (PyCFunction)Res_FSpResourceFileAlreadyOpen, 1,
"(FSSpec resourceFile) -> (Boolean _rv, Boolean inChain, SInt16 refNum)"},
+#endif
#if TARGET_API_MAC_CARBON
{"FSpOpenOrphanResFile", (PyCFunction)Res_FSpOpenOrphanResFile, 1,
diff --git a/Mac/Modules/res/resscan.py b/Mac/Modules/res/resscan.py
index 4b1babc..544e303 100644
--- a/Mac/Modules/res/resscan.py
+++ b/Mac/Modules/res/resscan.py
@@ -63,6 +63,7 @@
'FSpOpenOrphanResFile',
'DetachResourceFile',
'InsertResourceFile',
+ 'FSpResourceFileAlreadyOpen',
])]
def makerepairinstructions(self):