comparison src/testdir/test86.in @ 4399:a6f0544df95e v7.3.948

updated for version 7.3.948 Problem: Cannot build with Python 2.2 Solution: Make Python interface work with Python 2.2 Make 2.2 the first supported version. (ZyX)
author Bram Moolenaar <bram@vim.org>
date Wed, 15 May 2013 14:51:35 +0200
parents a84f21892563
children fa90ebf2c8f3
comparison
equal deleted inserted replaced
4398:d5dbc2cea5b3 4399:a6f0544df95e
181 : $put =string(l) 181 : $put =string(l)
182 :else 182 :else
183 : $put ='[0.0, 0.0]' 183 : $put ='[0.0, 0.0]'
184 :endif 184 :endif
185 :let messages=[] 185 :let messages=[]
186 :py <<EOF 186 py <<EOF
187 d=vim.bindeval('{}') 187 d=vim.bindeval('{}')
188 m=vim.bindeval('messages') 188 m=vim.bindeval('messages')
189 try: 189 def em(expr, g=globals(), l=locals()):
190 d['abc'] 190 try:
191 except Exception as e: 191 exec(expr, g, l)
192 m.extend([e.__class__.__name__]) 192 except:
193 193 m.extend([sys.exc_type.__name__])
194 try: 194
195 d['abc']="\0" 195 em('d["abc"]')
196 except Exception as e: 196 em('d["abc"]="\\0"')
197 m.extend([e.__class__.__name__]) 197 em('d["abc"]=vim')
198 198 em('d[""]=1')
199 try: 199 em('d["a\\0b"]=1')
200 d['abc']=vim 200 em('d[u"a\\0b"]=1')
201 except Exception as e:
202 m.extend([e.__class__.__name__])
203
204 try:
205 d['']=1
206 except Exception as e:
207 m.extend([e.__class__.__name__])
208
209 try:
210 d['a\0b']=1
211 except Exception as e:
212 m.extend([e.__class__.__name__])
213
214 try:
215 d[b'a\0b']=1
216 except Exception as e:
217 m.extend([e.__class__.__name__])
218 EOF 201 EOF
219 :$put =messages 202 :$put =messages
220 :unlet messages 203 :unlet messages
221 :" locked and scope attributes 204 :" locked and scope attributes
222 :let d={} | let dl={} | lockvar dl 205 :let d={} | let dl={} | lockvar dl
392 :endfun 375 :endfun
393 py << EOF 376 py << EOF
394 def e(s, g=globals(), l=locals()): 377 def e(s, g=globals(), l=locals()):
395 try: 378 try:
396 exec(s, g, l) 379 exec(s, g, l)
397 except Exception as e: 380 except:
398 vim.command('throw ' + repr(e.__class__.__name__)) 381 vim.command('throw ' + repr(sys.exc_type.__name__))
399 382
400 def ev(s, g=globals(), l=locals()): 383 def ev(s, g=globals(), l=locals()):
401 try: 384 try:
402 return eval(s, g, l) 385 return eval(s, g, l)
403 except Exception as e: 386 except:
404 vim.command('throw ' + repr(e.__class__.__name__)) 387 vim.command('throw ' + repr(sys.exc_type.__name__))
405 return 0 388 return 0
406 EOF 389 EOF
407 :function E(s) 390 :function E(s)
408 : python e(vim.eval('a:s')) 391 : python e(vim.eval('a:s'))
409 :endfunction 392 :endfunction