]> granicus.if.org Git - python/commitdiff
Add a note warning against semicolons following PyObject_HEAD.
authorFred Drake <fdrake@acm.org>
Tue, 2 Apr 2002 15:42:46 +0000 (15:42 +0000)
committerFred Drake <fdrake@acm.org>
Tue, 2 Apr 2002 15:42:46 +0000 (15:42 +0000)
Minor cleanups.

Doc/ext/newtypes.tex

index 46004ce595645218b4e16cfe2eb75db236974d0e..505f79a536d497d0a2118bb09b7fe1c2bb32931b 100644 (file)
@@ -59,9 +59,15 @@ This is what a Noddy object will contain.  In this case nothing more
 than every Python object contains - a refcount and a pointer to a type
 object.  These are the fields the \code{PyObject_HEAD} macro brings
 in.  The reason for the macro is to standardize the layout and to
-enable special debugging fields to be brought in debug builds.
+enable special debugging fields in debug builds.  Note that there is
+no semicolon after the \code{PyObject_HEAD} macro; one is included in
+the macro definition.  Be wary of adding one by accident; it's easy to
+do from habit, and your compiler might not complain, but someone
+else's probably will!  (On Windows, MSVC is known to call this an
+error and refuse to produce compiled code.)
 
-For contrast
+For contrast, let's take a look at the corresponding definition for
+standard Python integers:
 
 \begin{verbatim}
 typedef struct {
@@ -70,8 +76,6 @@ typedef struct {
 } PyIntObject;
 \end{verbatim}
 
-is the corresponding definition for standard Python integers.
-
 Next up is:
 
 \begin{verbatim}
@@ -491,7 +495,7 @@ newdatatype_print(newdatatypeobject *obj, FILE *fp, int flags)
 \end{verbatim}
 
 
-\subsection{Attribute Management Functions}
+\subsection{Attribute Management}
 
 For every object which can support attributes, the corresponding type
 must provide the functions that control how the attributes are