comparison src/testdir/test86.in @ 3828:fd6ef931aa77 v7.3.672

updated for version 7.3.672 Problem: Not possible to lock/unlock lists in Python interface. Solution: Add .locked and .scope attributes. (ZyX)
author Bram Moolenaar <bram@vim.org>
date Fri, 21 Sep 2012 14:00:35 +0200
parents e75da4a3225d
children 3b2a771abb39
comparison
equal deleted inserted replaced
3827:72c860159c0f 3828:fd6ef931aa77
209 d[b'a\0b']=1 209 d[b'a\0b']=1
210 except Exception as e: 210 except Exception as e:
211 m.extend([e.__class__.__name__]) 211 m.extend([e.__class__.__name__])
212 EOF 212 EOF
213 :$put =messages 213 :$put =messages
214 :unlet messages
215 :" locked and scope attributes
216 :let d={} | let dl={} | lockvar dl
217 :for s in split("d dl v: g:")
218 : let name=tr(s, ':', 's')
219 : execute 'py '.name.'=vim.bindeval("'.s.'")'
220 : let toput=s.' : '.join(map(['locked', 'scope'], 'v:val.":".pyeval(name.".".v:val)'), ';')
221 : $put =toput
222 :endfor
223 :silent! let d.abc=1
224 :silent! let dl.abc=1
225 :py d.locked=True
226 :py dl.locked=False
227 :silent! let d.def=1
228 :silent! let dl.def=1
229 :put ='d:'.string(d)
230 :put ='dl:'.string(dl)
231 :unlet d dl
232 :
233 :let l=[] | let ll=[] | lockvar ll
234 :for s in split("l ll")
235 : let name=tr(s, ':', 's')
236 : execute 'py '.name.'=vim.bindeval("'.s.'")'
237 : let toput=s.' : locked:'.pyeval(name.'.locked')
238 : $put =toput
239 :endfor
240 :silent! call extend(l, [0])
241 :silent! call extend(ll, [0])
242 :py l.locked=True
243 :py ll.locked=False
244 :silent! call extend(l, [1])
245 :silent! call extend(ll, [1])
246 :put ='l:'.string(l)
247 :put ='ll:'.string(ll)
248 :unlet l ll
214 :" 249 :"
215 :" pyeval() 250 :" pyeval()
216 :let l=pyeval('range(3)') 251 :let l=pyeval('range(3)')
217 :$put =string(l) 252 :$put =string(l)
218 :let d=pyeval('{"a": "b", "c": 1, "d": ["e"]}') 253 :let d=pyeval('{"a": "b", "c": 1, "d": ["e"]}')
238 :" 273 :"
239 :delfunc Test 274 :delfunc Test
240 :call garbagecollect(1) 275 :call garbagecollect(1)
241 :" 276 :"
242 :/^start:/,$wq! test.out 277 :/^start:/,$wq! test.out
278 :call getchar()
243 ENDTEST 279 ENDTEST
244 280
245 start: 281 start: