diff options
author | Bram Moolenaar <Bram@vim.org> | 2012-09-05 18:54:48 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2012-09-05 18:54:48 +0200 |
commit | 77fceb890851e8c97c9d4bbe521dff165455d371 (patch) | |
tree | e5f5d88afd7d31aa822a4bd7436ee8feae8df874 /src/if_python.c | |
parent | e48a2dd3af920d712305e4225454cb2940fb3312 (diff) | |
download | vim-77fceb890851e8c97c9d4bbe521dff165455d371.zip |
updated for version 7.3.656
Problem: Internal error in :pyeval.
Solution: Handle failed object conversion. (ZyX)
Diffstat (limited to 'src/if_python.c')
-rw-r--r-- | src/if_python.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/if_python.c b/src/if_python.c index 1740979ac..836bf1b3f 100644 --- a/src/if_python.c +++ b/src/if_python.c @@ -1025,8 +1025,8 @@ static int CurrentSetattr(PyObject *, char *, PyObject *); static PySequenceMethods BufferAsSeq = { (PyInquiry) BufferLength, /* sq_length, len(x) */ - (binaryfunc) 0, /* BufferConcat, */ /* sq_concat, x+y */ - (PyIntArgFunc) 0, /* BufferRepeat, */ /* sq_repeat, x*n */ + (binaryfunc) 0, /* BufferConcat, sq_concat, x+y */ + (PyIntArgFunc) 0, /* BufferRepeat, sq_repeat, x*n */ (PyIntArgFunc) BufferItem, /* sq_item, x[i] */ (PyIntIntArgFunc) BufferSlice, /* sq_slice, x[i:j] */ (PyIntObjArgProc) BufferAssItem, /* sq_ass_item, x[i]=v */ @@ -1787,6 +1787,10 @@ do_pyeval (char_u *str, typval_T *rettv) case VAR_DICT: ++rettv->vval.v_dict->dv_refcount; break; case VAR_LIST: ++rettv->vval.v_list->lv_refcount; break; case VAR_FUNC: func_ref(rettv->vval.v_string); break; + case VAR_UNKNOWN: + rettv->v_type = VAR_NUMBER; + rettv->vval.v_number = 0; + break; } } |