]> granicus.if.org Git - python/commitdiff
[3.5] bpo-29943: Do not replace the function PySlice_GetIndicesEx() with a macro...
authorSerhiy Storchaka <storchaka@gmail.com>
Sun, 16 Apr 2017 09:03:51 +0000 (12:03 +0300)
committerGitHub <noreply@github.com>
Sun, 16 Apr 2017 09:03:51 +0000 (12:03 +0300)
if Py_LIMITED_API is not defined.

Include/sliceobject.h
Misc/NEWS

index 36263544607096986b56c27043ef65f4e9b7bda4..579ac073d0f24131b1b4a010752876bf8477242f 100644 (file)
@@ -45,11 +45,13 @@ PyAPI_FUNC(int) PySlice_GetIndicesEx(PyObject *r, Py_ssize_t length,
                                      Py_ssize_t *step, Py_ssize_t *slicelength);
 
 #if !defined(Py_LIMITED_API) || (Py_LIMITED_API+0 >= 0x03050400 && Py_LIMITED_API+0 < 0x03060000) || Py_LIMITED_API+0 >= 0x03060100
+#ifdef Py_LIMITED_API
 #define PySlice_GetIndicesEx(slice, length, start, stop, step, slicelen) (  \
     PySlice_Unpack((slice), (start), (stop), (step)) < 0 ?                  \
     ((*(slicelen) = 0), -1) :                                               \
     ((*(slicelen) = PySlice_AdjustIndices((length), (start), (stop), *(step))), \
      0))
+#endif
 PyAPI_FUNC(int) PySlice_Unpack(PyObject *slice,
                                Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step);
 PyAPI_FUNC(Py_ssize_t) PySlice_AdjustIndices(Py_ssize_t length,
index d440363ae4c4ba9290e7beb13a25d36d5501aa9e..146a39c9cf8ae380a29457829bcf9b453de7d0d9 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -160,8 +160,8 @@ C API
 -----
 
 - Issue #27867: Function PySlice_GetIndicesEx() is replaced with a macro if
-  Py_LIMITED_API is not set or set to the value between 0x03050400
-  and 0x03060000 (not including) or 0x03060100 or higher.
+  Py_LIMITED_API is set to the value between 0x03050400 and 0x03060000 (not
+  including) or 0x03060100 or higher.
 
 - Issue #29083: Fixed the declaration of some public API functions.
   PyArg_VaParse() and PyArg_VaParseTupleAndKeywords() were not available in