Mercurial > vim
changeset 3796:a2f61b2b8e77 v7.3.656
updated for version 7.3.656
Problem: Internal error in :pyeval.
Solution: Handle failed object conversion. (ZyX)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Wed, 05 Sep 2012 18:54:48 +0200 |
parents | 3ca71275f364 |
children | bf0ee2f87e3b |
files | src/if_python.c src/if_python3.c src/version.c |
diffstat | 3 files changed, 12 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/if_python.c +++ b/src/if_python.c @@ -1025,8 +1025,8 @@ static int CurrentSetattr(PyObject *, ch 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; } }
--- a/src/if_python3.c +++ b/src/if_python3.c @@ -1817,6 +1817,10 @@ do_py3eval (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; } }