summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/struct.py1
-rw-r--r--Misc/NEWS2
-rw-r--r--Modules/_struct.c14
3 files changed, 11 insertions, 6 deletions
diff --git a/Lib/struct.py b/Lib/struct.py
index 3784c05..b022355 100644
--- a/Lib/struct.py
+++ b/Lib/struct.py
@@ -1,2 +1,3 @@
from _struct import *
from _struct import _clearcache
+from _struct import __doc__
diff --git a/Misc/NEWS b/Misc/NEWS
index 3ff73ed..61f91ed 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -216,6 +216,8 @@ Library
Extension Modules
-----------------
+- Issue #7078: Set struct.__doc__ from _struct.__doc__.
+
- Issue #3366: Add gamma function to math module.
- Issue #6877: It is now possible to link the readline extension to the
diff --git a/Modules/_struct.c b/Modules/_struct.c
index 3e0ab31..6a89d8c 100644
--- a/Modules/_struct.c
+++ b/Modules/_struct.c
@@ -1900,18 +1900,20 @@ static struct PyMethodDef module_functions[] = {
PyDoc_STRVAR(module_doc,
"Functions to convert between Python values and C structs.\n\
Python bytes objects 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\
+and also as format strings (explained below) to describe the layout of data\n\
+in the C struct.\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\