updated for version 7.0043
diff --git a/src/testdir/test55.in b/src/testdir/test55.in
index a757dae..2fa26bf 100644
--- a/src/testdir/test55.in
+++ b/src/testdir/test55.in
@@ -76,20 +76,20 @@
:unlet d[-1]
:$put =string(d)
:"
-:" manipulating a big Dictionary
+:" manipulating a big Dictionary (hashtable.c has a border of 1000 entries)
:let d = {}
-:for i in range(15000)
-: let d[i] = 30000 - i
+:for i in range(1500)
+: let d[i] = 3000 - i
:endfor
-:$put =d[0] . ' ' . d[100] . ' ' . d[999] . ' ' . d[14000] . ' ' . d[14999]
+:$put =d[0] . ' ' . d[100] . ' ' . d[999] . ' ' . d[1400] . ' ' . d[1499]
:try
-: let n = d[15000]
+: let n = d[1500]
:catch
-: $put =v:exception[:14] . v:exception[-5:-1]
+: $put =v:exception[:14] . v:exception[-4:-1]
:endtry
:" lookup each items
-:for i in range(15000)
-: if d[i] != 30000 - i
+:for i in range(1500)
+: if d[i] != 3000 - i
: $put =d[i]
: endif
:endfor
@@ -99,12 +99,12 @@
: let i -= 2
: unlet d[i]
:endwhile
-:$put =get(d, 15000 - 100, 'NONE') . ' ' . d[1]
+:$put =get(d, 1500 - 100, 'NONE') . ' ' . d[1]
:" delete odd items, checking value, one intentionally wrong
:let d[33] = 999
:let i = 1
-:while i < 15000
-: if d[i] != 30000 - i
+:while i < 1500
+: if d[i] != 3000 - i
: $put =i . '=' . d[i]
: else
: unlet d[i]
@@ -121,14 +121,22 @@
:endfunc
:let dict.data = [1,2,3]
:call dict.func("len: ")
-:echo dict.func("again: ")
+:let x = dict.func("again: ")
:try
: let Fn = dict.func
: call Fn('xxx')
:catch
: $put =v:exception[:15]
:endtry
-:sleep 5
+:"
+:" Function in script-local List or Dict
+:let g:dict = {}
+:function g:dict.func() dict
+: $put ='g:dict.func'.self.foo[1].self.foo[0]('asdf')
+:endfunc
+:let g:dict.foo = ['-', 2, 3]
+:call insert(g:dict.foo, function('strlen'))
+:call g:dict.func()
:"
:" Nasty: remove func from Dict that's being called (works)
:let d = {1:1}
@@ -148,7 +156,7 @@
:endtry
:"
:endfun
-:call Test()
+:call Test() " This may take a while
:"
:/^start:/,$wq! test.out
ENDTEST