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)
--- 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:
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1129,
+/**/
     1128,
 /**/
     1127,