summaryrefslogtreecommitdiffstats
path: root/patches/source/vim/patches/7.4.380
diff options
context:
space:
mode:
Diffstat (limited to 'patches/source/vim/patches/7.4.380')
-rw-r--r--patches/source/vim/patches/7.4.380115
1 files changed, 115 insertions, 0 deletions
diff --git a/patches/source/vim/patches/7.4.380 b/patches/source/vim/patches/7.4.380
new file mode 100644
index 000000000..8c93e0772
--- /dev/null
+++ b/patches/source/vim/patches/7.4.380
@@ -0,0 +1,115 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.380
+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.4.380
+Problem: Loading python may cause Vim to exit.
+Solution: Avoid loading the "site" module. (Taro Muraoka)
+Files: src/if_python.c
+
+
+*** ../vim-7.4.379/src/if_python.c 2014-03-30 16:11:37.176530823 +0200
+--- src/if_python.c 2014-07-23 16:46:42.863880615 +0200
+***************
+*** 295,300 ****
+--- 295,303 ----
+ # define PyCObject_FromVoidPtr dll_PyCObject_FromVoidPtr
+ # define PyCObject_AsVoidPtr dll_PyCObject_AsVoidPtr
+ # endif
++ # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02070000
++ # define Py_NoSiteFlag (*dll_Py_NoSiteFlag)
++ # endif
+
+ /*
+ * Pointers for dynamic link
+***************
+*** 440,445 ****
+--- 443,451 ----
+ static PyObject* (*dll_PyCObject_FromVoidPtr)(void *cobj, void (*destr)(void *));
+ static void* (*dll_PyCObject_AsVoidPtr)(PyObject *);
+ # endif
++ # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02070000
++ static int* dll_Py_NoSiteFlag;
++ # endif
+
+ static HINSTANCE hinstPython = 0; /* Instance of python.dll */
+
+***************
+*** 633,638 ****
+--- 639,647 ----
+ {"PyCObject_FromVoidPtr", (PYTHON_PROC*)&dll_PyCObject_FromVoidPtr},
+ {"PyCObject_AsVoidPtr", (PYTHON_PROC*)&dll_PyCObject_AsVoidPtr},
+ # endif
++ # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02070000
++ {"Py_NoSiteFlag", (PYTHON_PROC*)&dll_Py_NoSiteFlag},
++ # endif
+ {"", NULL},
+ };
+
+***************
+*** 901,906 ****
+--- 910,919 ----
+ {
+ if (!initialised)
+ {
++ #if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02070000
++ PyObject *site;
++ #endif
++
+ #ifdef DYNAMIC_PYTHON
+ if (!python_enabled(TRUE))
+ {
+***************
+*** 915,925 ****
+--- 928,956 ----
+
+ init_structs();
+
++ #if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02070000
++ /* Disable implicit 'import site', because it may cause Vim to exit
++ * when it can't be found. */
++ Py_NoSiteFlag++;
++ #endif
++
+ #if !defined(MACOS) || defined(MACOS_X_UNIX)
+ Py_Initialize();
+ #else
+ PyMac_Initialize();
+ #endif
++
++ #if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02070000
++ /* 'import site' explicitly. */
++ site = PyImport_ImportModule("site");
++ if (site == NULL)
++ {
++ EMSG(_("E887: Sorry, this command is disabled, the Python's site module could not be loaded."));
++ goto fail;
++ }
++ Py_DECREF(site);
++ #endif
++
+ /* Initialise threads, and below save the state using
+ * PyEval_SaveThread. Without the call to PyEval_SaveThread, thread
+ * specific state (such as the system trace hook), will be lost
+*** ../vim-7.4.379/src/version.c 2014-07-23 16:33:04.079886500 +0200
+--- src/version.c 2014-07-23 16:43:47.939881872 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 380,
+ /**/
+
+--
+Looking at Perl through Lisp glasses, Perl looks atrocious.
+
+ /// 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 ///