From: Bram Moolenaar Date: Sun, 17 Jan 2016 21:37:03 +0000 (+0100) Subject: patch 7.4.1129 X-Git-Tag: v7.4.1129 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=77324fc9d3206a12f5ae39da1574be3ee1273591;p=vim patch 7.4.1129 Problem: Python None value can't be converted to a Vim value. Solution: Just use zero. (Damien) --- diff --git a/src/if_py_both.h b/src/if_py_both.h index 1ad7dc616..e220e3fec 100644 --- a/src/if_py_both.h +++ b/src/if_py_both.h @@ -5521,7 +5521,7 @@ run_eval(const char *cmd, typval_T *rettv } 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); } diff --git a/src/testdir/test86.in b/src/testdir/test86.in index 4714451ee..cc76cff8d 100644 --- 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) diff --git a/src/testdir/test86.ok b/src/testdir/test86.ok index 5cb0ac574..d103909ca 100644 --- 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: diff --git a/src/testdir/test87.in b/src/testdir/test87.in index 41d406521..154e82382 100644 --- 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) diff --git a/src/testdir/test87.ok b/src/testdir/test87.ok index 777173393..1d9b6e257 100644 --- a/src/testdir/test87.ok +++ b/src/testdir/test87.ok @@ -86,6 +86,7 @@ ll:[1] ['a', 'b'] ['c', 1] ['d', ['e']] +py3eval("None") = 0 0.0 "\0": Vim(let):E859: {"\0": 1}: Vim(let):E859: diff --git a/src/version.c b/src/version.c index 5e5a31990..ed7eddc35 100644 --- a/src/version.c +++ b/src/version.c @@ -741,6 +741,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1129, /**/ 1128, /**/