]> granicus.if.org Git - python/commitdiff
Merged revisions 84810 via svnmerge from
authorDaniel Stutzbach <daniel@stutzbachenterprises.com>
Tue, 14 Sep 2010 16:07:54 +0000 (16:07 +0000)
committerDaniel Stutzbach <daniel@stutzbachenterprises.com>
Tue, 14 Sep 2010 16:07:54 +0000 (16:07 +0000)
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84810 | daniel.stutzbach | 2010-09-14 11:02:01 -0500 (Tue, 14 Sep 2010) | 1 line

  Remove pointers to a FAQ entry that no longer exists.  Incorporate some text from the old FAQ into the docs
........

Doc/extending/windows.rst
Include/pyport.h

index 8d1986ff493432942ed98f47e90f2dfe07677142..67336660617f5f15474ff495c468f8c8269e27ef 100644 (file)
@@ -171,7 +171,9 @@ If your module creates a new type, you may have trouble with this line::
 
    PyVarObject_HEAD_INIT(&PyType_Type, 0)
 
-Change it to::
+Static type object initializers in extension modules may cause
+compiles to fail with an error message like "initializer not a
+constant".  This shows up when building DLL under MSVC.  Change it to::
 
    PyVarObject_HEAD_INIT(NULL, 0)
 
@@ -179,8 +181,6 @@ and add the following to the module initialization function::
 
    MyObject_Type.ob_type = &PyType_Type;
 
-Refer to section 3 of the `Python FAQ <http://www.python.org/doc/faq>`_ for
-details on why you must do this.
 
 
 .. _dynamic-linking:
index 6af0f96dd3c91aea6359b15ec734724ba006782a..13396a2c590e5ccd832d1972338badc1208a2132 100644 (file)
@@ -663,23 +663,24 @@ extern pid_t forkpty(int *, char *, struct termios *, struct winsize *);
 #               ifdef Py_BUILD_CORE
 #                       define PyAPI_FUNC(RTYPE) __declspec(dllexport) RTYPE
 #                       define PyAPI_DATA(RTYPE) extern __declspec(dllexport) RTYPE
-            /* module init functions inside the core need no external linkage */
-            /* except for Cygwin to handle embedding */
+        /* module init functions inside the core need no external linkage */
+        /* except for Cygwin to handle embedding */
 #                       if defined(__CYGWIN__)
 #                               define PyMODINIT_FUNC __declspec(dllexport) PyObject*
 #                       else /* __CYGWIN__ */
 #                               define PyMODINIT_FUNC PyObject*
 #                       endif /* __CYGWIN__ */
 #               else /* Py_BUILD_CORE */
-            /* Building an extension module, or an embedded situation */
-            /* public Python functions and data are imported */
-            /* Under Cygwin, auto-import functions to prevent compilation */
-            /* failures similar to http://python.org/doc/FAQ.html#3.24 */
+        /* Building an extension module, or an embedded situation */
+        /* public Python functions and data are imported */
+        /* Under Cygwin, auto-import functions to prevent compilation */
+        /* failures similar to those described at the bottom of 4.1: */
+        /* http://docs.python.org/extending/windows.html#a-cookbook-approach */
 #                       if !defined(__CYGWIN__)
 #                               define PyAPI_FUNC(RTYPE) __declspec(dllimport) RTYPE
 #                       endif /* !__CYGWIN__ */
 #                       define PyAPI_DATA(RTYPE) extern __declspec(dllimport) RTYPE
-            /* module init functions outside the core must be exported */
+        /* module init functions outside the core must be exported */
 #                       if defined(__cplusplus)
 #                               define PyMODINIT_FUNC extern "C" __declspec(dllexport) PyObject*
 #                       else /* __cplusplus */