[Python-checkins] cpython (2.7): Issue #15782: Prevent compile errors of OS X Carbon modules _Fm, _Qd, and

ned.deily python-checkins at python.org
Thu Jan 10 07:05:26 CET 2013


http://hg.python.org/cpython/rev/ae1d34142a2a
changeset:   81358:ae1d34142a2a
branch:      2.7
parent:      81328:f2353e74b335
user:        Ned Deily <nad at acm.org>
date:        Wed Jan 09 22:04:35 2013 -0800
summary:
  Issue #15782: Prevent compile errors of OS X Carbon modules _Fm, _Qd, and
_Qdoffs when compiling with an SDK of 10.7 or later.  The OS X APIs they
wrap have long been deprecated and have now been removed with 10.7.
These modules were already empty for 64-bit builds and have been removed
in Python 3.  (Original patch by Ronald Oussoren.)

files:
  Doc/library/carbon.rst             |   7 +++++--
  Doc/library/mac.rst                |   5 ++++-
  Mac/Modules/fm/_Fmmodule.c         |   8 ++++----
  Mac/Modules/qd/_Qdmodule.c         |  14 +++++++-------
  Mac/Modules/qdoffs/_Qdoffsmodule.c |  10 +++++-----
  Misc/NEWS                          |   6 ++++++
  6 files changed, 31 insertions(+), 19 deletions(-)


diff --git a/Doc/library/carbon.rst b/Doc/library/carbon.rst
--- a/Doc/library/carbon.rst
+++ b/Doc/library/carbon.rst
@@ -5,7 +5,7 @@
 Mac OS Toolbox Modules
 **********************
 
-There are a set of modules that provide interfaces to various Mac OS toolboxes.
+These are a set of modules that provide interfaces to various legacy Mac OS toolboxes.
 If applicable the module will define a number of Python objects for the various
 structures declared by the toolbox, and operations will be implemented as
 methods of the object.  Other operations will be implemented as functions in the
@@ -24,7 +24,10 @@
 
 .. note::
 
-   The Carbon modules have been removed in Python 3.
+   Most of the OS X APIs that these modules use are deprecated or removed
+   in recent versions of OS X.  Many are not available when Python is
+   executing in 64-bit mode.  The Carbon modules have been removed in
+   Python 3.  You should avoid using them in Python 2.
 
 
 :mod:`Carbon.AE` --- Apple Events
diff --git a/Doc/library/mac.rst b/Doc/library/mac.rst
--- a/Doc/library/mac.rst
+++ b/Doc/library/mac.rst
@@ -12,7 +12,10 @@
 
 .. note::
 
-   These modules are deprecated and have been removed in Python 3.x.
+   Most of the OS X APIs that these modules use are deprecated or removed
+   in recent versions of OS X.  Many are not available when Python is
+   executing in 64-bit mode.  These modules have been removed in
+   Python 3.  You should avoid using them in Python 2.
 
 
 .. toctree::
diff --git a/Mac/Modules/fm/_Fmmodule.c b/Mac/Modules/fm/_Fmmodule.c
--- a/Mac/Modules/fm/_Fmmodule.c
+++ b/Mac/Modules/fm/_Fmmodule.c
@@ -2,8 +2,9 @@
 /* =========================== Module _Fm =========================== */
 
 #include "Python.h"
+#include <Carbon/Carbon.h>
 
-#ifndef __LP64__
+#if !defined(__LP64__) && !defined(MAC_OS_X_VERSION_10_7)
 
 
 #include "pymactoolbox.h"
@@ -16,7 +17,6 @@
     }} while(0)
 
 
-#include <Carbon/Carbon.h>
 
 
 /*
@@ -347,7 +347,7 @@
 void init_Fm(void)
 {
     PyObject *m;
-#ifndef __LP64__
+#if !defined(__LP64__) && !defined(MAC_OS_X_VERSION_10_7)
     PyObject *d;
 #endif  /* __LP64__ */
 
@@ -355,7 +355,7 @@
 
 
     m = Py_InitModule("_Fm", Fm_methods);
-#ifndef __LP64__
+#if !defined(__LP64__) && !defined(MAC_OS_X_VERSION_10_7)
     d = PyModule_GetDict(m);
     Fm_Error = PyMac_GetOSErrException();
     if (Fm_Error == NULL ||
diff --git a/Mac/Modules/qd/_Qdmodule.c b/Mac/Modules/qd/_Qdmodule.c
--- a/Mac/Modules/qd/_Qdmodule.c
+++ b/Mac/Modules/qd/_Qdmodule.c
@@ -3,8 +3,9 @@
 
 #include "Python.h"
 
-
-#ifndef __LP64__
+#include <Carbon/Carbon.h>
+
+#if !defined(__LP64__) && !defined(MAC_OS_X_VERSION_10_7)
 
 #include "pymactoolbox.h"
 
@@ -16,7 +17,6 @@
     }} while(0)
 
 
