diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2014-01-03 20:36:49 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2014-01-03 20:36:49 (GMT) |
commit | 1c0689c613b61c8944456e78c5b592e3aaa40aba (patch) | |
tree | 7f8bb895da42b257af0ca9cbc2dd13e60abf2186 | |
parent | a2924cabaf115169b1629424dbe71ba5a18670da (diff) | |
download | cpython-1c0689c613b61c8944456e78c5b592e3aaa40aba.zip cpython-1c0689c613b61c8944456e78c5b592e3aaa40aba.tar.gz cpython-1c0689c613b61c8944456e78c5b592e3aaa40aba.tar.bz2 |
Issue #19526: Exclude all new API from the stable ABI.
-rw-r--r-- | Include/abstract.h | 2 | ||||
-rw-r--r-- | Include/codecs.h | 2 | ||||
-rw-r--r-- | Include/dictobject.h | 2 | ||||
-rw-r--r-- | Include/fileutils.h | 4 | ||||
-rw-r--r-- | Include/object.h | 2 | ||||
-rw-r--r-- | Include/pyerrors.h | 6 | ||||
-rw-r--r-- | Include/pyhash.h | 2 | ||||
-rw-r--r-- | Include/pymem.h | 4 | ||||
-rw-r--r-- | Include/pystate.h | 2 | ||||
-rw-r--r-- | Include/pythonrun.h | 2 | ||||
-rw-r--r-- | Include/sysmodule.h | 2 | ||||
-rw-r--r-- | Include/unicodeobject.h | 2 | ||||
-rw-r--r-- | Include/warnings.h | 4 | ||||
-rw-r--r-- | Misc/NEWS | 3 |
14 files changed, 37 insertions, 2 deletions
diff --git a/Include/abstract.h b/Include/abstract.h index d258ad5..4bc9952a 100644 --- a/Include/abstract.h +++ b/Include/abstract.h @@ -409,8 +409,8 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ #ifndef Py_LIMITED_API PyAPI_FUNC(int) _PyObject_HasLen(PyObject *o); + PyAPI_FUNC(Py_ssize_t) PyObject_LengthHint(PyObject *o, Py_ssize_t); #endif -PyAPI_FUNC(Py_ssize_t) PyObject_LengthHint(PyObject *o, Py_ssize_t); /* Guess the size of object o using len(o) or o.__length_hint__(). diff --git a/Include/codecs.h b/Include/codecs.h index 5ca505f..8f0014e 100644 --- a/Include/codecs.h +++ b/Include/codecs.h @@ -94,7 +94,7 @@ PyAPI_FUNC(PyObject *) PyCodec_Decode( const char *errors ); -#ifndef PY_LIMITED_API +#ifndef Py_LIMITED_API /* Text codec specific encoding and decoding API. Checks the encoding against a list of codecs which do not diff --git a/Include/dictobject.h b/Include/dictobject.h index 2859669..ef122bd 100644 --- a/Include/dictobject.h +++ b/Include/dictobject.h @@ -53,8 +53,10 @@ PyAPI_FUNC(PyObject *) PyDict_GetItem(PyObject *mp, PyObject *key); PyAPI_FUNC(PyObject *) PyDict_GetItemWithError(PyObject *mp, PyObject *key); PyAPI_FUNC(PyObject *) _PyDict_GetItemIdWithError(PyObject *dp, struct _Py_Identifier *key); +#ifndef Py_LIMITED_API PyAPI_FUNC(PyObject *) PyDict_SetDefault( PyObject *mp, PyObject *key, PyObject *defaultobj); +#endif PyAPI_FUNC(int) PyDict_SetItem(PyObject *mp, PyObject *key, PyObject *item); PyAPI_FUNC(int) PyDict_DelItem(PyObject *mp, PyObject *key); PyAPI_FUNC(void) PyDict_Clear(PyObject *mp); diff --git a/Include/fileutils.h b/Include/fileutils.h index 5466e3c..e9bad80 100644 --- a/Include/fileutils.h +++ b/Include/fileutils.h @@ -27,9 +27,11 @@ PyAPI_FUNC(int) _Py_stat( struct stat *statbuf); #endif +#ifndef Py_LIMITED_API PyAPI_FUNC(int) _Py_open( const char *pathname, int flags); +#endif PyAPI_FUNC(FILE *) _Py_wfopen( const wchar_t *path, @@ -61,12 +63,14 @@ PyAPI_FUNC(wchar_t*) _Py_wgetcwd( wchar_t *buf, size_t size); +#ifndef Py_LIMITED_API PyAPI_FUNC(int) _Py_get_inheritable(int fd); PyAPI_FUNC(int) _Py_set_inheritable(int fd, int inheritable, int *atomic_flag_works); PyAPI_FUNC(int) _Py_dup(int fd); +#endif #ifdef __cplusplus } diff --git a/Include/object.h b/Include/object.h index f539652..a278465 100644 --- a/Include/object.h +++ b/Include/object.h @@ -533,8 +533,10 @@ PyAPI_FUNC(int) PyObject_Not(PyObject *); PyAPI_FUNC(int) PyCallable_Check(PyObject *); PyAPI_FUNC(void) PyObject_ClearWeakRefs(PyObject *); +#ifndef Py_LIMITED_API PyAPI_FUNC(void) PyObject_CallFinalizer(PyObject *); PyAPI_FUNC(int) PyObject_CallFinalizerFromDealloc(PyObject *); +#endif /* Same as PyObject_Generic{Get,Set}Attr, but passing the attributes dict as the last parameter. */ diff --git a/Include/pyerrors.h b/Include/pyerrors.h index ebc027f..3e92bb6 100644 --- a/Include/pyerrors.h +++ b/Include/pyerrors.h @@ -75,7 +75,9 @@ typedef PyOSErrorObject PyWindowsErrorObject; PyAPI_FUNC(void) PyErr_SetNone(PyObject *); PyAPI_FUNC(void) PyErr_SetObject(PyObject *, PyObject *); +#ifndef Py_LIMITED_API PyAPI_FUNC(void) _PyErr_SetKeyError(PyObject *); +#endif PyAPI_FUNC(void) PyErr_SetString( PyObject *exception, const char *string /* decoded from utf-8 */ @@ -321,16 +323,20 @@ PyAPI_FUNC(void) PyErr_SyntaxLocationEx( const char *filename, /* decoded from the filesystem encoding */ int lineno, int col_offset); +#ifndef Py_LIMITED_API PyAPI_FUNC(void) PyErr_SyntaxLocationObject( PyObject *filename, int lineno, int col_offset); +#endif PyAPI_FUNC(PyObject *) PyErr_ProgramText( const char *filename, /* decoded from the filesystem encoding */ int lineno); +#ifndef Py_LIMITED_API PyAPI_FUNC(PyObject *) PyErr_ProgramTextObject( PyObject *filename, int lineno); +#endif /* The following functions are used to create and modify unicode exceptions from C */ diff --git a/Include/pyhash.h b/Include/pyhash.h index 83c9281..a7ca937 100644 --- a/Include/pyhash.h +++ b/Include/pyhash.h @@ -50,6 +50,7 @@ PyAPI_FUNC(Py_hash_t) _Py_HashBytes(const void*, Py_ssize_t); * (*) The siphash member may not be available on 32 bit platforms without * an unsigned int64 data type. */ +#ifndef Py_LIMITED_API typedef union { /* ensure 24 bytes */ unsigned char uc[24]; @@ -76,6 +77,7 @@ typedef union { } expat; } _Py_HashSecret_t; PyAPI_DATA(_Py_HashSecret_t) _Py_HashSecret; +#endif #ifdef Py_DEBUG PyAPI_DATA(int) _Py_HashSecret_Initialized; diff --git a/Include/pymem.h b/Include/pymem.h index 83f1537..2372b86 100644 --- a/Include/pymem.h +++ b/Include/pymem.h @@ -11,9 +11,11 @@ extern "C" { #endif +#ifndef Py_LIMITED_API PyAPI_FUNC(void *) PyMem_RawMalloc(size_t size); PyAPI_FUNC(void *) PyMem_RawRealloc(void *ptr, size_t new_size); PyAPI_FUNC(void) PyMem_RawFree(void *ptr); +#endif /* BEWARE: @@ -58,8 +60,10 @@ PyAPI_FUNC(void *) PyMem_Malloc(size_t size); PyAPI_FUNC(void *) PyMem_Realloc(void *ptr, size_t new_size); PyAPI_FUNC(void) PyMem_Free(void *ptr); +#ifndef Py_LIMITED_API PyAPI_FUNC(char *) _PyMem_RawStrdup(const char *str); PyAPI_FUNC(char *) _PyMem_Strdup(const char *str); +#endif /* Macros. */ diff --git a/Include/pystate.h b/Include/pystate.h index 06af808..1f3465f 100644 --- a/Include/pystate.h +++ b/Include/pystate.h @@ -236,7 +236,9 @@ PyAPI_FUNC(PyThreadState *) PyGILState_GetThisThreadState(void); /* Helper/diagnostic function - return 1 if the current thread * currently holds the GIL, 0 otherwise */ +#ifndef Py_LIMITED_API PyAPI_FUNC(int) PyGILState_Check(void); +#endif #endif /* #ifdef WITH_THREAD */ diff --git a/Include/pythonrun.h b/Include/pythonrun.h index c364947..2fc5578 100644 --- a/Include/pythonrun.h +++ b/Include/pythonrun.h @@ -155,10 +155,12 @@ PyAPI_FUNC(struct symtable *) Py_SymtableString( const char *str, const char *filename, /* decoded from the filesystem encoding */ int start); +#ifndef Py_LIMITED_API PyAPI_FUNC(struct symtable *) Py_SymtableStringObject( const char *str, PyObject *filename, int start); +#endif PyAPI_FUNC(void) PyErr_Print(void); PyAPI_FUNC(void) PyErr_PrintEx(int); diff --git a/Include/sysmodule.h b/Include/sysmodule.h index 925c2a3..79e52a3 100644 --- a/Include/sysmodule.h +++ b/Include/sysmodule.h @@ -8,7 +8,9 @@ extern "C" { #endif PyAPI_FUNC(PyObject *) PySys_GetObject(const char *); +#ifndef Py_LIMITED_API PyAPI_FUNC(PyObject *) _PySys_GetObjectId(_Py_Identifier *key); +#endif PyAPI_FUNC(int) PySys_SetObject(const char *, PyObject *); PyAPI_FUNC(int) _PySys_SetObjectId(_Py_Identifier *key, PyObject *); diff --git a/Include/unicodeobject.h b/Include/unicodeobject.h index b6d331b..c088a0f 100644 --- a/Include/unicodeobject.h +++ b/Include/unicodeobject.h @@ -2004,10 +2004,12 @@ PyAPI_FUNC(int) PyUnicode_Compare( PyObject *right /* Right string */ ); +#ifndef Py_LIMITED_API PyAPI_FUNC(int) _PyUnicode_CompareWithId( PyObject *left, /* Left string */ _Py_Identifier *right /* Right identifier */ ); +#endif PyAPI_FUNC(int) PyUnicode_CompareWithASCIIString( PyObject *left, diff --git a/Include/warnings.h b/Include/warnings.h index 217c06a..effb9fad 100644 --- a/Include/warnings.h +++ b/Include/warnings.h @@ -17,6 +17,7 @@ PyAPI_FUNC(int) PyErr_WarnFormat( Py_ssize_t stack_level, const char *format, /* ASCII-encoded string */ ...); +#ifndef Py_LIMITED_API PyAPI_FUNC(int) PyErr_WarnExplicitObject( PyObject *category, PyObject *message, @@ -24,6 +25,7 @@ PyAPI_FUNC(int) PyErr_WarnExplicitObject( int lineno, PyObject *module, PyObject *registry); +#endif PyAPI_FUNC(int) PyErr_WarnExplicit( PyObject *category, const char *message, /* UTF-8 encoded string */ @@ -32,11 +34,13 @@ PyAPI_FUNC(int) PyErr_WarnExplicit( const char *module, /* UTF-8 encoded string */ PyObject *registry); +#ifndef Py_LIMITED_API PyAPI_FUNC(int) PyErr_WarnExplicitFormat(PyObject *category, const char *filename, int lineno, const char *module, PyObject *registry, const char *format, ...); +#endif /* DEPRECATED: Use PyErr_WarnEx() instead. */ #ifndef Py_LIMITED_API @@ -10,6 +10,9 @@ Release date: 2014-01-05 Core and Builtins ----------------- +- Issue #19526: Exclude all new API from the stable ABI. Exceptions can be + made if a need is demonstrated. + - Issue #19969: PyBytes_FromFormatV() now raises an OverflowError if "%c" argument is not in range [0; 255]. |