# HG changeset patch # User Bram Moolenaar # Date 1366804065 -7200 # Node ID d8d9c591c50fec51b64c12bd2f42d3550bd31d7d # Parent 4c7931bbf78adc9b06708d31e61d9286a1bf6c2f updated for version 7.3.910 Problem: Python code in #ifdef branches with only minor differences. Solution: Merge the #ifdef branches. (ZyX) diff --git a/src/if_py_both.h b/src/if_py_both.h --- a/src/if_py_both.h +++ b/src/if_py_both.h @@ -2853,7 +2853,6 @@ ConvertFromPyObject(PyObject *obj, typva tv->v_type = VAR_FUNC; func_ref(tv->vval.v_string); } -#if PY_MAJOR_VERSION >= 3 else if (PyBytes_Check(obj)) { char_u *result; @@ -2873,30 +2872,6 @@ ConvertFromPyObject(PyObject *obj, typva PyObject *bytes; char_u *result; - bytes = PyString_AsBytes(obj); - if (bytes == NULL) - return -1; - - if(PyString_AsStringAndSize(bytes, (char **) &result, NULL) == -1) - return -1; - if (result == NULL) - return -1; - - if (set_string_copy(result, tv) == -1) - { - Py_XDECREF(bytes); - return -1; - } - Py_XDECREF(bytes); - - tv->v_type = VAR_STRING; - } -#else - else if (PyUnicode_Check(obj)) - { - PyObject *bytes; - char_u *result; - bytes = PyUnicode_AsEncodedString(obj, (char *)ENC_OPT, NULL); if (bytes == NULL) return -1; @@ -2915,20 +2890,7 @@ ConvertFromPyObject(PyObject *obj, typva tv->v_type = VAR_STRING; } - else if (PyString_Check(obj)) - { - char_u *result; - - if(PyString_AsStringAndSize(obj, (char **) &result, NULL) == -1) - return -1; - if (result == NULL) - return -1; - - if (set_string_copy(result, tv) == -1) - return -1; - - tv->v_type = VAR_STRING; - } +#if PY_MAJOR_VERSION < 3 else if (PyInt_Check(obj)) { tv->v_type = VAR_NUMBER; diff --git a/src/if_python.c b/src/if_python.c --- a/src/if_python.c +++ b/src/if_python.c @@ -59,6 +59,7 @@ static void init_structs(void); #define PyBytes_FromString PyString_FromString +#define PyBytes_Check PyString_Check /* No-op conversion functions, use with care! */ #define PyString_AsBytes(obj) (obj) diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -729,6 +729,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 910, +/**/ 909, /**/ 908,