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/testdir/test86.in b/src/testdir/test86.in
index b53b6bf..fc61848 100644
--- a/src/testdir/test86.in
+++ b/src/testdir/test86.in
@@ -346,6 +346,19 @@
:$put =string(pyeval('l'))
:py l = ll[-10:10]
:$put =string(pyeval('l'))
+:"
+:" Vars
+:let g:foo = 'bac'
+:let w:abc = 'def'
+:let b:baz = 'bar'
+:try
+: throw "Abc"
+:catch
+: put =pyeval('vim.vvars[''exception'']')
+:endtry
+:put =pyeval('vim.vars[''foo'']')
+:put =pyeval('vim.current.window.vars[''abc'']')
+:put =pyeval('vim.current.buffer.vars[''baz'']')
:endfun
:"
:call Test()
diff --git a/src/testdir/test86.ok b/src/testdir/test86.ok
index 20b00d4..3bd2dcf 100644
--- a/src/testdir/test86.ok
+++ b/src/testdir/test86.ok
@@ -76,3 +76,7 @@
[0, 1, 2, 3, 4, 5]
[0, 1, 2, 3, 4, 5]
[0, 1, 2, 3, 4, 5]
+Abc
+bac
+def
+bar
diff --git a/src/testdir/test87.in b/src/testdir/test87.in
index 5115e5b..bdde662 100644
--- a/src/testdir/test87.in
+++ b/src/testdir/test87.in
@@ -315,6 +315,19 @@
:py3 trace_main()
:py3 sys.settrace(None)
:$put =string(l)
+:"
+:" Vars
+:let g:foo = 'bac'
+:let w:abc = 'def'
+:let b:baz = 'bar'
+:try
+: throw "Abc"
+:catch
+: put =py3eval('vim.vvars[''exception'']')
+:endtry
+:put =py3eval('vim.vars[''foo'']')
+:put =py3eval('vim.current.window.vars[''abc'']')
+:put =py3eval('vim.current.buffer.vars[''baz'']')
:endfun
:"
:call Test()
diff --git a/src/testdir/test87.ok b/src/testdir/test87.ok
index 9d75c56..ca74c15 100644
--- a/src/testdir/test87.ok
+++ b/src/testdir/test87.ok
@@ -65,3 +65,7 @@
vim: Vim(let):E861:
[1]
[1, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 1]
+Abc
+bac
+def
+bar