diff options
Diffstat (limited to 'source/ap/vim/patches/7.3.062')
-rw-r--r-- | source/ap/vim/patches/7.3.062 | 609 |
1 files changed, 0 insertions, 609 deletions
diff --git a/source/ap/vim/patches/7.3.062 b/source/ap/vim/patches/7.3.062 deleted file mode 100644 index ee69b3ae..00000000 --- a/source/ap/vim/patches/7.3.062 +++ /dev/null @@ -1,609 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.3.062 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.3.062 -Problem: Python doesn't work properly when installed in another directory - than expected. -Solution: Figure out home directory in configure and use Py_SetPythonHome() - at runtime. (Roland Puntaier) -Files: src/configure.in, src/auto/configure, src/if_python.c, - src/if_python3.c - - -*** ../vim-7.3.061/src/configure.in 2010-11-03 22:32:18.000000000 +0100 ---- src/configure.in 2010-11-16 17:47:36.000000000 +0100 -*************** -*** 891,899 **** - - PYTHON_LIBS="${vi_cv_path_python_plibs}" - if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then -! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version}" - else -! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version}" - fi - PYTHON_SRC="if_python.c" - dnl For Mac OSX 10.2 config.o is included in the Python library. ---- 891,899 ---- - - PYTHON_LIBS="${vi_cv_path_python_plibs}" - if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then -! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\"" - else -! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\"" - fi - PYTHON_SRC="if_python.c" - dnl For Mac OSX 10.2 config.o is included in the Python library. -*************** -*** 905,911 **** - if test "${vi_cv_var_python_version}" = "1.4"; then - PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o" - fi -! PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'" - - dnl On FreeBSD linking with "-pthread" is required to use threads. - dnl _THREAD_SAFE must be used for compiling then. ---- 905,911 ---- - if test "${vi_cv_var_python_version}" = "1.4"; then - PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o" - fi -! PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'" - - dnl On FreeBSD linking with "-pthread" is required to use threads. - dnl _THREAD_SAFE must be used for compiling then. -*************** -*** 1063,1071 **** - - PYTHON3_LIBS="${vi_cv_path_python3_plibs}" - if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then -! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}" - else -! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}" - fi - PYTHON3_SRC="if_python3.c" - dnl For Mac OSX 10.2 config.o is included in the Python library. ---- 1063,1071 ---- - - PYTHON3_LIBS="${vi_cv_path_python3_plibs}" - if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then -! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\"" - else -! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\"" - fi - PYTHON3_SRC="if_python3.c" - dnl For Mac OSX 10.2 config.o is included in the Python library. -*************** -*** 1143,1151 **** - if test "$python_ok" = yes && test "$python3_ok" = yes; then - AC_DEFINE(DYNAMIC_PYTHON) - AC_DEFINE(DYNAMIC_PYTHON3) -! AC_MSG_CHECKING(whether we can do without RTLD_GLOBAL) - cflags_save=$CFLAGS -! CFLAGS="$CFLAGS $PYTHON3_CFLAGS" - ldflags_save=$LDFLAGS - LDFLAGS="$LDFLAGS -ldl" - AC_RUN_IFELSE([ ---- 1143,1151 ---- - if test "$python_ok" = yes && test "$python3_ok" = yes; then - AC_DEFINE(DYNAMIC_PYTHON) - AC_DEFINE(DYNAMIC_PYTHON3) -! AC_MSG_CHECKING(whether we can do without RTLD_GLOBAL for Python) - cflags_save=$CFLAGS -! CFLAGS="$CFLAGS $PYTHON_CFLAGS" - ldflags_save=$LDFLAGS - LDFLAGS="$LDFLAGS -ldl" - AC_RUN_IFELSE([ -*************** -*** 1156,1170 **** - * Only the first pyhton version used will be switched on. - */ - -! int no_rtl_global_needed_for(char *python_instsoname) - { - int needed = 0; - void* pylib = dlopen(python_instsoname, RTLD_LAZY); - if (pylib != 0) - { - void (*init)(void) = dlsym(pylib, "Py_Initialize"); - int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString"); - void (*final)(void) = dlsym(pylib, "Py_Finalize"); - (*init)(); - needed = (*simple)("import termios") == -1; - (*final)(); ---- 1156,1172 ---- - * Only the first pyhton version used will be switched on. - */ - -! int no_rtl_global_needed_for(char *python_instsoname, char *prefix) - { - int needed = 0; - void* pylib = dlopen(python_instsoname, RTLD_LAZY); - if (pylib != 0) - { -+ void (*pfx)(char *home) = dlsym(pylib, "Py_SetPythonHome"); - void (*init)(void) = dlsym(pylib, "Py_Initialize"); - int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString"); - void (*final)(void) = dlsym(pylib, "Py_Finalize"); -+ (*pfx)(prefix); - (*init)(); - needed = (*simple)("import termios") == -1; - (*final)(); -*************** -*** 1176,1188 **** - int main(int argc, char** argv) - { - int not_needed = 0; -! if (no_rtl_global_needed_for("libpython2.7.so.1.0") && no_rtl_global_needed_for("libpython3.1.so.1.0")) - not_needed = 1; - return !not_needed; - }], - [AC_MSG_RESULT(yes);AC_DEFINE(PY_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)]) - CFLAGS=$cflags_save - LDFLAGS=$ldflags_save - PYTHON_SRC="if_python.c" - PYTHON_OBJ="objects/if_python.o" - PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\"" ---- 1178,1237 ---- - int main(int argc, char** argv) - { - int not_needed = 0; -! if (no_rtl_global_needed_for("${python_INSTSONAME}", "${vi_cv_path_python_pfx}")) - not_needed = 1; - return !not_needed; - }], - [AC_MSG_RESULT(yes);AC_DEFINE(PY_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)]) -+ - CFLAGS=$cflags_save - LDFLAGS=$ldflags_save -+ -+ AC_MSG_CHECKING(whether we can do without RTLD_GLOBAL for Python3) -+ cflags_save=$CFLAGS -+ CFLAGS="$CFLAGS $PYTHON3_CFLAGS" -+ ldflags_save=$LDFLAGS -+ LDFLAGS="$LDFLAGS -ldl" -+ AC_RUN_IFELSE([ -+ #include <dlfcn.h> -+ #include <wchar.h> -+ /* If this program fails, then RTLD_GLOBAL is needed. -+ * RTLD_GLOBAL will be used and then it is not possible to -+ * have both python versions enabled in the same vim instance. -+ * Only the first pyhton version used will be switched on. -+ */ -+ -+ int no_rtl_global_needed_for(char *python_instsoname, wchar_t *prefix) -+ { -+ int needed = 0; -+ void* pylib = dlopen(python_instsoname, RTLD_LAZY); -+ if (pylib != 0) -+ { -+ void (*pfx)(wchar_t *home) = dlsym(pylib, "Py_SetPythonHome"); -+ void (*init)(void) = dlsym(pylib, "Py_Initialize"); -+ int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString"); -+ void (*final)(void) = dlsym(pylib, "Py_Finalize"); -+ (*pfx)(prefix); -+ (*init)(); -+ needed = (*simple)("import termios") == -1; -+ (*final)(); -+ dlclose(pylib); -+ } -+ return !needed; -+ } -+ -+ int main(int argc, char** argv) -+ { -+ int not_needed = 0; -+ if (no_rtl_global_needed_for("${python3_INSTSONAME}", L"${vi_cv_path_python3_pfx}")) -+ not_needed = 1; -+ return !not_needed; -+ }], -+ [AC_MSG_RESULT(yes);AC_DEFINE(PY3_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)]) -+ -+ CFLAGS=$cflags_save -+ LDFLAGS=$ldflags_save -+ - PYTHON_SRC="if_python.c" - PYTHON_OBJ="objects/if_python.o" - PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\"" -*** ../vim-7.3.061/src/auto/configure 2010-11-03 22:32:18.000000000 +0100 ---- src/auto/configure 2010-11-16 17:47:42.000000000 +0100 -*************** -*** 5326,5334 **** - - PYTHON_LIBS="${vi_cv_path_python_plibs}" - if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then -! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version}" - else -! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version}" - fi - PYTHON_SRC="if_python.c" - if test "x$MACOSX" = "xyes"; then ---- 5326,5334 ---- - - PYTHON_LIBS="${vi_cv_path_python_plibs}" - if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then -! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\"" - else -! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\"" - fi - PYTHON_SRC="if_python.c" - if test "x$MACOSX" = "xyes"; then -*************** -*** 5339,5345 **** - if test "${vi_cv_var_python_version}" = "1.4"; then - PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o" - fi -! PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -pthread should be used" >&5 - $as_echo_n "checking if -pthread should be used... " >&6; } ---- 5339,5345 ---- - if test "${vi_cv_var_python_version}" = "1.4"; then - PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o" - fi -! PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -pthread should be used" >&5 - $as_echo_n "checking if -pthread should be used... " >&6; } -*************** -*** 5601,5609 **** - - PYTHON3_LIBS="${vi_cv_path_python3_plibs}" - if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then -! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}" - else -! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}" - fi - PYTHON3_SRC="if_python3.c" - if test "x$MACOSX" = "xyes"; then ---- 5601,5609 ---- - - PYTHON3_LIBS="${vi_cv_path_python3_plibs}" - if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then -! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\"" - else -! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\"" - fi - PYTHON3_SRC="if_python3.c" - if test "x$MACOSX" = "xyes"; then -*************** -*** 5708,5717 **** - - $as_echo "#define DYNAMIC_PYTHON3 1" >>confdefs.h - -! { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can do without RTLD_GLOBAL" >&5 -! $as_echo_n "checking whether we can do without RTLD_GLOBAL... " >&6; } - cflags_save=$CFLAGS -! CFLAGS="$CFLAGS $PYTHON3_CFLAGS" - ldflags_save=$LDFLAGS - LDFLAGS="$LDFLAGS -ldl" - if test "$cross_compiling" = yes; then : ---- 5708,5717 ---- - - $as_echo "#define DYNAMIC_PYTHON3 1" >>confdefs.h - -! { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can do without RTLD_GLOBAL for Python" >&5 -! $as_echo_n "checking whether we can do without RTLD_GLOBAL for Python... " >&6; } - cflags_save=$CFLAGS -! CFLAGS="$CFLAGS $PYTHON_CFLAGS" - ldflags_save=$LDFLAGS - LDFLAGS="$LDFLAGS -ldl" - if test "$cross_compiling" = yes; then : -*************** -*** 5730,5744 **** - * Only the first pyhton version used will be switched on. - */ - -! int no_rtl_global_needed_for(char *python_instsoname) - { - int needed = 0; - void* pylib = dlopen(python_instsoname, RTLD_LAZY); - if (pylib != 0) - { - void (*init)(void) = dlsym(pylib, "Py_Initialize"); - int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString"); - void (*final)(void) = dlsym(pylib, "Py_Finalize"); - (*init)(); - needed = (*simple)("import termios") == -1; - (*final)(); ---- 5730,5746 ---- - * Only the first pyhton version used will be switched on. - */ - -! int no_rtl_global_needed_for(char *python_instsoname, char *prefix) - { - int needed = 0; - void* pylib = dlopen(python_instsoname, RTLD_LAZY); - if (pylib != 0) - { -+ void (*pfx)(char *home) = dlsym(pylib, "Py_SetPythonHome"); - void (*init)(void) = dlsym(pylib, "Py_Initialize"); - int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString"); - void (*final)(void) = dlsym(pylib, "Py_Finalize"); -+ (*pfx)(prefix); - (*init)(); - needed = (*simple)("import termios") == -1; - (*final)(); -*************** -*** 5750,5756 **** - int main(int argc, char** argv) - { - int not_needed = 0; -! if (no_rtl_global_needed_for("libpython2.7.so.1.0") && no_rtl_global_needed_for("libpython3.1.so.1.0")) - not_needed = 1; - return !not_needed; - } ---- 5752,5758 ---- - int main(int argc, char** argv) - { - int not_needed = 0; -! if (no_rtl_global_needed_for("${python_INSTSONAME}", "${vi_cv_path_python_pfx}")) - not_needed = 1; - return !not_needed; - } -*************** -*** 5767,5774 **** ---- 5769,5844 ---- - conftest.$ac_objext conftest.beam conftest.$ac_ext - fi - -+ - CFLAGS=$cflags_save - LDFLAGS=$ldflags_save -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can do without RTLD_GLOBAL for Python3" >&5 -+ $as_echo_n "checking whether we can do without RTLD_GLOBAL for Python3... " >&6; } -+ cflags_save=$CFLAGS -+ CFLAGS="$CFLAGS $PYTHON3_CFLAGS" -+ ldflags_save=$LDFLAGS -+ LDFLAGS="$LDFLAGS -ldl" -+ if test "$cross_compiling" = yes; then : -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+ as_fn_error "cannot run test program while cross compiling -+ See \`config.log' for more details." "$LINENO" 5; } -+ else -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+ /* end confdefs.h. */ -+ -+ #include <dlfcn.h> -+ #include <wchar.h> -+ /* If this program fails, then RTLD_GLOBAL is needed. -+ * RTLD_GLOBAL will be used and then it is not possible to -+ * have both python versions enabled in the same vim instance. -+ * Only the first pyhton version used will be switched on. -+ */ -+ -+ int no_rtl_global_needed_for(char *python_instsoname, wchar_t *prefix) -+ { -+ int needed = 0; -+ void* pylib = dlopen(python_instsoname, RTLD_LAZY); -+ if (pylib != 0) -+ { -+ void (*pfx)(wchar_t *home) = dlsym(pylib, "Py_SetPythonHome"); -+ void (*init)(void) = dlsym(pylib, "Py_Initialize"); -+ int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString"); -+ void (*final)(void) = dlsym(pylib, "Py_Finalize"); -+ (*pfx)(prefix); -+ (*init)(); -+ needed = (*simple)("import termios") == -1; -+ (*final)(); -+ dlclose(pylib); -+ } -+ return !needed; -+ } -+ -+ int main(int argc, char** argv) -+ { -+ int not_needed = 0; -+ if (no_rtl_global_needed_for("${python3_INSTSONAME}", L"${vi_cv_path_python3_pfx}")) -+ not_needed = 1; -+ return !not_needed; -+ } -+ _ACEOF -+ if ac_fn_c_try_run "$LINENO"; then : -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -+ $as_echo "yes" >&6; };$as_echo "#define PY3_NO_RTLD_GLOBAL 1" >>confdefs.h -+ -+ else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+ $as_echo "no" >&6; } -+ fi -+ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ -+ conftest.$ac_objext conftest.beam conftest.$ac_ext -+ fi -+ -+ -+ CFLAGS=$cflags_save -+ LDFLAGS=$ldflags_save -+ - PYTHON_SRC="if_python.c" - PYTHON_OBJ="objects/if_python.o" - PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\"" -*** ../vim-7.3.061/src/if_python.c 2010-10-23 14:02:48.000000000 +0200 ---- src/if_python.c 2010-11-16 17:07:00.000000000 +0100 -*************** -*** 102,108 **** - # include <dlfcn.h> - # define FARPROC void* - # define HINSTANCE void* -! # ifdef PY_NO_RTLD_GLOBAL - # define load_dll(n) dlopen((n), RTLD_LAZY) - # else - # define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL) ---- 102,108 ---- - # include <dlfcn.h> - # define FARPROC void* - # define HINSTANCE void* -! # if defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL) - # define load_dll(n) dlopen((n), RTLD_LAZY) - # else - # define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL) -*************** -*** 168,173 **** ---- 168,174 ---- - # define Py_BuildValue dll_Py_BuildValue - # define Py_FindMethod dll_Py_FindMethod - # define Py_InitModule4 dll_Py_InitModule4 -+ # define Py_SetPythonHome dll_Py_SetPythonHome - # define Py_Initialize dll_Py_Initialize - # define Py_Finalize dll_Py_Finalize - # define Py_IsInitialized dll_Py_IsInitialized -*************** -*** 226,231 **** ---- 227,233 ---- - static PyObject*(*dll_Py_BuildValue)(char *, ...); - static PyObject*(*dll_Py_FindMethod)(struct PyMethodDef[], PyObject *, char *); - static PyObject*(*dll_Py_InitModule4)(char *, struct PyMethodDef *, char *, PyObject *, int); -+ static void(*dll_Py_SetPythonHome)(char *home); - static void(*dll_Py_Initialize)(void); - static void(*dll_Py_Finalize)(void); - static int(*dll_Py_IsInitialized)(void); -*************** -*** 310,315 **** ---- 312,318 ---- - # else - {"Py_InitModule4", (PYTHON_PROC*)&dll_Py_InitModule4}, - # endif -+ {"Py_SetPythonHome", (PYTHON_PROC*)&dll_Py_SetPythonHome}, - {"Py_Initialize", (PYTHON_PROC*)&dll_Py_Initialize}, - {"Py_Finalize", (PYTHON_PROC*)&dll_Py_Finalize}, - {"Py_IsInitialized", (PYTHON_PROC*)&dll_Py_IsInitialized}, -*************** -*** 349,355 **** - { - int i; - -! #if !defined(PY_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. */ ---- 352,358 ---- - { - int i; - -! #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. */ -*************** -*** 543,548 **** ---- 546,555 ---- - } - #endif - -+ #ifdef PYTHON_HOME -+ Py_SetPythonHome(PYTHON_HOME); -+ #endif -+ - init_structs(); - - #if !defined(MACOS) || defined(MACOS_X_UNIX) -*** ../vim-7.3.061/src/if_python3.c 2010-10-23 14:02:48.000000000 +0200 ---- src/if_python3.c 2010-11-16 17:07:26.000000000 +0100 -*************** -*** 80,86 **** - # include <dlfcn.h> - # define FARPROC void* - # define HINSTANCE void* -! # ifdef PY_NO_RTLD_GLOBAL - # define load_dll(n) dlopen((n), RTLD_LAZY) - # else - # define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL) ---- 80,86 ---- - # include <dlfcn.h> - # define FARPROC void* - # define HINSTANCE void* -! # if defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL) - # define load_dll(n) dlopen((n), RTLD_LAZY) - # else - # define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL) -*************** -*** 132,137 **** ---- 132,138 ---- - # define PyType_Ready py3_PyType_Ready - #undef Py_BuildValue - # define Py_BuildValue py3_Py_BuildValue -+ # define Py_SetPythonHome py3_Py_SetPythonHome - # define Py_Initialize py3_Py_Initialize - # define Py_Finalize py3_Py_Finalize - # define Py_IsInitialized py3_Py_IsInitialized -*************** -*** 170,175 **** ---- 171,177 ---- - * Pointers for dynamic link - */ - static int (*py3_PySys_SetArgv)(int, wchar_t **); -+ static void (*py3_Py_SetPythonHome)(wchar_t *home); - static void (*py3_Py_Initialize)(void); - static PyObject* (*py3_PyList_New)(Py_ssize_t size); - static PyGILState_STATE (*py3_PyGILState_Ensure)(void); -*************** -*** 254,259 **** ---- 256,262 ---- - } py3_funcname_table[] = - { - {"PySys_SetArgv", (PYTHON_PROC*)&py3_PySys_SetArgv}, -+ {"Py_SetPythonHome", (PYTHON_PROC*)&py3_Py_SetPythonHome}, - {"Py_Initialize", (PYTHON_PROC*)&py3_Py_Initialize}, - {"PyArg_ParseTuple", (PYTHON_PROC*)&py3_PyArg_ParseTuple}, - {"PyList_New", (PYTHON_PROC*)&py3_PyList_New}, -*************** -*** 336,342 **** - int i; - void *ucs_from_string, *ucs_from_string_and_size; - -! # if !defined(PY_NO_RTLD_GLOBAL) && defined(UNIX) && defined(FEAT_PYTHON) - /* 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. */ ---- 339,345 ---- - int i; - void *ucs_from_string, *ucs_from_string_and_size; - -! # if !(defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)) && defined(UNIX) && defined(FEAT_PYTHON) - /* 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. */ -*************** -*** 539,544 **** ---- 542,552 ---- - - init_structs(); - -+ -+ #ifdef PYTHON3_HOME -+ Py_SetPythonHome(PYTHON3_HOME); -+ #endif -+ - /* initialise threads */ - PyEval_InitThreads(); - -*** ../vim-7.3.061/src/version.c 2010-11-16 16:25:46.000000000 +0100 ---- src/version.c 2010-11-16 17:12:40.000000000 +0100 -*************** -*** 716,717 **** ---- 716,719 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 62, - /**/ - --- -ARTHUR: CHARGE! - [The mighty ARMY charges. Thundering noise of feet. Clatter of coconuts. - Shouts etc. Suddenly there is a wail of a siren and a couple of police - cars roar round in front of the charging ARMY and the POLICE leap out and - stop them. TWO POLICEMAN and the HISTORIAN'S WIFE. Black Marias skid up - behind them.] -HISTORIAN'S WIFE: They're the ones, I'm sure. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// 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 /// |