updated for version 7.3.911
Problem: Python: Access to Vim variables is not so easy.
Solution: Define vim.vars and vim.vvars. (ZyX)
diff --git a/src/if_python.c b/src/if_python.c
index 547df3a..6e1cb0c 100644
--- a/src/if_python.c
+++ b/src/if_python.c
@@ -1330,6 +1330,7 @@
{
PyObject *mod;
PyObject *dict;
+ PyObject *tmp;
/* The special value is removed from sys.path in Python_Init(). */
static char *(argv[2]) = {"/must>not&exist/foo", NULL};
@@ -1353,6 +1354,12 @@
PyDict_SetItemString(dict, "buffers", (PyObject *)(void *)&TheBufferList);
PyDict_SetItemString(dict, "current", (PyObject *)(void *)&TheCurrent);
PyDict_SetItemString(dict, "windows", (PyObject *)(void *)&TheWindowList);
+ tmp = DictionaryNew(&globvardict);
+ PyDict_SetItemString(dict, "vars", tmp);
+ Py_DECREF(tmp);
+ tmp = DictionaryNew(&vimvardict);
+ PyDict_SetItemString(dict, "vvars", tmp);
+ Py_DECREF(tmp);
PyDict_SetItemString(dict, "VAR_LOCKED", PyInt_FromLong(VAR_LOCKED));
PyDict_SetItemString(dict, "VAR_FIXED", PyInt_FromLong(VAR_FIXED));
PyDict_SetItemString(dict, "VAR_SCOPE", PyInt_FromLong(VAR_SCOPE));