[Python-checkins] r75283 - in python/trunk: Lib/struct.py Misc/NEWS Modules/_struct.c

mark.dickinson python-checkins at python.org
Thu Oct 8 17:54:10 CEST 2009


Author: mark.dickinson
Date: Thu Oct  8 17:54:10 2009
New Revision: 75283

Log:
Issue #7078:  _struct.__doc__ was being ignored.  Import it into struct.
Also add description of '?' struct format character.  Thanks Gabriel
Genellina for the patch.


Modified:
   python/trunk/Lib/struct.py
   python/trunk/Misc/NEWS
   python/trunk/Modules/_struct.c

Modified: python/trunk/Lib/struct.py
==============================================================================
--- python/trunk/Lib/struct.py	(original)
+++ python/trunk/Lib/struct.py	Thu Oct  8 17:54:10 2009
@@ -1,2 +1,3 @@
 from _struct import *
 from _struct import _clearcache
+from _struct import __doc__

Modified: python/trunk/Misc/NEWS
==============================================================================
--- python/trunk/Misc/NEWS	(original)
+++ python/trunk/Misc/NEWS	Thu Oct  8 17:54:10 2009
@@ -1370,6 +1370,8 @@
 Extension Modules
 -----------------
 
+- Issue #7078: Set struct.__doc__ from _struct.__doc__.
+
 - Issue #3366: Add gamma function to math module.
 
 - Issue #6823: Allow time.strftime() to accept a tuple with a isdst field

Modified: python/trunk/Modules/_struct.c
==============================================================================
--- python/trunk/Modules/_struct.c	(original)
+++ python/trunk/Modules/_struct.c	Thu Oct  8 17:54:10 2009
@@ -1868,20 +1868,22 @@
 /* Module initialization */
 
 PyDoc_STRVAR(module_doc,
-"Functions to convert between Python values and C structs.\n\
-Python strings are used to hold the data representing the C struct\n\
-and also as format strings to describe the layout of data in the C struct.\n\
+"Functions to convert between Python values and C structs represented\n\
+as Python strings. It uses format strings (explained below) as compact\n\
+descriptions of the lay-out of the C structs and the intended conversion\n\
+to/from Python values.\n\
 \n\
 The optional first format char indicates byte order, size and alignment:\n\
- @: native order, size & alignment (default)\n\
- =: native order, std. size & alignment\n\
- <: little-endian, std. size & alignment\n\
- >: big-endian, std. size & alignment\n\
- !: same as >\n\
+  @: native order, size & alignment (default)\n\
+  =: native order, std. size & alignment\n\
+  <: little-endian, std. size & alignment\n\
+  >: big-endian, std. size & alignment\n\
+  !: same as >\n\
 \n\
 The remaining chars indicate types of args and must match exactly;\n\
 these can be preceded by a decimal repeat count:\n\
   x: pad byte (no data); c:char; b:signed byte; B:unsigned byte;\n\
+  ?: _Bool (requires C99; if not available, char is used instead)\n\
   h:short; H:unsigned short; i:int; I:unsigned int;\n\
   l:long; L:unsigned long; f:float; d:double.\n\
 Special cases (preceding decimal count indicates length):\n\


More information about the Python-checkins mailing list