annotate Include/Python.h @ 46477:b69f443ef480

Merged revisions 62380,62382-62383 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r62380 | christian.heimes | 2008-04-19 01:13:07 +0200 (Sat, 19 Apr 2008) | 3 lines 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. The patch also adds acosh, asinh, atanh, log1p and copysign to all platforms. Finally it fixes differences between platforms like different results or exceptions for edge cases. Have fun :) ........ r62382 | christian.heimes | 2008-04-19 01:40:40 +0200 (Sat, 19 Apr 2008) | 2 lines Added new files to Windows project files More Windows related fixes are coming soon ........ r62383 | christian.heimes | 2008-04-19 01:49:11 +0200 (Sat, 19 Apr 2008) | 1 line Stupid me. Py_RETURN_NAN should actually return something ... ........
author Christian Heimes <christian@cheimes.de>
date Sat, 19 Apr 2008 00:31:39 +0000
parents 47d9bbe10897
children 811a80651232
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5398
72b231edfb25 Several oopsies -- Py_ALLOBJECTS_H -> Py_PYTHON_H, temporarily removed
Guido van Rossum <guido@python.org>
parents: 5397
diff changeset
1 #ifndef Py_PYTHON_H
72b231edfb25 Several oopsies -- Py_ALLOBJECTS_H -> Py_PYTHON_H, temporarily removed
Guido van Rossum <guido@python.org>
parents: 5397
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"
5397
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
9
14869
25ddd3dc7a7a Rationalize use of limits.h, moving the inclusion to Python.h.
Fred Drake <fdrake@acm.org>
parents: 14674
diff changeset
10 #include <limits.h>
25ddd3dc7a7a Rationalize use of limits.h, moving the inclusion to Python.h.
Fred Drake <fdrake@acm.org>
parents: 14674
diff changeset
11
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
12 #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
13 #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
14 #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
15
dfd0114cf9ec There are places in Python which assume bytes have 8-bits. Formalize that a
Skip Montanaro <skip@pobox.com>
parents: 30929
diff changeset
16 #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
17 #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
18 #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
19
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
20 #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
21 #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
22 #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
23
5397
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
24 #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
25 #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
26 # 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
27 #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
28
5397
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
29 #include <string.h>
39442
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 38453
diff changeset
30 #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
31 #include <errno.h>
38453
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 37927
diff changeset
32 #endif
5397
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
33 #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
34 #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
35 #include <unistd.h>
c64fc56f6072 Include <unistd.h> in Python.h. Fixes #500924.
Martin v. Löwis <martin@v.loewis.de>
parents: 21197
diff changeset
36 #endif
18606
730ab0bed6ab Define NDEBUG when Py_DEBUG undefined, to disable the assert macro.
Guido van Rossum <guido@python.org>
parents: 17597
diff changeset
37
32833
dac9d0664fc3 Use intptr_t/uintptr_t on Windows
Martin v. Löwis <martin@v.loewis.de>
parents: 32421
diff changeset
38 /* For uintptr_t, intptr_t */
dac9d0664fc3 Use intptr_t/uintptr_t on Windows
Martin v. Löwis <martin@v.loewis.de>
parents: 32421
diff changeset
39 #ifdef HAVE_STDDEF_H
dac9d0664fc3 Use intptr_t/uintptr_t on Windows
Martin v. Löwis <martin@v.loewis.de>
parents: 32421
diff changeset
40 #include <stddef.h>
dac9d0664fc3 Use intptr_t/uintptr_t on Windows
Martin v. Löwis <martin@v.loewis.de>
parents: 32421
diff changeset
41 #endif
dac9d0664fc3 Use intptr_t/uintptr_t on Windows
Martin v. Löwis <martin@v.loewis.de>
parents: 32421
diff changeset
42
21197
ad7b4424aab6 Stop defining NDEBUG in Python.h, because it can interfere with
Tim Peters <tim.peters@gmail.com>
parents: 20282
diff changeset
43 /* 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
44 * 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
45 * 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
46 */
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
47 #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
48
23462
61348aa2ff98 Back out #555929
Martin v. Löwis <martin@v.loewis.de>
parents: 23458
diff changeset
49 #include "pyport.h"
61348aa2ff98 Back out #555929
Martin v. Löwis <martin@v.loewis.de>
parents: 23458
diff changeset
50
22479
fb45791150d1 Give Python a debug-mode pymalloc, much as sketched on Python-Dev.
Tim Peters <tim.peters@gmail.com>
parents: 21712
diff changeset
51 /* 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
52 * 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
53 */
fb45791150d1 Give Python a debug-mode pymalloc, much as sketched on Python-Dev.
Tim Peters <tim.peters@gmail.com>
parents: 21712
diff changeset
54 #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
55 #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
56 #endif
fb45791150d1 Give Python a debug-mode pymalloc, much as sketched on Python-Dev.
Tim Peters <tim.peters@gmail.com>
parents: 21712
diff changeset
57 #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
58 #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
59 #endif
46477
b69f443ef480 Merged revisions 62380,62382-62383 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 46430
diff changeset
60 #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
61 #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
62
5397
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
63 #include "object.h"
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
64 #include "objimpl.h"
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
65
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
66 #include "pydebug.h"
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
67
37927
a7f3765ea464 Here is a bytes type. It's very minimal but it's a start.
Guido van Rossum <guido@python.org>
parents: 37058
diff changeset
68 #include "bytesobject.h"
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
69 #include "unicodeobject.h"
42334
e70cdce0e8b2 Merged revisions 56467-56482 via svnmerge from
Martin v. Löwis <martin@v.loewis.de>
parents: 40528
diff changeset
70 #include "longobject.h"
e70cdce0e8b2 Merged revisions 56467-56482 via svnmerge from
Martin v. Löwis <martin@v.loewis.de>
parents: 40528
diff changeset
71 #include "longintrepr.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
72 #include "boolobject.h"
5397
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
73 #include "floatobject.h"
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
74 #ifndef WITHOUT_COMPLEX
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
75 #include "complexobject.h"
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
76 #endif
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
77 #include "rangeobject.h"
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
78 #include "stringobject.h"
42665
85c22b4d4455 Merged in py3k-buffer branch to main line. All objects now use the buffer protocol in PEP 3118.
Travis E. Oliphant <oliphant@enthought.com>
parents: 42334
diff changeset
79 #include "memoryobject.h"
5397
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
80 #include "tupleobject.h"
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
81 #include "listobject.h"
5508
3643f19d5ca1 Subsumed mappingobject.h in dictobject.h.
Guido van Rossum <guido@python.org>
parents: 5438
diff changeset
82 #include "dictobject.h"
23285
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents: 22785
diff changeset
83 #include "enumobject.h"
30929
54ff68e973ee * Migrate set() and frozenset() from the sandbox.
Raymond Hettinger <python@rcn.com>
parents: 24752
diff changeset
84 #include "setobject.h"
5397
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
85 #include "methodobject.h"
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
86 #include "moduleobject.h"
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
87 #include "funcobject.h"
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
88 #include "classobject.h"
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
89 #include "fileobject.h"
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
90 #include "cobject.h"
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
91 #include "traceback.h"
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
92 #include "sliceobject.h"
16256
07071872de3e PEP 227 implementation
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 14869
diff changeset
93 #include "cellobject.h"
17597
32e7d0898eab Iterators phase 1. This comprises:
Guido van Rossum <guido@python.org>
parents: 16256
diff changeset
94 #include "iterobject.h"
32421
485d2ef43419 Patch #966493: Cleanup generator/eval_frame exposure.
Martin v. Löwis <martin@v.loewis.de>
parents: 32305
diff changeset
95 #include "genobject.h"
18933
09df3254b49d Merge of descr-branch back into trunk.
Tim Peters <tim.peters@gmail.com>
parents: 18845
diff changeset
96 #include "descrobject.h"
46430
47d9bbe10897 Merged revisions 62260-62261,62266,62271,62277-62279,62289-62290,62293-62298,62302-62306,62308,62311,62313-62315,62319-62321 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 46161
diff changeset
97 #include "warnings.h"
20282
e3751af0f1dd Include the weakref object interface.
Fred Drake <fdrake@acm.org>
parents: 18933
diff changeset
98 #include "weakrefobject.h"
5397
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
99
11964
4412c7a32497 Marc-Andre Lemburg: include unicodeobject.h and codecs.h
Guido van Rossum <guido@python.org>
parents: 9744
diff changeset
100 #include "codecs.h"
5397
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
101 #include "pyerrors.h"
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
102
5848
f64a5f750696 Include pystate.h earlier so it can be referenced by ceval.h.
Guido van Rossum <guido@python.org>
parents: 5508
diff changeset
103 #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
104
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
105 #include "pyarena.h"
5397
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
106 #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
107 #include "pythonrun.h"
5397
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
108 #include "ceval.h"
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
109 #include "sysmodule.h"
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
110 #include "intrcheck.h"
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
111 #include "import.h"
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
112
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
113 #include "abstract.h"
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
114
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
115 #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
116 #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
117
32305
13656d58d450 Patch #774665: Make Python LC_NUMERIC agnostic.
Martin v. Löwis <martin@v.loewis.de>
parents: 31656
diff changeset
118 #include "pystrtod.h"
44349
4dc01402d78a Merged revisions 59541-59561 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 44107
diff changeset
119 #include "pystrcmp.h"
32305
13656d58d450 Patch #774665: Make Python LC_NUMERIC agnostic.
Martin v. Löwis <martin@v.loewis.de>
parents: 31656
diff changeset
120
23950
f7ce696979e1 SF 569257 -- Name mangle double underscored variable names in __slots__.
Raymond Hettinger <python@rcn.com>
parents: 23746
diff changeset
121 /* _Py_Mangle is defined in compile.c */
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 32833
diff changeset
122 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
123
5397
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
124 /* 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
125 /* 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
126 #ifdef __CHAR_UNSIGNED__
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
127 #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
128 #else
46161
848160d10780 Merged revisions 61981,61984-61987,61992-61993,61997-62000 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 44349
diff changeset
129 #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
130 #endif
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
131
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
132 #include "pyfpe.h"
fd7eb058ce5d Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents: 2129
diff changeset
133
12784
5398b18f8319 Typo fix in comment.
Greg Ward <gward@python.net>
parents: 12611
diff changeset
134 /* 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
135 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
136 #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
137 #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
138 #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
139
14674
756c8c6535fe Make better use of GNU Pth -- patch by Andy Dustman.
Guido van Rossum <guido@python.org>
parents: 14497
diff changeset
140 #ifdef HAVE_PTH
12611
b320cf3a98b9 Andy Dustman: add GNU pth user-space thread support.
Guido van Rossum <guido@python.org>
parents: 12248
diff changeset
141 /* 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
142 #include <pth.h>
b320cf3a98b9 Andy Dustman: add GNU pth user-space thread support.
Guido van Rossum <guido@python.org>
parents: 12248
diff changeset
143 #endif
23746
43ddcdcd3c71 Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents: 23657
diff changeset
144
43ddcdcd3c71 Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents: 23657
diff changeset
145 /* Define macros for inline documentation. */
43ddcdcd3c71 Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents: 23657
diff changeset
146 #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
147 #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
148 #ifdef WITH_DOC_STRINGS
43ddcdcd3c71 Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents: 23657
diff changeset
149 #define PyDoc_STR(str) str
43ddcdcd3c71 Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents: 23657
diff changeset
150 #else
43ddcdcd3c71 Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents: 23657
diff changeset
151 #define PyDoc_STR(str) ""
43ddcdcd3c71 Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents: 23657
diff changeset
152 #endif
43ddcdcd3c71 Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents: 23657
diff changeset
153
5398
72b231edfb25 Several oopsies -- Py_ALLOBJECTS_H -> Py_PYTHON_H, temporarily removed
Guido van Rossum <guido@python.org>
parents: 5397
diff changeset
154 #endif /* !Py_PYTHON_H */