Mercurial > vim
changeset 7660:066ef357ea91 v7.4.1129
commit https://github.com/vim/vim/commit/77324fc9d3206a12f5ae39da1574be3ee1273591
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jan 17 22:37:03 2016 +0100
patch 7.4.1129
Problem: Python None value can't be converted to a Vim value.
Solution: Just use zero. (Damien)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 17 Jan 2016 22:45:04 +0100 |
parents | 07f11de5efca |
children | 5953485bada9 |
files | src/if_py_both.h src/testdir/test86.in src/testdir/test86.ok src/testdir/test87.in src/testdir/test87.ok src/version.c |
diffstat | 6 files changed, 9 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/if_py_both.h +++ b/src/if_py_both.h @@ -5521,7 +5521,7 @@ run_eval(const char *cmd, typval_T *rett } else { - if (ConvertFromPyObject(run_ret, rettv) == -1) + if (run_ret != Py_None && ConvertFromPyObject(run_ret, rettv) == -1) EMSG(_("E859: Failed to convert returned python object to vim value")); Py_DECREF(run_ret); }
--- a/src/testdir/test86.in +++ b/src/testdir/test86.in @@ -329,6 +329,8 @@ EOF :$put =string(l) :let d=pyeval('{"a": "b", "c": 1, "d": ["e"]}') :$put =sort(items(d)) +:let v:errmsg = '' +:$put ='pyeval(\"None\") = ' . pyeval('None') . v:errmsg :if has('float') : let f=pyeval('0.0') : $put =string(f)
--- a/src/testdir/test86.ok +++ b/src/testdir/test86.ok @@ -86,6 +86,7 @@ ll:[1] ['a', 'b'] ['c', 1] ['d', ['e']] +pyeval("None") = 0 0.0 "\0": Vim(let):E859: {"\0": 1}: Vim(let):E859:
--- a/src/testdir/test87.in +++ b/src/testdir/test87.in @@ -326,6 +326,8 @@ EOF :$put =string(l) :let d=py3eval('{"a": "b", "c": 1, "d": ["e"]}') :$put =sort(items(d)) +:let v:errmsg = '' +:$put ='py3eval(\"None\") = ' . py3eval('None') . v:errmsg :if has('float') : let f=py3eval('0.0') : $put =string(f)