annotate Include/pyerrors.h @ 86913:8c9769b17171 3.2

Backout 7d399099334d.
author Georg Brandl <georg@python.org>
date Mon, 04 Nov 2013 07:44:29 +0100
parents 3c9232a684ae
children b39270c6b8d1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1329
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1288
diff changeset
1 #ifndef Py_ERRORS_H
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1288
diff changeset
2 #define Py_ERRORS_H
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1288
diff changeset
3 #ifdef __cplusplus
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1288
diff changeset
4 extern "C" {
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1288
diff changeset
5 #endif
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1288
diff changeset
6
38453
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
7 /* Error objects */
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
8
66664
62b61abd02b8 Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents: 65688
diff changeset
9 #ifndef Py_LIMITED_API
43102
981ecc526703 Issue #1066: implement PEP 3109, 2/3 of PEP 3134.
Collin Winter <collinw@gmail.com>
parents: 42794
diff changeset
10 /* PyException_HEAD defines the initial segment of every exception class. */
43109
eee5bdd37158 Fix a compile error on Windows.
Collin Winter <collinw@gmail.com>
parents: 43102
diff changeset
11 #define PyException_HEAD PyObject_HEAD PyObject *dict;\
61467
f197407bdba2 Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 54129
diff changeset
12 PyObject *args; PyObject *traceback;\
f197407bdba2 Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 54129
diff changeset
13 PyObject *context; PyObject *cause;
43102
981ecc526703 Issue #1066: implement PEP 3109, 2/3 of PEP 3134.
Collin Winter <collinw@gmail.com>
parents: 42794
diff changeset
14
38453
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
15 typedef struct {
43102
981ecc526703 Issue #1066: implement PEP 3109, 2/3 of PEP 3134.
Collin Winter <collinw@gmail.com>
parents: 42794
diff changeset
16 PyException_HEAD
38453
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
17 } PyBaseExceptionObject;
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
18
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
19 typedef struct {
43102
981ecc526703 Issue #1066: implement PEP 3109, 2/3 of PEP 3134.
Collin Winter <collinw@gmail.com>
parents: 42794
diff changeset
20 PyException_HEAD
38453
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
21 PyObject *msg;
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
22 PyObject *filename;
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
23 PyObject *lineno;
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
24 PyObject *offset;
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
25 PyObject *text;
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
26 PyObject *print_file_and_line;
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
27 } PySyntaxErrorObject;
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
28
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
29 typedef struct {
43102
981ecc526703 Issue #1066: implement PEP 3109, 2/3 of PEP 3134.
Collin Winter <collinw@gmail.com>
parents: 42794
diff changeset
30 PyException_HEAD
38453
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
31 PyObject *encoding;
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
32 PyObject *object;
42110
e4f649c4f457 Merged revisions 55962-56019 via svnmerge from
Guido van Rossum <guido@python.org>
parents: 42084
diff changeset
33 Py_ssize_t start;
e4f649c4f457 Merged revisions 55962-56019 via svnmerge from
Guido van Rossum <guido@python.org>
parents: 42084
diff changeset
34 Py_ssize_t end;
38453
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
35 PyObject *reason;
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
36 } PyUnicodeErrorObject;
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
37
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
38 typedef struct {
43102
981ecc526703 Issue #1066: implement PEP 3109, 2/3 of PEP 3134.
Collin Winter <collinw@gmail.com>
parents: 42794
diff changeset
39 PyException_HEAD
38453
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
40 PyObject *code;
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
41 } PySystemExitObject;
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
42
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
43 typedef struct {
43102
981ecc526703 Issue #1066: implement PEP 3109, 2/3 of PEP 3134.
Collin Winter <collinw@gmail.com>
parents: 42794
diff changeset
44 PyException_HEAD
38453
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
45 PyObject *myerrno;
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
46 PyObject *strerror;
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
47 PyObject *filename;
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
48 } PyEnvironmentErrorObject;
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
49
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
50 #ifdef MS_WINDOWS
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
51 typedef struct {
43102
981ecc526703 Issue #1066: implement PEP 3109, 2/3 of PEP 3134.
Collin Winter <collinw@gmail.com>
parents: 42794
diff changeset
52 PyException_HEAD
38453
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
53 PyObject *myerrno;
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
54 PyObject *strerror;
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
55 PyObject *filename;
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
56 PyObject *winerror;
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
57 } PyWindowsErrorObject;
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
58 #endif
66664
62b61abd02b8 Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents: 65688
diff changeset
59 #endif
145
853b736a6a9e Added copyright notice.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
60
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
61 /* Error handling definitions */
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
62
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
63 PyAPI_FUNC(void) PyErr_SetNone(PyObject *);
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
64 PyAPI_FUNC(void) PyErr_SetObject(PyObject *, PyObject *);
65190
0c4884db53e0 Issue #9738: Document PyErr_SetString() and PyErr_SetFromErrnoWithFilename()
Victor Stinner <victor.stinner@haypocalc.com>
parents: 64859
diff changeset
65 PyAPI_FUNC(void) PyErr_SetString(
0c4884db53e0 Issue #9738: Document PyErr_SetString() and PyErr_SetFromErrnoWithFilename()
Victor Stinner <victor.stinner@haypocalc.com>
parents: 64859
diff changeset
66 PyObject *exception,
0c4884db53e0 Issue #9738: Document PyErr_SetString() and PyErr_SetFromErrnoWithFilename()
Victor Stinner <victor.stinner@haypocalc.com>
parents: 64859
diff changeset
67 const char *string /* decoded from utf-8 */
0c4884db53e0 Issue #9738: Document PyErr_SetString() and PyErr_SetFromErrnoWithFilename()
Victor Stinner <victor.stinner@haypocalc.com>
parents: 64859
diff changeset
68 );
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
69 PyAPI_FUNC(PyObject *) PyErr_Occurred(void);
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
70 PyAPI_FUNC(void) PyErr_Clear(void);
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
71 PyAPI_FUNC(void) PyErr_Fetch(PyObject **, PyObject **, PyObject **);
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
72 PyAPI_FUNC(void) PyErr_Restore(PyObject *, PyObject *, PyObject *);
66664
62b61abd02b8 Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents: 65688
diff changeset
73 PyAPI_FUNC(void) Py_FatalError(const char *message);
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
74
66664
62b61abd02b8 Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents: 65688
diff changeset
75 #if defined(Py_DEBUG) || defined(Py_LIMITED_API)
35316
ce0995e01d3c * set_new() doesn't need to zero the structure a second time after tp_alloc
Raymond Hettinger <python@rcn.com>
parents: 35298
diff changeset
76 #define _PyErr_OCCURRED() PyErr_Occurred()
ce0995e01d3c * set_new() doesn't need to zero the structure a second time after tp_alloc
Raymond Hettinger <python@rcn.com>
parents: 35298
diff changeset
77 #else
ce0995e01d3c * set_new() doesn't need to zero the structure a second time after tp_alloc
Raymond Hettinger <python@rcn.com>
parents: 35298
diff changeset
78 #define _PyErr_OCCURRED() (_PyThreadState_Current->curexc_type)
ce0995e01d3c * set_new() doesn't need to zero the structure a second time after tp_alloc
Raymond Hettinger <python@rcn.com>
parents: 35298
diff changeset
79 #endif
ce0995e01d3c * set_new() doesn't need to zero the structure a second time after tp_alloc
Raymond Hettinger <python@rcn.com>
parents: 35298
diff changeset
80
6146
a2a1df0ca808 Three new C API functions:
Barry Warsaw <barry@python.org>
parents: 5230
diff changeset
81 /* Error testing and normalization */
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
82 PyAPI_FUNC(int) PyErr_GivenExceptionMatches(PyObject *, PyObject *);
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
83 PyAPI_FUNC(int) PyErr_ExceptionMatches(PyObject *);
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
84 PyAPI_FUNC(void) PyErr_NormalizeException(PyObject**, PyObject**, PyObject**);
6146
a2a1df0ca808 Three new C API functions:
Barry Warsaw <barry@python.org>
parents: 5230
diff changeset
85
43102
981ecc526703 Issue #1066: implement PEP 3109, 2/3 of PEP 3134.
Collin Winter <collinw@gmail.com>
parents: 42794
diff changeset
86 /* Traceback manipulation (PEP 3134) */
981ecc526703 Issue #1066: implement PEP 3109, 2/3 of PEP 3134.
Collin Winter <collinw@gmail.com>
parents: 42794
diff changeset
87 PyAPI_FUNC(int) PyException_SetTraceback(PyObject *, PyObject *);
981ecc526703 Issue #1066: implement PEP 3109, 2/3 of PEP 3134.
Collin Winter <collinw@gmail.com>
parents: 42794
diff changeset
88 PyAPI_FUNC(PyObject *) PyException_GetTraceback(PyObject *);
981ecc526703 Issue #1066: implement PEP 3109, 2/3 of PEP 3134.
Collin Winter <collinw@gmail.com>
parents: 42794
diff changeset
89
981ecc526703 Issue #1066: implement PEP 3109, 2/3 of PEP 3134.
Collin Winter <collinw@gmail.com>
parents: 42794
diff changeset
90 /* Cause manipulation (PEP 3134) */
981ecc526703 Issue #1066: implement PEP 3109, 2/3 of PEP 3134.
Collin Winter <collinw@gmail.com>
parents: 42794
diff changeset
91 PyAPI_FUNC(PyObject *) PyException_GetCause(PyObject *);
981ecc526703 Issue #1066: implement PEP 3109, 2/3 of PEP 3134.
Collin Winter <collinw@gmail.com>
parents: 42794
diff changeset
92 PyAPI_FUNC(void) PyException_SetCause(PyObject *, PyObject *);
981ecc526703 Issue #1066: implement PEP 3109, 2/3 of PEP 3134.
Collin Winter <collinw@gmail.com>
parents: 42794
diff changeset
93
981ecc526703 Issue #1066: implement PEP 3109, 2/3 of PEP 3134.
Collin Winter <collinw@gmail.com>
parents: 42794
diff changeset
94 /* Context manipulation (PEP 3134) */
981ecc526703 Issue #1066: implement PEP 3109, 2/3 of PEP 3134.
Collin Winter <collinw@gmail.com>
parents: 42794
diff changeset
95 PyAPI_FUNC(PyObject *) PyException_GetContext(PyObject *);
981ecc526703 Issue #1066: implement PEP 3109, 2/3 of PEP 3134.
Collin Winter <collinw@gmail.com>
parents: 42794
diff changeset
96 PyAPI_FUNC(void) PyException_SetContext(PyObject *, PyObject *);
981ecc526703 Issue #1066: implement PEP 3109, 2/3 of PEP 3134.
Collin Winter <collinw@gmail.com>
parents: 42794
diff changeset
97
981ecc526703 Issue #1066: implement PEP 3109, 2/3 of PEP 3134.
Collin Winter <collinw@gmail.com>
parents: 42794
diff changeset
98
36751
8e04de2480e4 PEP 352 implementation. Creates a new base class, BaseException, which has an
Brett Cannon <bcannon@gmail.com>
parents: 36501
diff changeset
99 /* */
6146
a2a1df0ca808 Three new C API functions:
Barry Warsaw <barry@python.org>
parents: 5230
diff changeset
100
61467
f197407bdba2 Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 54129
diff changeset
101 #define PyExceptionClass_Check(x) \
f197407bdba2 Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 54129
diff changeset
102 (PyType_Check((x)) && \
f197407bdba2 Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 54129
diff changeset
103 PyType_FastSubclass((PyTypeObject*)(x), Py_TPFLAGS_BASE_EXC_SUBCLASS))
36751
8e04de2480e4 PEP 352 implementation. Creates a new base class, BaseException, which has an
Brett Cannon <bcannon@gmail.com>
parents: 36501
diff changeset
104
61467
f197407bdba2 Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 54129
diff changeset
105 #define PyExceptionInstance_Check(x) \
f197407bdba2 Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 54129
diff changeset
106 PyType_FastSubclass((x)->ob_type, Py_TPFLAGS_BASE_EXC_SUBCLASS)
36751
8e04de2480e4 PEP 352 implementation. Creates a new base class, BaseException, which has an
Brett Cannon <bcannon@gmail.com>
parents: 36501
diff changeset
107
36988
49c6eb688906 Checkpoint. 218 tests are okay; 53 are failing. Done so far:
Guido van Rossum <guido@python.org>
parents: 36751
diff changeset
108 #define PyExceptionClass_Name(x) \
61467
f197407bdba2 Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 54129
diff changeset
109 ((char *)(((PyTypeObject*)(x))->tp_name))
36751
8e04de2480e4 PEP 352 implementation. Creates a new base class, BaseException, which has an
Brett Cannon <bcannon@gmail.com>
parents: 36501
diff changeset
110
36988
49c6eb688906 Checkpoint. 218 tests are okay; 53 are failing. Done so far:
Guido van Rossum <guido@python.org>
parents: 36751
diff changeset
111 #define PyExceptionInstance_Class(x) ((PyObject*)((x)->ob_type))
36751
8e04de2480e4 PEP 352 implementation. Creates a new base class, BaseException, which has an
Brett Cannon <bcannon@gmail.com>
parents: 36501
diff changeset
112
43102
981ecc526703 Issue #1066: implement PEP 3109, 2/3 of PEP 3134.
Collin Winter <collinw@gmail.com>
parents: 42794
diff changeset
113
86
a6934380c6e7 "Compiling" version
Guido van Rossum <guido@python.org>
parents: 23
diff changeset
114 /* Predefined exceptions */
10
a71e896ed047 Made exception objects extern.
Guido van Rossum <guido@python.org>
parents: 6
diff changeset
115
36751
8e04de2480e4 PEP 352 implementation. Creates a new base class, BaseException, which has an
Brett Cannon <bcannon@gmail.com>
parents: 36501
diff changeset
116 PyAPI_DATA(PyObject *) PyExc_BaseException;
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
117 PyAPI_DATA(PyObject *) PyExc_Exception;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
118 PyAPI_DATA(PyObject *) PyExc_StopIteration;
35298
b2fe5f8fcfdd PEP 342 implementation. Per Guido's comments, the generator throw()
Phillip J. Eby <pje@telecommunity.com>
parents: 33256
diff changeset
119 PyAPI_DATA(PyObject *) PyExc_GeneratorExit;
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
120 PyAPI_DATA(PyObject *) PyExc_ArithmeticError;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
121 PyAPI_DATA(PyObject *) PyExc_LookupError;
6191
3a6b7a377dc3 Added externs for three new exceptions PyExc_StandardError,
Barry Warsaw <barry@python.org>
parents: 6146
diff changeset
122
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
123 PyAPI_DATA(PyObject *) PyExc_AssertionError;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
124 PyAPI_DATA(PyObject *) PyExc_AttributeError;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
125 PyAPI_DATA(PyObject *) PyExc_EOFError;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
126 PyAPI_DATA(PyObject *) PyExc_FloatingPointError;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
127 PyAPI_DATA(PyObject *) PyExc_EnvironmentError;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
128 PyAPI_DATA(PyObject *) PyExc_IOError;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
129 PyAPI_DATA(PyObject *) PyExc_OSError;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
130 PyAPI_DATA(PyObject *) PyExc_ImportError;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
131 PyAPI_DATA(PyObject *) PyExc_IndexError;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
132 PyAPI_DATA(PyObject *) PyExc_KeyError;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
133 PyAPI_DATA(PyObject *) PyExc_KeyboardInterrupt;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
134 PyAPI_DATA(PyObject *) PyExc_MemoryError;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
135 PyAPI_DATA(PyObject *) PyExc_NameError;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
136 PyAPI_DATA(PyObject *) PyExc_OverflowError;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
137 PyAPI_DATA(PyObject *) PyExc_RuntimeError;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
138 PyAPI_DATA(PyObject *) PyExc_NotImplementedError;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
139 PyAPI_DATA(PyObject *) PyExc_SyntaxError;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
140 PyAPI_DATA(PyObject *) PyExc_IndentationError;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
141 PyAPI_DATA(PyObject *) PyExc_TabError;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
142 PyAPI_DATA(PyObject *) PyExc_ReferenceError;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
143 PyAPI_DATA(PyObject *) PyExc_SystemError;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
144 PyAPI_DATA(PyObject *) PyExc_SystemExit;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
145 PyAPI_DATA(PyObject *) PyExc_TypeError;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
146 PyAPI_DATA(PyObject *) PyExc_UnboundLocalError;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
147 PyAPI_DATA(PyObject *) PyExc_UnicodeError;
25091
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
148 PyAPI_DATA(PyObject *) PyExc_UnicodeEncodeError;
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
149 PyAPI_DATA(PyObject *) PyExc_UnicodeDecodeError;
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
150 PyAPI_DATA(PyObject *) PyExc_UnicodeTranslateError;
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
151 PyAPI_DATA(PyObject *) PyExc_ValueError;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
152 PyAPI_DATA(PyObject *) PyExc_ZeroDivisionError;
11799
3678dd685867 Declarations related to new WindowsError exception.
Guido van Rossum <guido@python.org>
parents: 11030
diff changeset
153 #ifdef MS_WINDOWS
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
154 PyAPI_DATA(PyObject *) PyExc_WindowsError;
11799
3678dd685867 Declarations related to new WindowsError exception.
Guido van Rossum <guido@python.org>
parents: 11030
diff changeset
155 #endif
26550
b9c912e2c3c0 Patch #614055: Support OpenVMS.
Martin v. Löwis <martin@v.loewis.de>
parents: 26318
diff changeset
156 #ifdef __VMS
29726
85e52ec85629 Use appropriate macros not the deprecated DL_IMPORT/DL_EXPORT macros
Neal Norwitz <nnorwitz@gmail.com>
parents: 26601
diff changeset
157 PyAPI_DATA(PyObject *) PyExc_VMSError;
26550
b9c912e2c3c0 Patch #614055: Support OpenVMS.
Martin v. Löwis <martin@v.loewis.de>
parents: 26318
diff changeset
158 #endif
23
08562de01668 Added err_badcall() and planned new errors.
Guido van Rossum <guido@python.org>
parents: 10
diff changeset
159
45852
30c4e1ca8421 Merged revisions 61431,61433-61436,61439,61444,61449-61450,61453,61458,61465,61468,61471-61474,61480,61483-61484,61488,61495-61496,61498,61503-61504,61507,61509-61510,61515-61518 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 44373
diff changeset
160 PyAPI_DATA(PyObject *) PyExc_BufferError;
30c4e1ca8421 Merged revisions 61431,61433-61436,61439,61444,61449-61450,61453,61458,61465,61468,61471-61474,61480,61483-61484,61488,61495-61496,61498,61503-61504,61507,61509-61510,61515-61518 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 44373
diff changeset
161
43292
876b7ef4775d Merged revisions 57778-58052 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 43109
diff changeset
162 PyAPI_DATA(PyObject *) PyExc_RecursionErrorInst;
6191
3a6b7a377dc3 Added externs for three new exceptions PyExc_StandardError,
Barry Warsaw <barry@python.org>
parents: 6146
diff changeset
163
15589
857a5400be87 Add declarations for standard warning category classes (PyExc_Warning
Guido van Rossum <guido@python.org>
parents: 14375
diff changeset
164 /* Predefined warning categories */
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
165 PyAPI_DATA(PyObject *) PyExc_Warning;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
166 PyAPI_DATA(PyObject *) PyExc_UserWarning;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
167 PyAPI_DATA(PyObject *) PyExc_DeprecationWarning;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
168 PyAPI_DATA(PyObject *) PyExc_PendingDeprecationWarning;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
169 PyAPI_DATA(PyObject *) PyExc_SyntaxWarning;
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
170 PyAPI_DATA(PyObject *) PyExc_RuntimeWarning;
24818
31d2860089e6 Added a FutureWarning for constructs that will change semantically in
Barry Warsaw <barry@python.org>
parents: 24752
diff changeset
171 PyAPI_DATA(PyObject *) PyExc_FutureWarning;
38453
29ae5e0fc348 Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents: 36988
diff changeset
172 PyAPI_DATA(PyObject *) PyExc_ImportWarning;
39610
3674f20ac781 Merge current trunk into p3yk. This includes the PyNumber_Index API change,
Thomas Wouters <thomas@python.org>
parents: 39442
diff changeset
173 PyAPI_DATA(PyObject *) PyExc_UnicodeWarning;
43777
0d462d789b18 Merging the py3k-pep3137 branch back into the py3k branch.
Guido van Rossum <guido@python.org>
parents: 43292
diff changeset
174 PyAPI_DATA(PyObject *) PyExc_BytesWarning;
65624
39b9e9de372b Add a new warning gategory, ResourceWarning, as discussed on python-dev. It is silent by default,
Georg Brandl <georg@python.org>
parents: 65190
diff changeset
175 PyAPI_DATA(PyObject *) PyExc_ResourceWarning;
15589
857a5400be87 Add declarations for standard warning category classes (PyExc_Warning
Guido van Rossum <guido@python.org>
parents: 14375
diff changeset
176
6191
3a6b7a377dc3 Added externs for three new exceptions PyExc_StandardError,
Barry Warsaw <barry@python.org>
parents: 6146
diff changeset
177
10
a71e896ed047 Made exception objects extern.
Guido van Rossum <guido@python.org>
parents: 6
diff changeset
178 /* Convenience functions */
a71e896ed047 Made exception objects extern.
Guido van Rossum <guido@python.org>
parents: 6
diff changeset
179
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
180 PyAPI_FUNC(int) PyErr_BadArgument(void);
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
181 PyAPI_FUNC(PyObject *) PyErr_NoMemory(void);
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
182 PyAPI_FUNC(PyObject *) PyErr_SetFromErrno(PyObject *);
25535
861065256487 Patch 594001: PEP 277 - Unicode file name support for Windows NT.
Mark Hammond <mhammond@skippinet.com.au>
parents: 25276
diff changeset
183 PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithFilenameObject(
61467
f197407bdba2 Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 54129
diff changeset
184 PyObject *, PyObject *);
54918
0704f15b4682 Merged revisions 73376,73393,73398,73400,73404-73405,73409,73419-73421,73432,73457,73460,73485-73486,73488-73489,73501-73502,73513-73514 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 54129
diff changeset
185 PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithFilename(
65190
0c4884db53e0 Issue #9738: Document PyErr_SetString() and PyErr_SetFromErrnoWithFilename()
Victor Stinner <victor.stinner@haypocalc.com>
parents: 64859
diff changeset
186 PyObject *exc,
0c4884db53e0 Issue #9738: Document PyErr_SetString() and PyErr_SetFromErrnoWithFilename()
Victor Stinner <victor.stinner@haypocalc.com>
parents: 64859
diff changeset
187 const char *filename /* decoded from the filesystem encoding */
0c4884db53e0 Issue #9738: Document PyErr_SetString() and PyErr_SetFromErrnoWithFilename()
Victor Stinner <victor.stinner@haypocalc.com>
parents: 64859
diff changeset
188 );
66664
62b61abd02b8 Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents: 65688
diff changeset
189 #if defined(MS_WINDOWS) && !defined(Py_LIMITED_API)
25535
861065256487 Patch 594001: PEP 277 - Unicode file name support for Windows NT.
Mark Hammond <mhammond@skippinet.com.au>
parents: 25276
diff changeset
190 PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithUnicodeFilename(
61467
f197407bdba2 Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 54129
diff changeset
191 PyObject *, const Py_UNICODE *);
54129
77cfef596d33 Merged revisions 72698-72699 via svnmerge from
Hirokazu Yamamoto <ocean-city@m2.ccsnet.ne.jp>
parents: 50810
diff changeset
192 #endif /* MS_WINDOWS */
25535
861065256487 Patch 594001: PEP 277 - Unicode file name support for Windows NT.
Mark Hammond <mhammond@skippinet.com.au>
parents: 25276
diff changeset
193
64639
1cfad55de5bd Issue #9738: PyUnicode_FromFormat() and PyErr_Format() raise an error on
Victor Stinner <victor.stinner@haypocalc.com>
parents: 61466
diff changeset
194 PyAPI_FUNC(PyObject *) PyErr_Format(
1cfad55de5bd Issue #9738: PyUnicode_FromFormat() and PyErr_Format() raise an error on
Victor Stinner <victor.stinner@haypocalc.com>
parents: 61466
diff changeset
195 PyObject *exception,
1cfad55de5bd Issue #9738: PyUnicode_FromFormat() and PyErr_Format() raise an error on
Victor Stinner <victor.stinner@haypocalc.com>
parents: 61466
diff changeset
196 const char *format, /* ASCII-encoded string */
1cfad55de5bd Issue #9738: PyUnicode_FromFormat() and PyErr_Format() raise an error on
Victor Stinner <victor.stinner@haypocalc.com>
parents: 61466
diff changeset
197 ...
1cfad55de5bd Issue #9738: PyUnicode_FromFormat() and PyErr_Format() raise an error on
Victor Stinner <victor.stinner@haypocalc.com>
parents: 61466
diff changeset
198 );
25535
861065256487 Patch 594001: PEP 277 - Unicode file name support for Windows NT.
Mark Hammond <mhammond@skippinet.com.au>
parents: 25276
diff changeset
199
11799
3678dd685867 Declarations related to new WindowsError exception.
Guido van Rossum <guido@python.org>
parents: 11030
diff changeset
200 #ifdef MS_WINDOWS
25535
861065256487 Patch 594001: PEP 277 - Unicode file name support for Windows NT.
Mark Hammond <mhammond@skippinet.com.au>
parents: 25276
diff changeset
201 PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErrWithFilenameObject(
61467
f197407bdba2 Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 54129
diff changeset
202 int, const char *);
25535
861065256487 Patch 594001: PEP 277 - Unicode file name support for Windows NT.
Mark Hammond <mhammond@skippinet.com.au>
parents: 25276
diff changeset
203 PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErrWithFilename(
67149
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
204 int ierr,
67165
53209d00d3ab Issue #10780: Remove commas at the end of the argument list
Victor Stinner <victor.stinner@haypocalc.com>
parents: 67163
diff changeset
205 const char *filename /* decoded from the filesystem encoding */
67149
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
206 );
66664
62b61abd02b8 Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents: 65688
diff changeset
207 #ifndef Py_LIMITED_API
62b61abd02b8 Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents: 65688
diff changeset
208 /* XXX redeclare to use WSTRING */
25535
861065256487 Patch 594001: PEP 277 - Unicode file name support for Windows NT.
Mark Hammond <mhammond@skippinet.com.au>
parents: 25276
diff changeset
209 PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErrWithUnicodeFilename(
61467
f197407bdba2 Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 54129
diff changeset
210 int, const Py_UNICODE *);
66664
62b61abd02b8 Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents: 65688
diff changeset
211 #endif
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
212 PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErr(int);
25535
861065256487 Patch 594001: PEP 277 - Unicode file name support for Windows NT.
Mark Hammond <mhammond@skippinet.com.au>
parents: 25276
diff changeset
213 PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithFilenameObject(
61467
f197407bdba2 Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 54129
diff changeset
214 PyObject *,int, PyObject *);
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
215 PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithFilename(
67149
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
216 PyObject *exc,
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
217 int ierr,
67165
53209d00d3ab Issue #10780: Remove commas at the end of the argument list
Victor Stinner <victor.stinner@haypocalc.com>
parents: 67163
diff changeset
218 const char *filename /* decoded from the filesystem encoding */
67149
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
219 );
66664
62b61abd02b8 Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents: 65688
diff changeset
220 #ifndef Py_LIMITED_API
25535
861065256487 Patch 594001: PEP 277 - Unicode file name support for Windows NT.
Mark Hammond <mhammond@skippinet.com.au>
parents: 25276
diff changeset
221 PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithUnicodeFilename(
61467
f197407bdba2 Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 54129
diff changeset
222 PyObject *,int, const Py_UNICODE *);
66664
62b61abd02b8 Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents: 65688
diff changeset
223 #endif
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
224 PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErr(PyObject *, int);
25535
861065256487 Patch 594001: PEP 277 - Unicode file name support for Windows NT.
Mark Hammond <mhammond@skippinet.com.au>
parents: 25276
diff changeset
225 #endif /* MS_WINDOWS */
23
08562de01668 Added err_badcall() and planned new errors.
Guido van Rossum <guido@python.org>
parents: 10
diff changeset
226
14170
019265b3a856 Improve the exceptions raised by PyErr_BadInternalCall(); adding the
Fred Drake <fdrake@acm.org>
parents: 13435
diff changeset
227 /* Export the old function so that the existing API remains available: */
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
228 PyAPI_FUNC(void) PyErr_BadInternalCall(void);
42794
84618b2064c1 Add const to some strings that are not modified
Neal Norwitz <nnorwitz@gmail.com>
parents: 42665
diff changeset
229 PyAPI_FUNC(void) _PyErr_BadInternalCall(const char *filename, int lineno);
14170
019265b3a856 Improve the exceptions raised by PyErr_BadInternalCall(); adding the
Fred Drake <fdrake@acm.org>
parents: 13435
diff changeset
230 /* Mask the old API with a call to the new API for code compiled under
019265b3a856 Improve the exceptions raised by PyErr_BadInternalCall(); adding the
Fred Drake <fdrake@acm.org>
parents: 13435
diff changeset
231 Python 2.0: */
019265b3a856 Improve the exceptions raised by PyErr_BadInternalCall(); adding the
Fred Drake <fdrake@acm.org>
parents: 13435
diff changeset
232 #define PyErr_BadInternalCall() _PyErr_BadInternalCall(__FILE__, __LINE__)
1288
9fed5726a36d Several changes in one:
Guido van Rossum <guido@python.org>
parents: 1257
diff changeset
233
6324
20b5647a067e New API PyErr_NewException(name, base, dict) to create simple new exceptions.
Guido van Rossum <guido@python.org>
parents: 6323
diff changeset
234 /* Function to create a new exception */
57962
c1972eef3579 Merged revisions 77088 via svnmerge from
Georg Brandl <georg@python.org>
parents: 54918
diff changeset
235 PyAPI_FUNC(PyObject *) PyErr_NewException(
61466
cab14be0ada1 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 57962
diff changeset
236 const char *name, PyObject *base, PyObject *dict);
57962
c1972eef3579 Merged revisions 77088 via svnmerge from
Georg Brandl <georg@python.org>
parents: 54918
diff changeset
237 PyAPI_FUNC(PyObject *) PyErr_NewExceptionWithDoc(
61466
cab14be0ada1 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 57962
diff changeset
238 const char *name, const char *doc, PyObject *base, PyObject *dict);
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
239 PyAPI_FUNC(void) PyErr_WriteUnraisable(PyObject *);
6324
20b5647a067e New API PyErr_NewException(name, base, dict) to create simple new exceptions.
Guido van Rossum <guido@python.org>
parents: 6323
diff changeset
240
4864
a53908d09a04 Added declaration for PyErr_SetInterrupt.
Barry Warsaw <barry@python.org>
parents: 4654
diff changeset
241 /* In sigcheck.c or signalmodule.c */
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
242 PyAPI_FUNC(int) PyErr_CheckSignals(void);
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
243 PyAPI_FUNC(void) PyErr_SetInterrupt(void);
16838
09f6c1372056 Improve SyntaxErrors for bad future statements. Set file and location
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 15589
diff changeset
244
44373
2750d531fdc0 Merged revisions 59565-59594 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 43777
diff changeset
245 /* In signalmodule.c */
66664
62b61abd02b8 Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents: 65688
diff changeset
246 #ifndef Py_LIMITED_API
44373
2750d531fdc0 Merged revisions 59565-59594 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 43777
diff changeset
247 int PySignal_SetWakeupFd(int fd);
66664
62b61abd02b8 Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents: 65688
diff changeset
248 #endif
44373
2750d531fdc0 Merged revisions 59565-59594 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 43777
diff changeset
249
16838
09f6c1372056 Improve SyntaxErrors for bad future statements. Set file and location
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 15589
diff changeset
250 /* Support for adding program text to SyntaxErrors */
67149
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
251 PyAPI_FUNC(void) PyErr_SyntaxLocation(
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
252 const char *filename, /* decoded from the filesystem encoding */
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
253 int lineno);
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
254 PyAPI_FUNC(void) PyErr_SyntaxLocationEx(
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
255 const char *filename, /* decoded from the filesystem encoding */
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
256 int lineno,
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
257 int col_offset);
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
258 PyAPI_FUNC(PyObject *) PyErr_ProgramText(
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
259 const char *filename, /* decoded from the filesystem encoding */
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
260 int lineno);
21070
ba67b9c97b69 Removed preprocessor gimmick trying to force use of snprintf emulation
Tim Peters <tim.peters@gmail.com>
parents: 20626
diff changeset
261
25091
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
262 /* The following functions are used to create and modify unicode
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
263 exceptions from C */
26318
910fa739f4a4 Fix PEP 293 related problems with --disable-unicode builds
Walter Dörwald <walter@livinglogic.de>
parents: 25535
diff changeset
264
25091
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
265 /* create a UnicodeDecodeError object */
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
266 PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_Create(
67149
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
267 const char *encoding, /* UTF-8 encoded string */
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
268 const char *object,
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
269 Py_ssize_t length,
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
270 Py_ssize_t start,
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
271 Py_ssize_t end,
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
272 const char *reason /* UTF-8 encoded string */
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
273 );
25091
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
274
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
275 /* create a UnicodeEncodeError object */
66664
62b61abd02b8 Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents: 65688
diff changeset
276 #ifndef Py_LIMITED_API
25091
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
277 PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_Create(
67149
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
278 const char *encoding, /* UTF-8 encoded string */
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
279 const Py_UNICODE *object,
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
280 Py_ssize_t length,
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
281 Py_ssize_t start,
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
282 Py_ssize_t end,
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
283 const char *reason /* UTF-8 encoded string */
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
284 );
66664
62b61abd02b8 Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents: 65688
diff changeset
285 #endif
25091
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
286
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
287 /* create a UnicodeTranslateError object */
66664
62b61abd02b8 Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents: 65688
diff changeset
288 #ifndef Py_LIMITED_API
25091
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
289 PyAPI_FUNC(PyObject *) PyUnicodeTranslateError_Create(
67149
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
290 const Py_UNICODE *object,
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
291 Py_ssize_t length,
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
292 Py_ssize_t start,
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
293 Py_ssize_t end,
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
294 const char *reason /* UTF-8 encoded string */
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
295 );
66664
62b61abd02b8 Merge branches/pep-0384.
Martin v. Löwis <martin@v.loewis.de>
parents: 65688
diff changeset
296 #endif
25091
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
297
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
298 /* get the encoding attribute */
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
299 PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_GetEncoding(PyObject *);
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
300 PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_GetEncoding(PyObject *);
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
301
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
302 /* get the object attribute */
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
303 PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_GetObject(PyObject *);
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
304 PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_GetObject(PyObject *);
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
305 PyAPI_FUNC(PyObject *) PyUnicodeTranslateError_GetObject(PyObject *);
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
306
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
307 /* get the value of the start attribute (the int * may not be NULL)
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
308 return 0 on success, -1 on failure */
36501
7fdc639bc5b4 Merge ssize_t branch.
Martin v. Löwis <martin@v.loewis.de>
parents: 35316
diff changeset
309 PyAPI_FUNC(int) PyUnicodeEncodeError_GetStart(PyObject *, Py_ssize_t *);
7fdc639bc5b4 Merge ssize_t branch.
Martin v. Löwis <martin@v.loewis.de>
parents: 35316
diff changeset
310 PyAPI_FUNC(int) PyUnicodeDecodeError_GetStart(PyObject *, Py_ssize_t *);
7fdc639bc5b4 Merge ssize_t branch.
Martin v. Löwis <martin@v.loewis.de>
parents: 35316
diff changeset
311 PyAPI_FUNC(int) PyUnicodeTranslateError_GetStart(PyObject *, Py_ssize_t *);
25091
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
312
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
313 /* assign a new value to the start attribute
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
314 return 0 on success, -1 on failure */
36501
7fdc639bc5b4 Merge ssize_t branch.
Martin v. Löwis <martin@v.loewis.de>
parents: 35316
diff changeset
315 PyAPI_FUNC(int) PyUnicodeEncodeError_SetStart(PyObject *, Py_ssize_t);
7fdc639bc5b4 Merge ssize_t branch.
Martin v. Löwis <martin@v.loewis.de>
parents: 35316
diff changeset
316 PyAPI_FUNC(int) PyUnicodeDecodeError_SetStart(PyObject *, Py_ssize_t);
7fdc639bc5b4 Merge ssize_t branch.
Martin v. Löwis <martin@v.loewis.de>
parents: 35316
diff changeset
317 PyAPI_FUNC(int) PyUnicodeTranslateError_SetStart(PyObject *, Py_ssize_t);
25091
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
318
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
319 /* get the value of the end attribute (the int *may not be NULL)
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
320 return 0 on success, -1 on failure */
36501
7fdc639bc5b4 Merge ssize_t branch.
Martin v. Löwis <martin@v.loewis.de>
parents: 35316
diff changeset
321 PyAPI_FUNC(int) PyUnicodeEncodeError_GetEnd(PyObject *, Py_ssize_t *);
7fdc639bc5b4 Merge ssize_t branch.
Martin v. Löwis <martin@v.loewis.de>
parents: 35316
diff changeset
322 PyAPI_FUNC(int) PyUnicodeDecodeError_GetEnd(PyObject *, Py_ssize_t *);
7fdc639bc5b4 Merge ssize_t branch.
Martin v. Löwis <martin@v.loewis.de>
parents: 35316
diff changeset
323 PyAPI_FUNC(int) PyUnicodeTranslateError_GetEnd(PyObject *, Py_ssize_t *);
25091
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
324
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
325 /* assign a new value to the end attribute
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
326 return 0 on success, -1 on failure */
36501
7fdc639bc5b4 Merge ssize_t branch.
Martin v. Löwis <martin@v.loewis.de>
parents: 35316
diff changeset
327 PyAPI_FUNC(int) PyUnicodeEncodeError_SetEnd(PyObject *, Py_ssize_t);
7fdc639bc5b4 Merge ssize_t branch.
Martin v. Löwis <martin@v.loewis.de>
parents: 35316
diff changeset
328 PyAPI_FUNC(int) PyUnicodeDecodeError_SetEnd(PyObject *, Py_ssize_t);
7fdc639bc5b4 Merge ssize_t branch.
Martin v. Löwis <martin@v.loewis.de>
parents: 35316
diff changeset
329 PyAPI_FUNC(int) PyUnicodeTranslateError_SetEnd(PyObject *, Py_ssize_t);
25091
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
330
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
331 /* get the value of the reason attribute */
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
332 PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_GetReason(PyObject *);
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
333 PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_GetReason(PyObject *);
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
334 PyAPI_FUNC(PyObject *) PyUnicodeTranslateError_GetReason(PyObject *);
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
335
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
336 /* assign a new value to the reason attribute
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
337 return 0 on success, -1 on failure */
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
338 PyAPI_FUNC(int) PyUnicodeEncodeError_SetReason(
67149
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
339 PyObject *exc,
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
340 const char *reason /* UTF-8 encoded string */
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
341 );
25091
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
342 PyAPI_FUNC(int) PyUnicodeDecodeError_SetReason(
67149
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
343 PyObject *exc,
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
344 const char *reason /* UTF-8 encoded string */
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
345 );
25091
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
346 PyAPI_FUNC(int) PyUnicodeTranslateError_SetReason(
67149
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
347 PyObject *exc,
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
348 const char *reason /* UTF-8 encoded string */
93e95b2e1a1a Issue #9738: Document encodings of error and warning functions
Victor Stinner <victor.stinner@haypocalc.com>
parents: 66664
diff changeset
349 );
25091
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
350
0337dad8403e PEP 293 implemention (from SF patch http://www.python.org/sf/432401)
Walter Dörwald <walter@livinglogic.de>
parents: 24818
diff changeset
351
18908
79c676f9b34a This patch turns the Python API mismatch notice into a standard
Marc-André Lemburg <mal@egenix.com>
parents: 17597
diff changeset
352 /* These APIs aren't really part of the error implementation, but
79c676f9b34a This patch turns the Python API mismatch notice into a standard
Marc-André Lemburg <mal@egenix.com>
parents: 17597
diff changeset
353 often needed to format error messages; the native C lib APIs are
79c676f9b34a This patch turns the Python API mismatch notice into a standard
Marc-André Lemburg <mal@egenix.com>
parents: 17597
diff changeset
354 not available on all platforms, which is why we provide emulations
21070
ba67b9c97b69 Removed preprocessor gimmick trying to force use of snprintf emulation
Tim Peters <tim.peters@gmail.com>
parents: 20626
diff changeset
355 for those platforms in Python/mysnprintf.c,
ba67b9c97b69 Removed preprocessor gimmick trying to force use of snprintf emulation
Tim Peters <tim.peters@gmail.com>
parents: 20626
diff changeset
356 WARNING: The return value of snprintf varies across platforms; do
ba67b9c97b69 Removed preprocessor gimmick trying to force use of snprintf emulation
Tim Peters <tim.peters@gmail.com>
parents: 20626
diff changeset
357 not rely on any particular behavior; eventually the C99 defn may
ba67b9c97b69 Removed preprocessor gimmick trying to force use of snprintf emulation
Tim Peters <tim.peters@gmail.com>
parents: 20626
diff changeset
358 be reliable.
ba67b9c97b69 Removed preprocessor gimmick trying to force use of snprintf emulation
Tim Peters <tim.peters@gmail.com>
parents: 20626
diff changeset
359 */
18908
79c676f9b34a This patch turns the Python API mismatch notice into a standard
Marc-André Lemburg <mal@egenix.com>
parents: 17597
diff changeset
360 #if defined(MS_WIN32) && !defined(HAVE_SNPRINTF)
79c676f9b34a This patch turns the Python API mismatch notice into a standard
Marc-André Lemburg <mal@egenix.com>
parents: 17597
diff changeset
361 # define HAVE_SNPRINTF
79c676f9b34a This patch turns the Python API mismatch notice into a standard
Marc-André Lemburg <mal@egenix.com>
parents: 17597
diff changeset
362 # define snprintf _snprintf
79c676f9b34a This patch turns the Python API mismatch notice into a standard
Marc-André Lemburg <mal@egenix.com>
parents: 17597
diff changeset
363 # define vsnprintf _vsnprintf
79c676f9b34a This patch turns the Python API mismatch notice into a standard
Marc-André Lemburg <mal@egenix.com>
parents: 17597
diff changeset
364 #endif
18915
510f7f6a877e Enable PyOS_snprintf() et al. during alpha phase of 2.2.0 and
Marc-André Lemburg <mal@egenix.com>
parents: 18909
diff changeset
365
18909
9753b0269f3a va_list is defined in stdarg.h.
Marc-André Lemburg <mal@egenix.com>
parents: 18908
diff changeset
366 #include <stdarg.h>
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
367 PyAPI_FUNC(int) PyOS_snprintf(char *str, size_t size, const char *format, ...)
61467
f197407bdba2 Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 54129
diff changeset
368 Py_GCC_ATTRIBUTE((format(printf, 3, 4)));
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24423
diff changeset
369 PyAPI_FUNC(int) PyOS_vsnprintf(char *str, size_t size, const char *format, va_list va)
61467
f197407bdba2 Recorded merge of revisions 81032 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 54129
diff changeset
370 Py_GCC_ATTRIBUTE((format(printf, 3, 0)));
1746
1940892d2fe3 Merge alpha100 branch back to main trunk
Guido van Rossum <guido@python.org>
parents: 1329
diff changeset
371
1329
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1288
diff changeset
372 #ifdef __cplusplus
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1288
diff changeset
373 }
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1288
diff changeset
374 #endif
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1288
diff changeset
375 #endif /* !Py_ERRORS_H */