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
index c24e863..6e4f01a 100644
--- a/src/if_py_both.h
+++ b/src/if_py_both.h
@@ -2853,7 +2853,6 @@
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 @@
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 @@
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
index b13e739..547df3a 100644
--- 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
index 7a11a8f..95cd857 100644
--- a/src/version.c
+++ b/src/version.c
@@ -729,6 +729,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 910,
+/**/
909,
/**/
908,