updated for version 7.3.996
Problem: Python: Can't check types of what is returned by bindeval().
Solution: Add vim.List, vim.Dictionary and vim.Function types. (ZyX)
diff --git a/src/testdir/test86.in b/src/testdir/test86.in
index 6a10bd7..c49eb3b 100644
--- a/src/testdir/test86.in
+++ b/src/testdir/test86.in
@@ -631,10 +631,26 @@
cb.append('Current line: ' + repr(vim.current.line))
for b in vim.buffers:
if b is not cb:
- vim.command('bwipeout! ' + b.number)
+ vim.command('bwipeout! ' + str(b.number))
EOF
:tabonly!
:only!
+:"
+:" Test types
+py << EOF
+for expr, attr in (
+ ('vim.vars', 'Dictionary'),
+ ('vim.options', 'Options'),
+ ('vim.bindeval("{}")', 'Dictionary'),
+ ('vim.bindeval("[]")', 'List'),
+ ('vim.bindeval("function(\'tr\')")', 'Function'),
+ ('vim.current.buffer', 'Buffer'),
+ ('vim.current.range', 'Range'),
+ ('vim.current.window', 'Window'),
+ ('vim.current.tabpage', 'TabPage'),
+):
+ cb.append(expr + ':' + attr + ':' + repr(type(eval(expr)) is getattr(vim, attr)))
+EOF
:endfun
:"
:call Test()