[SCM] Vim packaging branch, deb/pythonpath, updated. upstream/7.2.025-2-ga69edc4

James Vega jamessan at debian.org
Thu Oct 23 14:00:07 UTC 2008


The following commit has been merged in the deb/pythonpath branch:
commit a69edc462323d1f1c98c28240a691d9ac83ac898
Author: James Vega <jamessan at debian.org>
Date:   Thu Oct 23 09:59:30 2008 -0400

    Simplify sys.path sanitizing
    
    Signed-off-by: James Vega <jamessan at debian.org>

diff --git a/src/if_python.c b/src/if_python.c
index d1b221a..d9bc30a 100644
--- a/src/if_python.c
+++ b/src/if_python.c
@@ -394,7 +394,6 @@ static PyInt RangeEnd;
 static void PythonIO_Flush(void);
 static int PythonIO_Init(void);
 static int PythonMod_Init(void);
-static void Python_FixPath(void);
 
 /* Utility functions for the vim/python interface
  * ----------------------------------------------
@@ -535,7 +534,7 @@ Python_Init(void)
 	/* Remove empty elements from sys.path since that causes the PWD to be
 	 * used for imports, possibly masking system libraries and/or running
 	 * arbitrary code. */
-	Python_FixPath();
+	PyRun_SimpleString("import sys; sys.path = filter(None, sys.path)");
 
 	/* the first python thread is vim's, release the lock */
 	Python_SaveThread();
@@ -2380,28 +2379,6 @@ PythonMod_Init(void)
     return 0;
 }
 
-    static void
-Python_FixPath(void)
-{
-	PyObject *sys = PyImport_ImportModule("sys");
-	PyObject *sysdict = PyModule_GetDict(sys);
-	PyObject *path = PyDict_GetItemString(sysdict, "path");
-	PyObject *newpath = PyList_New(0);
-	if (newpath != NULL) {
-	    Py_INCREF(newpath);
-	    PyInt n = PyList_Size(path);
-	    PyInt i;
-	    for (i = 0; i < n; i++) {
-		PyObject *item = PyList_GetItem(path, i);
-		if (strlen(PyString_AsString(item)) != 0) {
-		    PyList_Append(newpath, PyList_GetItem(path, i));
-		}
-	    }
-	    PyDict_SetItemString(sysdict, "path", newpath);
-	    Py_DECREF(newpath);
-	}
-}
-
 /*************************************************************************
  * 4. Utility functions for handling the interface between Vim and Python.
  */

-- 
Vim packaging



More information about the pkg-vim-maintainers mailing list