diff --git a/Cython/Utility/StringTools.c b/Cython/Utility/StringTools.c index b132101708b3f5fb65e93020a4b8c5f71f563e08_Q3l0aG9uL1V0aWxpdHkvU3RyaW5nVG9vbHMuYw==..13a71528fea4a2e847cb9a6c2d9d82ee369beef1_Q3l0aG9uL1V0aWxpdHkvU3RyaW5nVG9vbHMuYw== 100644 --- a/Cython/Utility/StringTools.c +++ b/Cython/Utility/StringTools.c @@ -66,6 +66,7 @@ //////////////////// PyUCS4InUnicode //////////////////// +#if PY_VERSION_HEX < 0x03090000 #if Py_UNICODE_SIZE == 2 static int __Pyx_PyUnicodeBufferContainsUCS4_SP(Py_UNICODE* buffer, Py_ssize_t length, Py_UCS4 character) { /* handle surrogate pairs for Py_UNICODE buffers in 16bit Unicode builds */ @@ -89,6 +90,7 @@ } return 0; } +#endif static CYTHON_INLINE int __Pyx_UnicodeContainsUCS4(PyObject* unicode, Py_UCS4 character) { #if CYTHON_PEP393_ENABLED @@ -102,4 +104,6 @@ } return 0; } +#elif PY_VERSION_HEX >= 0x03090000 + #error Cannot use "UChar in Unicode" in Python 3.9 without PEP-393 unicode strings. #endif @@ -105,4 +109,5 @@ #endif +#if PY_VERSION_HEX < 0x03090000 #if Py_UNICODE_SIZE == 2 if (unlikely(character > 65535)) { return __Pyx_PyUnicodeBufferContainsUCS4_SP( @@ -118,6 +123,7 @@ character); } +#endif }