updated for version 7.3.1063
Problem: Python: Function is not standard.
Solution: Python patch 22: make Function subclassable. (ZyX)
diff --git a/src/testdir/test87.ok b/src/testdir/test87.ok
index 0945396..2d732fd 100644
--- a/src/testdir/test87.ok
+++ b/src/testdir/test87.ok
@@ -4,13 +4,15 @@
Vim(put):E684:
[0, 'as''d', [1, 2, function('strlen'), {'a': 1}]]
[0, function('strlen'), [1, 2, function('strlen'), {'a': 1}]]
-[b'-1', b'0', b'1', b'b']
-[-1, <vim.dictionary object at >, <vim.list object at >, b'asd']
-[(b'-1', <vim.dictionary object at >), (b'0', -1), (b'1', b'asd'), (b'b', <vim.list object at >)]
+1
+[b'-1', b'0', b'1', b'b', b'f']
+[-1, <vim.Function '1'>, <vim.dictionary object at >, <vim.list object at >, b'asd']
+[(b'-1', <vim.dictionary object at >), (b'0', -1), (b'1', b'asd'), (b'b', <vim.list object at >), (b'f', <vim.Function '1'>)]
'-1' : {'a': 1}
'0' : -1
'1' : 'asd'
'b' : [1, 2, function('strlen')]
+'f' : function('1')
[0, function('strlen')]
[3]
[1, 2, function('strlen')]
@@ -396,13 +398,14 @@
range:__dir__,append,end,start
dictionary:__dir__,get,has_key,items,keys,locked,pop,popitem,scope,update,values
list:__dir__,extend,locked
-function:__call__,__dir__,softspace
+function:__dir__,softspace
output:__dir__,flush,softspace,write,writelines
{}
{'a': 1}
{'a': 1}
[]
['a', 'b', 'c']
+function('tr')
'
abcdef
line :
@@ -413,6 +416,8 @@
['a', 'dup_a']
['a', 'a']
['a', 'b', 'c']
+[2, 2]
+[2, 2]
(<class 'vim.error'>, error('abc',))
(<class 'vim.error'>, error('def',))
(<class 'vim.error'>, error('ghi',))