diff options
Diffstat (limited to 'data/vim/patches/8.1.0867')
-rw-r--r-- | data/vim/patches/8.1.0867 | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.0867 b/data/vim/patches/8.1.0867 new file mode 100644 index 000000000..f6ff85571 --- /dev/null +++ b/data/vim/patches/8.1.0867 @@ -0,0 +1,139 @@ +To: vim_dev@googlegroups.com +Subject: Patch 8.1.0867 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 8.1.0867 +Problem: Cannot build Python interface with Python 2.4. (Tom G. Christensen) +Solution: Define PyBytes_FromStringAndSize. (Ken Takata, closes #3888) +Files: src/if_python.c + + +*** ../vim-8.1.0866/src/if_python.c 2019-01-13 23:38:33.395773275 +0100 +--- src/if_python.c 2019-02-01 22:09:15.742599161 +0100 +*************** +*** 73,81 **** +--- 73,83 ---- + #undef main /* Defined in python.h - aargh */ + #undef HAVE_FCNTL_H /* Clash with os_win32.h */ + ++ // Perhaps leave this out for Python 2.6, which supports bytes? + #define PyBytes_FromString PyString_FromString + #define PyBytes_Check PyString_Check + #define PyBytes_AsStringAndSize PyString_AsStringAndSize ++ #define PyBytes_FromStringAndSize PyString_FromStringAndSize + + #if !defined(FEAT_PYTHON) && defined(PROTO) + /* Use this to be able to generate prototypes without python being used. */ +*************** +*** 120,129 **** + # define PY_CAN_RECURSE + #endif + +! # if defined(DYNAMIC_PYTHON) || defined(PROTO) +! # ifndef DYNAMIC_PYTHON +! # define HINSTANCE long_u /* for generating prototypes */ +! # endif + + # ifndef WIN3264 + # include <dlfcn.h> +--- 122,131 ---- + # define PY_CAN_RECURSE + #endif + +! #if defined(DYNAMIC_PYTHON) || defined(PROTO) +! # ifndef DYNAMIC_PYTHON +! # define HINSTANCE long_u /* for generating prototypes */ +! # endif + + # ifndef WIN3264 + # include <dlfcn.h> +*************** +*** 489,503 **** + PYTHON_PROC *ptr; + } python_funcname_table[] = + { +! #ifndef PY_SSIZE_T_CLEAN + {"PyArg_Parse", (PYTHON_PROC*)&dll_PyArg_Parse}, + {"PyArg_ParseTuple", (PYTHON_PROC*)&dll_PyArg_ParseTuple}, + {"Py_BuildValue", (PYTHON_PROC*)&dll_Py_BuildValue}, +! #else + {"_PyArg_Parse_SizeT", (PYTHON_PROC*)&dll_PyArg_Parse}, + {"_PyArg_ParseTuple_SizeT", (PYTHON_PROC*)&dll_PyArg_ParseTuple}, + {"_Py_BuildValue_SizeT", (PYTHON_PROC*)&dll_Py_BuildValue}, +! #endif + {"PyMem_Free", (PYTHON_PROC*)&dll_PyMem_Free}, + {"PyMem_Malloc", (PYTHON_PROC*)&dll_PyMem_Malloc}, + {"PyDict_SetItemString", (PYTHON_PROC*)&dll_PyDict_SetItemString}, +--- 491,505 ---- + PYTHON_PROC *ptr; + } python_funcname_table[] = + { +! # ifndef PY_SSIZE_T_CLEAN + {"PyArg_Parse", (PYTHON_PROC*)&dll_PyArg_Parse}, + {"PyArg_ParseTuple", (PYTHON_PROC*)&dll_PyArg_ParseTuple}, + {"Py_BuildValue", (PYTHON_PROC*)&dll_Py_BuildValue}, +! # else + {"_PyArg_Parse_SizeT", (PYTHON_PROC*)&dll_PyArg_Parse}, + {"_PyArg_ParseTuple_SizeT", (PYTHON_PROC*)&dll_PyArg_ParseTuple}, + {"_Py_BuildValue_SizeT", (PYTHON_PROC*)&dll_Py_BuildValue}, +! # endif + {"PyMem_Free", (PYTHON_PROC*)&dll_PyMem_Free}, + {"PyMem_Malloc", (PYTHON_PROC*)&dll_PyMem_Malloc}, + {"PyDict_SetItemString", (PYTHON_PROC*)&dll_PyDict_SetItemString}, +*************** +*** 678,684 **** + PYTHON_PROC *ucs_as_encoded_string = + (PYTHON_PROC*)&py_PyUnicode_AsEncodedString; + +! #if !(defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)) && defined(UNIX) && defined(FEAT_PYTHON3) + /* Can't have Python and Python3 loaded at the same time. + * It cause a crash, because RTLD_GLOBAL is needed for + * standard C extension libraries of one or both python versions. */ +--- 680,686 ---- + PYTHON_PROC *ucs_as_encoded_string = + (PYTHON_PROC*)&py_PyUnicode_AsEncodedString; + +! # if !(defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)) && defined(UNIX) && defined(FEAT_PYTHON3) + /* Can't have Python and Python3 loaded at the same time. + * It cause a crash, because RTLD_GLOBAL is needed for + * standard C extension libraries of one or both python versions. */ +*************** +*** 688,694 **** + emsg(_("E836: This Vim cannot execute :python after using :py3")); + return FAIL; + } +! #endif + + if (hinstPython) + return OK; +--- 690,696 ---- + emsg(_("E836: This Vim cannot execute :python after using :py3")); + return FAIL; + } +! # endif + + if (hinstPython) + return OK; +*** ../vim-8.1.0866/src/version.c 2019-02-01 20:42:18.718884011 +0100 +--- src/version.c 2019-02-01 22:09:48.697309931 +0100 +*************** +*** 785,786 **** +--- 785,788 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 867, + /**/ + +-- +Vi beats Emacs to death, and then again! + http://linuxtoday.com/stories/5764.html + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |