Mercurial > cpython-lru_cache-weakref
annotate Include/Python.h @ 59998:d11fbc796499 legacy-trunk
Backported PyCapsule from 3.1, and converted most uses of
CObject to PyCapsule.
| author | Larry Hastings <larry@hastings.org> |
|---|---|
| date | Thu, 25 Mar 2010 00:54:54 +0000 |
| parents | 2146bbdf4ed7 |
| children | c96a722be1db |
| rev | line source |
|---|---|
|
47474
7352543cba03
Fix preprocessor statement.
Thomas Heller <theller@ctypes.org>
parents:
47473
diff
changeset
|
1 #ifndef Py_PYTHON_H |
|
7352543cba03
Fix preprocessor statement.
Thomas Heller <theller@ctypes.org>
parents:
47473
diff
changeset
|
2 #define Py_PYTHON_H |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
3 /* Since this is a "meta-include" file, no #ifdef __cplusplus / extern "C" { */ |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
4 |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
5 /* Include nearly all Python header files */ |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
6 |
|
9744
85ab28644201
New version identification scheme.
Guido van Rossum <guido@python.org>
parents:
9586
diff
changeset
|
7 #include "patchlevel.h" |
|
18835
2dea40e40d9d
Patch #411138: Rename config.h to pyconfig.h. Closes bug #231774.
Martin v. Löwis <martin@v.loewis.de>
parents:
18611
diff
changeset
|
8 #include "pyconfig.h" |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47291
diff
changeset
|
9 #include "pymacconfig.h" |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
10 |
|
24121
bf3421a28744
Removed WITH_CYCLE_GC #ifdef-ery. Holes:
Tim Peters <tim.peters@gmail.com>
parents:
23950
diff
changeset
|
11 /* Cyclic gc is always enabled, starting with release 2.3a1. Supply the |
|
bf3421a28744
Removed WITH_CYCLE_GC #ifdef-ery. Holes:
Tim Peters <tim.peters@gmail.com>
parents:
23950
diff
changeset
|
12 * old symbol for the benefit of extension modules written before then |
|
bf3421a28744
Removed WITH_CYCLE_GC #ifdef-ery. Holes:
Tim Peters <tim.peters@gmail.com>
parents:
23950
diff
changeset
|
13 * that may be conditionalizing on it. The core doesn't use it anymore. |
|
bf3421a28744
Removed WITH_CYCLE_GC #ifdef-ery. Holes:
Tim Peters <tim.peters@gmail.com>
parents:
23950
diff
changeset
|
14 */ |
|
bf3421a28744
Removed WITH_CYCLE_GC #ifdef-ery. Holes:
Tim Peters <tim.peters@gmail.com>
parents:
23950
diff
changeset
|
15 #ifndef WITH_CYCLE_GC |
|
bf3421a28744
Removed WITH_CYCLE_GC #ifdef-ery. Holes:
Tim Peters <tim.peters@gmail.com>
parents:
23950
diff
changeset
|
16 #define WITH_CYCLE_GC 1 |
|
bf3421a28744
Removed WITH_CYCLE_GC #ifdef-ery. Holes:
Tim Peters <tim.peters@gmail.com>
parents:
23950
diff
changeset
|
17 #endif |
|
bf3421a28744
Removed WITH_CYCLE_GC #ifdef-ery. Holes:
Tim Peters <tim.peters@gmail.com>
parents:
23950
diff
changeset
|
18 |
|
14869
25ddd3dc7a7a
Rationalize use of limits.h, moving the inclusion to Python.h.
Fred Drake <fdrake@acm.org>
parents:
14674
diff
changeset
|
19 #include <limits.h> |
|
25ddd3dc7a7a
Rationalize use of limits.h, moving the inclusion to Python.h.
Fred Drake <fdrake@acm.org>
parents:
14674
diff
changeset
|
20 |
|
31250
dfd0114cf9ec
There are places in Python which assume bytes have 8-bits. Formalize that a
Skip Montanaro <skip@pobox.com>
parents:
30929
diff
changeset
|
21 #ifndef UCHAR_MAX |
|
dfd0114cf9ec
There are places in Python which assume bytes have 8-bits. Formalize that a
Skip Montanaro <skip@pobox.com>
parents:
30929
diff
changeset
|
22 #error "Something's broken. UCHAR_MAX should be defined in limits.h." |
|
dfd0114cf9ec
There are places in Python which assume bytes have 8-bits. Formalize that a
Skip Montanaro <skip@pobox.com>
parents:
30929
diff
changeset
|
23 #endif |
|
dfd0114cf9ec
There are places in Python which assume bytes have 8-bits. Formalize that a
Skip Montanaro <skip@pobox.com>
parents:
30929
diff
changeset
|
24 |
|
dfd0114cf9ec
There are places in Python which assume bytes have 8-bits. Formalize that a
Skip Montanaro <skip@pobox.com>
parents:
30929
diff
changeset
|
25 #if UCHAR_MAX != 255 |
|
31251
e118e4e8e224
Changed the UCHAR_MAX error msg a bit: we don't really assume anything
Tim Peters <tim.peters@gmail.com>
parents:
31250
diff
changeset
|
26 #error "Python's source code assumes C's unsigned char is an 8-bit type." |
|
31250
dfd0114cf9ec
There are places in Python which assume bytes have 8-bits. Formalize that a
Skip Montanaro <skip@pobox.com>
parents:
30929
diff
changeset
|
27 #endif |
|
dfd0114cf9ec
There are places in Python which assume bytes have 8-bits. Formalize that a
Skip Montanaro <skip@pobox.com>
parents:
30929
diff
changeset
|
28 |
|
8429
f7c58ed2981d
On SGI, we need to define _SGI_MP_SOURCE before including errno.h when
Guido van Rossum <guido@python.org>
parents:
5919
diff
changeset
|
29 #if defined(__sgi) && defined(WITH_THREAD) && !defined(_SGI_MP_SOURCE) |
|
f7c58ed2981d
On SGI, we need to define _SGI_MP_SOURCE before including errno.h when
Guido van Rossum <guido@python.org>
parents:
5919
diff
changeset
|
30 #define _SGI_MP_SOURCE |
|
f7c58ed2981d
On SGI, we need to define _SGI_MP_SOURCE before including errno.h when
Guido van Rossum <guido@python.org>
parents:
5919
diff
changeset
|
31 #endif |
|
f7c58ed2981d
On SGI, we need to define _SGI_MP_SOURCE before including errno.h when
Guido van Rossum <guido@python.org>
parents:
5919
diff
changeset
|
32 |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
33 #include <stdio.h> |
|
14497
d327fc47f8fd
Close SF bug 110826: a complaint about the way Python #define'd NULL.
Tim Peters <tim.peters@gmail.com>
parents:
14375
diff
changeset
|
34 #ifndef NULL |
|
d327fc47f8fd
Close SF bug 110826: a complaint about the way Python #define'd NULL.
Tim Peters <tim.peters@gmail.com>
parents:
14375
diff
changeset
|
35 # error "Python.h requires that stdio.h define NULL." |
|
d327fc47f8fd
Close SF bug 110826: a complaint about the way Python #define'd NULL.
Tim Peters <tim.peters@gmail.com>
parents:
14375
diff
changeset
|
36 #endif |
|
d327fc47f8fd
Close SF bug 110826: a complaint about the way Python #define'd NULL.
Tim Peters <tim.peters@gmail.com>
parents:
14375
diff
changeset
|
37 |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
38 #include <string.h> |
|
38716
42808526511c
Patch #1495999: Part two of Windows CE changes.
Martin v. Löwis <martin@v.loewis.de>
parents:
38232
diff
changeset
|
39 #ifdef HAVE_ERRNO_H |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
40 #include <errno.h> |
|
38232
aa620856e8a3
Patch #1492356: Port to Windows CE (patch set 1).
Martin v. Löwis <martin@v.loewis.de>
parents:
36065
diff
changeset
|
41 #endif |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
42 #include <stdlib.h> |
|
21712
c64fc56f6072
Include <unistd.h> in Python.h. Fixes #500924.
Martin v. Löwis <martin@v.loewis.de>
parents:
21197
diff
changeset
|
43 #ifdef HAVE_UNISTD_H |
|
c64fc56f6072
Include <unistd.h> in Python.h. Fixes #500924.
Martin v. Löwis <martin@v.loewis.de>
parents:
21197
diff
changeset
|
44 #include <unistd.h> |
|
c64fc56f6072
Include <unistd.h> in Python.h. Fixes #500924.
Martin v. Löwis <martin@v.loewis.de>
parents:
21197
diff
changeset
|
45 #endif |
|
18606
730ab0bed6ab
Define NDEBUG when Py_DEBUG undefined, to disable the assert macro.
Guido van Rossum <guido@python.org>
parents:
17597
diff
changeset
|
46 |
|
47605
e93598bd7f42
Correct an incorrect comment about our #include of stddef.h.
Gregory P. Smith <greg@mad-scientist.com>
parents:
47474
diff
changeset
|
47 /* For size_t? */ |
|
32833
dac9d0664fc3
Use intptr_t/uintptr_t on Windows
Martin v. Löwis <martin@v.loewis.de>
parents:
32421
diff
changeset
|
48 #ifdef HAVE_STDDEF_H |
|
dac9d0664fc3
Use intptr_t/uintptr_t on Windows
Martin v. Löwis <martin@v.loewis.de>
parents:
32421
diff
changeset
|
49 #include <stddef.h> |
|
dac9d0664fc3
Use intptr_t/uintptr_t on Windows
Martin v. Löwis <martin@v.loewis.de>
parents:
32421
diff
changeset
|
50 #endif |
|
dac9d0664fc3
Use intptr_t/uintptr_t on Windows
Martin v. Löwis <martin@v.loewis.de>
parents:
32421
diff
changeset
|
51 |
|
21197
ad7b4424aab6
Stop defining NDEBUG in Python.h, because it can interfere with
Tim Peters <tim.peters@gmail.com>
parents:
20282
diff
changeset
|
52 /* CAUTION: Build setups should ensure that NDEBUG is defined on the |
|
ad7b4424aab6
Stop defining NDEBUG in Python.h, because it can interfere with
Tim Peters <tim.peters@gmail.com>
parents:
20282
diff
changeset
|
53 * compiler command line when building Python in release mode; else |
|
ad7b4424aab6
Stop defining NDEBUG in Python.h, because it can interfere with
Tim Peters <tim.peters@gmail.com>
parents:
20282
diff
changeset
|
54 * assert() calls won't be removed. |
|
ad7b4424aab6
Stop defining NDEBUG in Python.h, because it can interfere with
Tim Peters <tim.peters@gmail.com>
parents:
20282
diff
changeset
|
55 */ |
|
13674
c90d94d287d7
Included assert.h in Python.h -- it's absurd that this basic tool of
Tim Peters <tim.peters@gmail.com>
parents:
13579
diff
changeset
|
56 #include <assert.h> |
|
c90d94d287d7
Included assert.h in Python.h -- it's absurd that this basic tool of
Tim Peters <tim.peters@gmail.com>
parents:
13579
diff
changeset
|
57 |
| 23462 | 58 #include "pyport.h" |
| 59 | |
|
23657
5f978196fd3d
Patch #555929: Cygwin AH_BOTTOM cleanup patch (*** version 2 ***)
Jason Tishler <jason@tishler.net>
parents:
23549
diff
changeset
|
60 /* pyconfig.h or pyport.h may or may not define DL_IMPORT */ |
|
5f978196fd3d
Patch #555929: Cygwin AH_BOTTOM cleanup patch (*** version 2 ***)
Jason Tishler <jason@tishler.net>
parents:
23549
diff
changeset
|
61 #ifndef DL_IMPORT /* declarations for DLL import/export */ |
|
5f978196fd3d
Patch #555929: Cygwin AH_BOTTOM cleanup patch (*** version 2 ***)
Jason Tishler <jason@tishler.net>
parents:
23549
diff
changeset
|
62 #define DL_IMPORT(RTYPE) RTYPE |
|
5f978196fd3d
Patch #555929: Cygwin AH_BOTTOM cleanup patch (*** version 2 ***)
Jason Tishler <jason@tishler.net>
parents:
23549
diff
changeset
|
63 #endif |
|
5f978196fd3d
Patch #555929: Cygwin AH_BOTTOM cleanup patch (*** version 2 ***)
Jason Tishler <jason@tishler.net>
parents:
23549
diff
changeset
|
64 #ifndef DL_EXPORT /* declarations for DLL import/export */ |
|
5f978196fd3d
Patch #555929: Cygwin AH_BOTTOM cleanup patch (*** version 2 ***)
Jason Tishler <jason@tishler.net>
parents:
23549
diff
changeset
|
65 #define DL_EXPORT(RTYPE) RTYPE |
|
5f978196fd3d
Patch #555929: Cygwin AH_BOTTOM cleanup patch (*** version 2 ***)
Jason Tishler <jason@tishler.net>
parents:
23549
diff
changeset
|
66 #endif |
|
5f978196fd3d
Patch #555929: Cygwin AH_BOTTOM cleanup patch (*** version 2 ***)
Jason Tishler <jason@tishler.net>
parents:
23549
diff
changeset
|
67 |
|
22479
fb45791150d1
Give Python a debug-mode pymalloc, much as sketched on Python-Dev.
Tim Peters <tim.peters@gmail.com>
parents:
21712
diff
changeset
|
68 /* Debug-mode build with pymalloc implies PYMALLOC_DEBUG. |
|
fb45791150d1
Give Python a debug-mode pymalloc, much as sketched on Python-Dev.
Tim Peters <tim.peters@gmail.com>
parents:
21712
diff
changeset
|
69 * PYMALLOC_DEBUG is in error if pymalloc is not in use. |
|
fb45791150d1
Give Python a debug-mode pymalloc, much as sketched on Python-Dev.
Tim Peters <tim.peters@gmail.com>
parents:
21712
diff
changeset
|
70 */ |
|
fb45791150d1
Give Python a debug-mode pymalloc, much as sketched on Python-Dev.
Tim Peters <tim.peters@gmail.com>
parents:
21712
diff
changeset
|
71 #if defined(Py_DEBUG) && defined(WITH_PYMALLOC) && !defined(PYMALLOC_DEBUG) |
|
fb45791150d1
Give Python a debug-mode pymalloc, much as sketched on Python-Dev.
Tim Peters <tim.peters@gmail.com>
parents:
21712
diff
changeset
|
72 #define PYMALLOC_DEBUG |
|
fb45791150d1
Give Python a debug-mode pymalloc, much as sketched on Python-Dev.
Tim Peters <tim.peters@gmail.com>
parents:
21712
diff
changeset
|
73 #endif |
|
fb45791150d1
Give Python a debug-mode pymalloc, much as sketched on Python-Dev.
Tim Peters <tim.peters@gmail.com>
parents:
21712
diff
changeset
|
74 #if defined(PYMALLOC_DEBUG) && !defined(WITH_PYMALLOC) |
|
fb45791150d1
Give Python a debug-mode pymalloc, much as sketched on Python-Dev.
Tim Peters <tim.peters@gmail.com>
parents:
21712
diff
changeset
|
75 #error "PYMALLOC_DEBUG requires WITH_PYMALLOC" |
|
fb45791150d1
Give Python a debug-mode pymalloc, much as sketched on Python-Dev.
Tim Peters <tim.peters@gmail.com>
parents:
21712
diff
changeset
|
76 #endif |
|
46473
5bc7b20dc04a
I finally got the time to update and merge Mark's and my trunk-math branch. The patch is collaborated work of Mark Dickinson and me. It was mostly done a few months ago. The patch fixes a lot of loose ends and edge cases related to operations with NaN, INF, very small values and complex math.
Christian Heimes <christian@cheimes.de>
parents:
46414
diff
changeset
|
77 #include "pymath.h" |
|
13776
33df3b516711
patch from Vladimir (move Py_Mem* interface to Include/pymem.h)
Peter Schneider-Kamp <nowonder@nowonder.de>
parents:
13761
diff
changeset
|
78 #include "pymem.h" |
|
33df3b516711
patch from Vladimir (move Py_Mem* interface to Include/pymem.h)
Peter Schneider-Kamp <nowonder@nowonder.de>
parents:
13761
diff
changeset
|
79 |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
80 #include "object.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
81 #include "objimpl.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
82 |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
83 #include "pydebug.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
84 |
|
12248
70154e2e9c89
Marc-Andre's third try at this bulk patch seems to work (except that
Guido van Rossum <guido@python.org>
parents:
11964
diff
changeset
|
85 #include "unicodeobject.h" |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
86 #include "intobject.h" |
|
22785
aa8d59823add
Add the 'bool' type and its values 'False' and 'True', as described in
Guido van Rossum <guido@python.org>
parents:
22567
diff
changeset
|
87 #include "boolobject.h" |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
88 #include "longobject.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
89 #include "floatobject.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
90 #ifndef WITHOUT_COMPLEX |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
91 #include "complexobject.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
92 #endif |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
93 #include "rangeobject.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
94 #include "stringobject.h" |
|
52749
75efd757434b
Issue #2396: backport the memoryview object.
Antoine Pitrou <solipsis@pitrou.net>
parents:
47605
diff
changeset
|
95 #include "memoryobject.h" |
|
9278
c39218a68df1
Add Greg Stein's buffer object API.
Guido van Rossum <guido@python.org>
parents:
8429
diff
changeset
|
96 #include "bufferobject.h" |
|
46107
5341b30b1812
Merged revisions 61750,61752,61754,61756,61760,61763,61768,61772,61775,61805,61809,61812,61819,61917,61920,61930,61933-61934 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45832
diff
changeset
|
97 #include "bytesobject.h" |
|
47291
04bd3690fb1f
First step of the C API rename:
Christian Heimes <christian@cheimes.de>
parents:
46473
diff
changeset
|
98 #include "bytearrayobject.h" |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
99 #include "tupleobject.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
100 #include "listobject.h" |
|
5508
3643f19d5ca1
Subsumed mappingobject.h in dictobject.h.
Guido van Rossum <guido@python.org>
parents:
5438
diff
changeset
|
101 #include "dictobject.h" |
|
23285
afe263672fd8
- New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
22785
diff
changeset
|
102 #include "enumobject.h" |
|
30929
54ff68e973ee
* Migrate set() and frozenset() from the sandbox.
Raymond Hettinger <python@rcn.com>
parents:
24752
diff
changeset
|
103 #include "setobject.h" |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
104 #include "methodobject.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
105 #include "moduleobject.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
106 #include "funcobject.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
107 #include "classobject.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
108 #include "fileobject.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
109 #include "cobject.h" |
|
59998
d11fbc796499
Backported PyCapsule from 3.1, and converted most uses of
Larry Hastings <larry@hastings.org>
parents:
56700
diff
changeset
|
110 #include "pycapsule.h" |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
111 #include "traceback.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
112 #include "sliceobject.h" |
|
16256
07071872de3e
PEP 227 implementation
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
14869
diff
changeset
|
113 #include "cellobject.h" |
|
17597
32e7d0898eab
Iterators phase 1. This comprises:
Guido van Rossum <guido@python.org>
parents:
16256
diff
changeset
|
114 #include "iterobject.h" |
|
32421
485d2ef43419
Patch #966493: Cleanup generator/eval_frame exposure.
Martin v. Löwis <martin@v.loewis.de>
parents:
32305
diff
changeset
|
115 #include "genobject.h" |
|
18933
09df3254b49d
Merge of descr-branch back into trunk.
Tim Peters <tim.peters@gmail.com>
parents:
18845
diff
changeset
|
116 #include "descrobject.h" |
|
46414
840064802952
Re-implement the 'warnings' module in C. This allows for usage of the
Brett Cannon <bcannon@gmail.com>
parents:
46149
diff
changeset
|
117 #include "warnings.h" |
|
20282
e3751af0f1dd
Include the weakref object interface.
Fred Drake <fdrake@acm.org>
parents:
18933
diff
changeset
|
118 #include "weakrefobject.h" |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
119 |
|
11964
4412c7a32497
Marc-Andre Lemburg: include unicodeobject.h and codecs.h
Guido van Rossum <guido@python.org>
parents:
9744
diff
changeset
|
120 #include "codecs.h" |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
121 #include "pyerrors.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
122 |
|
5848
f64a5f750696
Include pystate.h earlier so it can be referenced by ceval.h.
Guido van Rossum <guido@python.org>
parents:
5508
diff
changeset
|
123 #include "pystate.h" |
|
f64a5f750696
Include pystate.h earlier so it can be referenced by ceval.h.
Guido van Rossum <guido@python.org>
parents:
5508
diff
changeset
|
124 |
|
36065
ea083efdc96c
Merge from ast-arena. This reduces the code in Python/ast.c by ~300 lines,
Neal Norwitz <nnorwitz@gmail.com>
parents:
35742
diff
changeset
|
125 #include "pyarena.h" |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
126 #include "modsupport.h" |
|
18611
fdb36a0c7e6e
Part way to allowing "from __future__ import generators" to communicate
Tim Peters <tim.peters@gmail.com>
parents:
18607
diff
changeset
|
127 #include "pythonrun.h" |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
128 #include "ceval.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
129 #include "sysmodule.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
130 #include "intrcheck.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
131 #include "import.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
132 |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
133 #include "abstract.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
134 |
|
31656
03693af46afb
compile.h and eval.h weren't being included which kept a fair bit of the
Skip Montanaro <skip@pobox.com>
parents:
31504
diff
changeset
|
135 #include "compile.h" |
|
03693af46afb
compile.h and eval.h weren't being included which kept a fair bit of the
Skip Montanaro <skip@pobox.com>
parents:
31504
diff
changeset
|
136 #include "eval.h" |
|
03693af46afb
compile.h and eval.h weren't being included which kept a fair bit of the
Skip Montanaro <skip@pobox.com>
parents:
31504
diff
changeset
|
137 |
|
53539
4bdd847b57c2
Issue #5793: rationalize isdigit / isalpha / tolower, etc. Will port to py3k. Should fix Windows buildbot errors.
Eric Smith <eric@trueblade.com>
parents:
52749
diff
changeset
|
138 #include "pyctype.h" |
|
32305
13656d58d450
Patch #774665: Make Python LC_NUMERIC agnostic.
Martin v. Löwis <martin@v.loewis.de>
parents:
31656
diff
changeset
|
139 #include "pystrtod.h" |
|
44344
1d69aabf6f7f
Applied patch #1635: Float patch for inf and nan on Windows (and other platforms).
Christian Heimes <christian@cheimes.de>
parents:
38716
diff
changeset
|
140 #include "pystrcmp.h" |
|
56700
2146bbdf4ed7
Issue #7117: Prepare for backport of py3k float repr.
Mark Dickinson <dickinsm@gmail.com>
parents:
53539
diff
changeset
|
141 #include "dtoa.h" |
|
32305
13656d58d450
Patch #774665: Make Python LC_NUMERIC agnostic.
Martin v. Löwis <martin@v.loewis.de>
parents:
31656
diff
changeset
|
142 |
|
23950
f7ce696979e1
SF 569257 -- Name mangle double underscored variable names in __slots__.
Raymond Hettinger <python@rcn.com>
parents:
23746
diff
changeset
|
143 /* _Py_Mangle is defined in compile.c */ |
|
35742
1c4d192f1568
Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
32833
diff
changeset
|
144 PyAPI_FUNC(PyObject*) _Py_Mangle(PyObject *p, PyObject *name); |
|
23950
f7ce696979e1
SF 569257 -- Name mangle double underscored variable names in __slots__.
Raymond Hettinger <python@rcn.com>
parents:
23746
diff
changeset
|
145 |
|
22567
aedda0abd313
Add a comment that PyArg_GetInt is deprecated and should not be used
Neal Norwitz <nnorwitz@gmail.com>
parents:
22561
diff
changeset
|
146 /* PyArg_GetInt is deprecated and should not be used, use PyArg_Parse(). */ |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
147 #define PyArg_GetInt(v, a) PyArg_Parse((v), "i", (a)) |
|
22561
043ad7adc896
Remove many uses of PyArg_NoArgs macro, change METH_OLDARGS to METH_NOARGS.
Neal Norwitz <nnorwitz@gmail.com>
parents:
22479
diff
changeset
|
148 |
|
043ad7adc896
Remove many uses of PyArg_NoArgs macro, change METH_OLDARGS to METH_NOARGS.
Neal Norwitz <nnorwitz@gmail.com>
parents:
22479
diff
changeset
|
149 /* PyArg_NoArgs should not be necessary. |
|
043ad7adc896
Remove many uses of PyArg_NoArgs macro, change METH_OLDARGS to METH_NOARGS.
Neal Norwitz <nnorwitz@gmail.com>
parents:
22479
diff
changeset
|
150 Set ml_flags in the PyMethodDef to METH_NOARGS. */ |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
151 #define PyArg_NoArgs(v) PyArg_Parse(v, "") |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
152 |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
153 /* Convert a possibly signed character to a nonnegative int */ |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
154 /* XXX This assumes characters are 8 bits wide */ |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
155 #ifdef __CHAR_UNSIGNED__ |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
156 #define Py_CHARMASK(c) (c) |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
157 #else |
|
46149
7fdff02e6f45
Revert r61969 which added casts to Py_CHARMASK to avoid compiler warnings.
Neal Norwitz <nnorwitz@gmail.com>
parents:
46107
diff
changeset
|
158 #define Py_CHARMASK(c) ((unsigned char)((c) & 0xff)) |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
159 #endif |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
160 |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
161 #include "pyfpe.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
162 |
| 12784 | 163 /* These definitions must match corresponding definitions in graminit.h. |
|
5438
e926c331ebbf
Instead of importing graminit.h whenever one of the three grammar 'root'
Guido van Rossum <guido@python.org>
parents:
5405
diff
changeset
|
164 There's code in compile.c that checks that they are the same. */ |
|
e926c331ebbf
Instead of importing graminit.h whenever one of the three grammar 'root'
Guido van Rossum <guido@python.org>
parents:
5405
diff
changeset
|
165 #define Py_single_input 256 |
|
e926c331ebbf
Instead of importing graminit.h whenever one of the three grammar 'root'
Guido van Rossum <guido@python.org>
parents:
5405
diff
changeset
|
166 #define Py_file_input 257 |
|
e926c331ebbf
Instead of importing graminit.h whenever one of the three grammar 'root'
Guido van Rossum <guido@python.org>
parents:
5405
diff
changeset
|
167 #define Py_eval_input 258 |
|
e926c331ebbf
Instead of importing graminit.h whenever one of the three grammar 'root'
Guido van Rossum <guido@python.org>
parents:
5405
diff
changeset
|
168 |
|
14674
756c8c6535fe
Make better use of GNU Pth -- patch by Andy Dustman.
Guido van Rossum <guido@python.org>
parents:
14497
diff
changeset
|
169 #ifdef HAVE_PTH |
|
12611
b320cf3a98b9
Andy Dustman: add GNU pth user-space thread support.
Guido van Rossum <guido@python.org>
parents:
12248
diff
changeset
|
170 /* GNU pth user-space thread support */ |
|
b320cf3a98b9
Andy Dustman: add GNU pth user-space thread support.
Guido van Rossum <guido@python.org>
parents:
12248
diff
changeset
|
171 #include <pth.h> |
|
b320cf3a98b9
Andy Dustman: add GNU pth user-space thread support.
Guido van Rossum <guido@python.org>
parents:
12248
diff
changeset
|
172 #endif |
|
23746
43ddcdcd3c71
Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents:
23657
diff
changeset
|
173 |
|
43ddcdcd3c71
Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents:
23657
diff
changeset
|
174 /* Define macros for inline documentation. */ |
|
43ddcdcd3c71
Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents:
23657
diff
changeset
|
175 #define PyDoc_VAR(name) static char name[] |
|
43ddcdcd3c71
Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents:
23657
diff
changeset
|
176 #define PyDoc_STRVAR(name,str) PyDoc_VAR(name) = PyDoc_STR(str) |
|
43ddcdcd3c71
Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents:
23657
diff
changeset
|
177 #ifdef WITH_DOC_STRINGS |
|
43ddcdcd3c71
Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents:
23657
diff
changeset
|
178 #define PyDoc_STR(str) str |
|
43ddcdcd3c71
Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents:
23657
diff
changeset
|
179 #else |
|
43ddcdcd3c71
Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents:
23657
diff
changeset
|
180 #define PyDoc_STR(str) "" |
|
43ddcdcd3c71
Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents:
23657
diff
changeset
|
181 #endif |
|
43ddcdcd3c71
Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents:
23657
diff
changeset
|
182 |
|
5398
72b231edfb25
Several oopsies -- Py_ALLOBJECTS_H -> Py_PYTHON_H, temporarily removed
Guido van Rossum <guido@python.org>
parents:
5397
diff
changeset
|
183 #endif /* !Py_PYTHON_H */ |
