# HG changeset patch
# User ZyX <[email protected]>
# Date 1369715382 -14400
# Node ID 6f5c6a9e88bfef3f0bbbbb92e69bc4efaa88452d
# Parent a4ad9503285f0829d69784faf0c1b8fb06dc2c0f
Fix problem with PyUnicode_FromFormat on <python-3.3
Python-3.3 does not use macros to define this function
diff -r a4ad9503285f -r 6f5c6a9e88bf src/if_python3.c
--- a/src/if_python3.c Sun May 26 18:41:04 2013 +0400
+++ b/src/if_python3.c Tue May 28 08:29:42 2013 +0400
@@ -235,7 +235,16 @@
# define PyType_GenericNew py3_PyType_GenericNew
# undef PyUnicode_FromString
# define PyUnicode_FromString py3_PyUnicode_FromString
-# define PyUnicode_FromFormat py3_PyUnicode_FromFormat
+# ifndef PyUnicode_FromFormat
+# define PyUnicode_FromFormat py3_PyUnicode_FromFormat
+# else
+# define Py_UNICODE_USE_UCS_FUNCTIONS
+# ifdef Py_UNICODE_WIDE
+# define PyUnicodeUCS4_FromFormat py3_PyUnicodeUCS4_FromFormat
+# else
+# define PyUnicodeUCS2_FromFormat py3_PyUnicodeUCS2_FromFormat
+# endif
+# endif
# undef PyUnicode_Decode
# define PyUnicode_Decode py3_PyUnicode_Decode
# define PyType_IsSubtype py3_PyType_IsSubtype
@@ -302,7 +311,15 @@
static int (*py3_PyType_Ready)(PyTypeObject *type);
static int (*py3_PyDict_SetItemString)(PyObject *dp, char *key, PyObject
*item);
static PyObject* (*py3_PyUnicode_FromString)(const char *u);
+# ifndef Py_UNICODE_USE_UCS_FUNCTIONS
static PyObject* (*py3_PyUnicode_FromFormat)(const char *u, ...);
+# else
+# ifdef Py_UNICODE_WIDE
+static PyObject* (*py3_PyUnicodeUCS4_FromFormat)(const char *u, ...);
+# else
+static PyObject* (*py3_PyUnicodeUCS2_FromFormat)(const char *u, ...);
+# endif
+# endif
static PyObject* (*py3_PyUnicode_Decode)(const char *u, Py_ssize_t size,
const char *encoding, const char *errors);
static long (*py3_PyLong_AsLong)(PyObject *);
@@ -471,7 +488,15 @@
# else
{"_PyUnicode_AsString", (PYTHON_PROC*)&py3__PyUnicode_AsString},
# endif
+# ifndef Py_UNICODE_USE_UCS_FUNCTIONS
{"PyUnicode_FromFormat", (PYTHON_PROC*)&py3_PyUnicode_FromFormat},
+# else
+# ifdef Py_UNICODE_WIDE
+ {"PyUnicodeUCS4_FromFormat", (PYTHON_PROC*)&py3_PyUnicodeUCS4_FromFormat},
+# else
+ {"PyUnicodeUCS2_FromFormat", (PYTHON_PROC*)&py3_PyUnicodeUCS2_FromFormat},
+# endif
+# endif
{"PyBytes_AsString", (PYTHON_PROC*)&py3_PyBytes_AsString},
{"PyBytes_AsStringAndSize", (PYTHON_PROC*)&py3_PyBytes_AsStringAndSize},
{"PyBytes_FromString", (PYTHON_PROC*)&py3_PyBytes_FromString},
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.
*** /tmp/extdiff.3Sq0o2/vim.a4ad9503285f/src/if_python3.c 2013-05-28 08:30:16.845451552 +0400
--- vim.6f5c6a9e88bf/src/if_python3.c 2013-05-28 08:30:16.849451522 +0400
***************
*** 235,241 ****
# define PyType_GenericNew py3_PyType_GenericNew
# undef PyUnicode_FromString
# define PyUnicode_FromString py3_PyUnicode_FromString
! # define PyUnicode_FromFormat py3_PyUnicode_FromFormat
# undef PyUnicode_Decode
# define PyUnicode_Decode py3_PyUnicode_Decode
# define PyType_IsSubtype py3_PyType_IsSubtype
--- 235,250 ----
# define PyType_GenericNew py3_PyType_GenericNew
# undef PyUnicode_FromString
# define PyUnicode_FromString py3_PyUnicode_FromString
! # ifndef PyUnicode_FromFormat
! # define PyUnicode_FromFormat py3_PyUnicode_FromFormat
! # else
! # define Py_UNICODE_USE_UCS_FUNCTIONS
! # ifdef Py_UNICODE_WIDE
! # define PyUnicodeUCS4_FromFormat py3_PyUnicodeUCS4_FromFormat
! # else
! # define PyUnicodeUCS2_FromFormat py3_PyUnicodeUCS2_FromFormat
! # endif
! # endif
# undef PyUnicode_Decode
# define PyUnicode_Decode py3_PyUnicode_Decode
# define PyType_IsSubtype py3_PyType_IsSubtype
***************
*** 302,308 ****
--- 311,325 ----
static int (*py3_PyType_Ready)(PyTypeObject *type);
static int (*py3_PyDict_SetItemString)(PyObject *dp, char *key, PyObject *item);
static PyObject* (*py3_PyUnicode_FromString)(const char *u);
+ # ifndef Py_UNICODE_USE_UCS_FUNCTIONS
static PyObject* (*py3_PyUnicode_FromFormat)(const char *u, ...);
+ # else
+ # ifdef Py_UNICODE_WIDE
+ static PyObject* (*py3_PyUnicodeUCS4_FromFormat)(const char *u, ...);
+ # else
+ static PyObject* (*py3_PyUnicodeUCS2_FromFormat)(const char *u, ...);
+ # endif
+ # endif
static PyObject* (*py3_PyUnicode_Decode)(const char *u, Py_ssize_t size,
const char *encoding, const char *errors);
static long (*py3_PyLong_AsLong)(PyObject *);
***************
*** 471,477 ****
--- 488,502 ----
# else
{"_PyUnicode_AsString", (PYTHON_PROC*)&py3__PyUnicode_AsString},
# endif
+ # ifndef Py_UNICODE_USE_UCS_FUNCTIONS
{"PyUnicode_FromFormat", (PYTHON_PROC*)&py3_PyUnicode_FromFormat},
+ # else
+ # ifdef Py_UNICODE_WIDE
+ {"PyUnicodeUCS4_FromFormat", (PYTHON_PROC*)&py3_PyUnicodeUCS4_FromFormat},
+ # else
+ {"PyUnicodeUCS2_FromFormat", (PYTHON_PROC*)&py3_PyUnicodeUCS2_FromFormat},
+ # endif
+ # endif
{"PyBytes_AsString", (PYTHON_PROC*)&py3_PyBytes_AsString},
{"PyBytes_AsStringAndSize", (PYTHON_PROC*)&py3_PyBytes_AsStringAndSize},
{"PyBytes_FromString", (PYTHON_PROC*)&py3_PyBytes_FromString},