diff --git a/7.3.659 b/7.3.659 new file mode 100644 index 0000000..2a30e67 --- /dev/null +++ b/7.3.659 @@ -0,0 +1,295 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.659 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.3.659 +Problem: Recent Python changes are not tested. +Solution: Add tests for Python bindings. (ZyX) +Files: src/testdir/test86.in, src/testdir/test86.ok, + src/testdir/test87.in, src/testdir/test87.ok + + +*** ../vim-7.3.658/src/testdir/test86.in 2012-06-29 12:54:32.000000000 +0200 +--- src/testdir/test86.in 2012-09-05 19:11:36.000000000 +0200 +*************** +*** 176,203 **** + :else + : $put ='[0.0, 0.0]' + :endif + :" + :" pyeval() + :let l=pyeval('range(3)') + :$put =string(l) + :let d=pyeval('{"a": "b", "c": 1, "d": ["e"]}') + :$put =sort(items(d)) +- :try +- : let undef=pyeval('undefined_name') +- :catch +- : $put =v:exception[:13] +- :endtry +- :try +- : let vim=pyeval('vim') +- :catch +- : $put =v:exception[:13] +- :endtry + :if has('float') + : let f=pyeval('0.0') + : $put =string(f) + :else + : $put ='0.0' + :endif + :endfun + :" + :call Test() +--- 176,237 ---- + :else + : $put ='[0.0, 0.0]' + :endif ++ :let messages=[] ++ :py <<EOF ++ d=vim.bindeval('{}') ++ m=vim.bindeval('messages') ++ try: ++ d['abc'] ++ except Exception as e: ++ m.extend([e.__class__.__name__]) ++ ++ try: ++ d['abc']="\0" ++ except Exception as e: ++ m.extend([e.__class__.__name__]) ++ ++ try: ++ d['abc']=vim ++ except Exception as e: ++ m.extend([e.__class__.__name__]) ++ ++ try: ++ d['']=1 ++ except Exception as e: ++ m.extend([e.__class__.__name__]) ++ ++ try: ++ d['a\0b']=1 ++ except Exception as e: ++ m.extend([e.__class__.__name__]) ++ ++ try: ++ d[b'a\0b']=1 ++ except Exception as e: ++ m.extend([e.__class__.__name__]) ++ EOF ++ :$put =messages + :" + :" pyeval() + :let l=pyeval('range(3)') + :$put =string(l) + :let d=pyeval('{"a": "b", "c": 1, "d": ["e"]}') + :$put =sort(items(d)) + :if has('float') + : let f=pyeval('0.0') + : $put =string(f) + :else + : $put ='0.0' + :endif ++ :" Invalid values: ++ :for e in ['"\0"', '{"\0": 1}', 'undefined_name', 'vim'] ++ : try ++ : let v=pyeval(e) ++ : catch ++ : let toput=e.":\t".v:exception[:13] ++ : $put =toput ++ : endtry ++ :endfor + :endfun + :" + :call Test() +*** ../vim-7.3.658/src/testdir/test86.ok 2012-06-29 12:54:32.000000000 +0200 +--- src/testdir/test86.ok 2012-09-05 19:11:36.000000000 +0200 +*************** +*** 38,47 **** + Vim(python):E725: + Vim(python):E117: + [0.0, 0.0] + [0, 1, 2] + ['a', 'b'] + ['c', 1] + ['d', ['e']] +- Vim(let):E858: +- Vim(let):E859: + 0.0 +--- 38,55 ---- + Vim(python):E725: + Vim(python):E117: + [0.0, 0.0] ++ IndexError ++ TypeError ++ TypeError ++ ValueError ++ TypeError ++ TypeError + [0, 1, 2] + ['a', 'b'] + ['c', 1] + ['d', ['e']] + 0.0 ++ "\0": Vim(let):E859: ++ {"\0": 1}: Vim(let):E859: ++ undefined_name: Vim(let):E858: ++ vim: Vim(let):E859: +*** ../vim-7.3.658/src/testdir/test87.in 2012-06-29 12:54:32.000000000 +0200 +--- src/testdir/test87.in 2012-09-05 19:11:36.000000000 +0200 +*************** +*** 176,203 **** + :else + : $put ='[0.0, 0.0]' + :endif + :" + :" py3eval() + :let l=py3eval('[0, 1, 2]') + :$put =string(l) + :let d=py3eval('{"a": "b", "c": 1, "d": ["e"]}') + :$put =sort(items(d)) +- :try +- : let undef=py3eval('undefined_name') +- :catch +- : $put =v:exception[:13] +- :endtry +- :try +- : let vim=py3eval('vim') +- :catch +- : $put =v:exception[:13] +- :endtry + :if has('float') + : let f=py3eval('0.0') + : $put =string(f) + :else + : $put ='0.0' + :endif + :endfun + :" + :call Test() +--- 176,237 ---- + :else + : $put ='[0.0, 0.0]' + :endif ++ :let messages=[] ++ :py3 <<EOF ++ d=vim.bindeval('{}') ++ m=vim.bindeval('messages') ++ try: ++ d['abc'] ++ except Exception as e: ++ m.extend([e.__class__.__name__]) ++ ++ try: ++ d['abc']="\0" ++ except Exception as e: ++ m.extend([e.__class__.__name__]) ++ ++ try: ++ d['abc']=vim ++ except Exception as e: ++ m.extend([e.__class__.__name__]) ++ ++ try: ++ d['']=1 ++ except Exception as e: ++ m.extend([e.__class__.__name__]) ++ ++ try: ++ d['a\0b']=1 ++ except Exception as e: ++ m.extend([e.__class__.__name__]) ++ ++ try: ++ d[b'a\0b']=1 ++ except Exception as e: ++ m.extend([e.__class__.__name__]) ++ EOF ++ :$put =messages + :" + :" py3eval() + :let l=py3eval('[0, 1, 2]') + :$put =string(l) + :let d=py3eval('{"a": "b", "c": 1, "d": ["e"]}') + :$put =sort(items(d)) + :if has('float') + : let f=py3eval('0.0') + : $put =string(f) + :else + : $put ='0.0' + :endif ++ :" Invalid values: ++ :for e in ['"\0"', '{"\0": 1}', 'undefined_name', 'vim'] ++ : try ++ : let v=py3eval(e) ++ : catch ++ : let toput=e.":\t".v:exception[:13] ++ : $put =toput ++ : endtry ++ :endfor + :endfun + :" + :call Test() +*** ../vim-7.3.658/src/testdir/test87.ok 2012-06-29 12:54:32.000000000 +0200 +--- src/testdir/test87.ok 2012-09-05 19:11:36.000000000 +0200 +*************** +*** 38,47 **** + Vim(py3):E725: + Vim(py3):E117: + [0.0, 0.0] + [0, 1, 2] + ['a', 'b'] + ['c', 1] + ['d', ['e']] +- Vim(let):E860: +- Vim(let):E861: + 0.0 +--- 38,55 ---- + Vim(py3):E725: + Vim(py3):E117: + [0.0, 0.0] ++ IndexError ++ TypeError ++ TypeError ++ ValueError ++ TypeError ++ TypeError + [0, 1, 2] + ['a', 'b'] + ['c', 1] + ['d', ['e']] + 0.0 ++ "\0": Vim(let):E861: ++ {"\0": 1}: Vim(let):E861: ++ undefined_name: Vim(let):E860: ++ vim: Vim(let):E861: +*** ../vim-7.3.658/src/version.c 2012-09-05 19:09:06.000000000 +0200 +--- src/version.c 2012-09-05 19:16:52.000000000 +0200 +*************** +*** 721,722 **** +--- 721,724 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 659, + /**/ + +-- +DEAD PERSON: I don't want to go in the cart! +CUSTOMER: Oh, don't be such a baby. +MORTICIAN: I can't take him... +DEAD PERSON: I feel fine! +CUSTOMER: Oh, do us a favor... +MORTICIAN: I can't. + The Quest for the Holy Grail (Monty Python) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org ///