-#include <Carbon/Carbon.h>
 
 #ifdef USE_TOOLBOX_OBJECT_GLUE
 extern PyObject *_GrafObj_New(GrafPtr);
@@ -6548,7 +6548,7 @@
 #endif /* __LP64__ */
 
 static PyMethodDef Qd_methods[] = {
-#ifndef __LP64__
+#if !defined(__LP64__) && !defined(MAC_OS_X_VERSION_10_7)
     {"GetPort", (PyCFunction)Qd_GetPort, 1,
      PyDoc_STR("() -> (GrafPtr port)")},
     {"GrafDevice", (PyCFunction)Qd_GrafDevice, 1,
@@ -7088,7 +7088,7 @@
 };
 
 
-#ifndef __LP64__
+#if !defined(__LP64__) && !defined(MAC_OS_X_VERSION_10_7)
 
 /* Like BMObj_New, but the original bitmap data structure is copied (and
 ** released when the object is released)
@@ -7112,7 +7112,7 @@
 void init_Qd(void)
 {
     PyObject *m;
-#ifndef __LP64__
+#if !defined(__LP64__) && !defined(MAC_OS_X_VERSION_10_7)
     PyObject *d;
 
 
@@ -7127,7 +7127,7 @@
 #endif /* __LP64__ */
 
     m = Py_InitModule("_Qd", Qd_methods);
-#ifndef __LP64__
+#if !defined(__LP64__) && !defined(MAC_OS_X_VERSION_10_7)
     d = PyModule_GetDict(m);
     Qd_Error = PyMac_GetOSErrException();
     if (Qd_Error == NULL ||
diff --git a/Mac/Modules/qdoffs/_Qdoffsmodule.c b/Mac/Modules/qdoffs/_Qdoffsmodule.c
--- a/Mac/Modules/qdoffs/_Qdoffsmodule.c
+++ b/Mac/Modules/qdoffs/_Qdoffsmodule.c
@@ -4,7 +4,8 @@
 #include "Python.h"
 
 
-#ifndef __LP64__
+#include <Carbon/Carbon.h>
+#if !defined(__LP64__) && !defined(MAC_OS_X_VERSION_10_7)
 
 #include "pymactoolbox.h"
 
@@ -16,7 +17,6 @@
     }} while(0)
 
 
-#include <Carbon/Carbon.h>
 
 #ifdef USE_TOOLBOX_OBJECT_GLUE
 extern PyObject *_GWorldObj_New(GWorldPtr);
@@ -634,7 +634,7 @@
 #endif /* __LP64__ */
 
 static PyMethodDef Qdoffs_methods[] = {
-#ifndef __LP64__
+#if !defined(__LP64__) && !defined(MAC_OS_X_VERSION_10_7)
     {"NewGWorld", (PyCFunction)Qdoffs_NewGWorld, 1,
      PyDoc_STR("(short PixelDepth, Rect boundsRect, CTabHandle cTable, GDHandle aGDevice, GWorldFlags flags) -> (GWorldPtr offscreenGWorld)")},
     {"LockPixels", (PyCFunction)Qdoffs_LockPixels, 1,
@@ -691,7 +691,7 @@
 void init_Qdoffs(void)
 {
     PyObject *m;
-#ifndef __LP64__
+#if !defined(__LP64__) && !defined(MAC_OS_X_VERSION_10_7)
     PyObject *d;
 
 
@@ -702,7 +702,7 @@
 #endif /* __LP64__ */
 
     m = Py_InitModule("_Qdoffs", Qdoffs_methods);
-#ifndef __LP64__
+#if !defined(__LP64__) && !defined(MAC_OS_X_VERSION_10_7)
     d = PyModule_GetDict(m);
     Qdoffs_Error = PyMac_GetOSErrException();
     if (Qdoffs_Error == NULL ||
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -600,6 +600,12 @@
 - Issue #16441: Avoid excessive memory usage working with large gzip
   files using the gzip module.
 
+- Issue #15782: Prevent compile errors of OS X Carbon modules _Fm, _Qd, and
+  _Qdoffs when compiling with an SDK of 10.7 or later.  The OS X APIs they
+  wrap have long been deprecated and have now been removed with 10.7.
+  These modules were already empty for 64-bit builds and have been removed
+  in Python 3.
+
 Extension Modules
 -----------------
 

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list