diff --git a/7.3.656 b/7.3.656 new file mode 100644 index 0000000..a9d768b --- /dev/null +++ b/7.3.656 @@ -0,0 +1,84 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.656 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.3.656 +Problem: Internal error in :pyeval. +Solution: Handle failed object conversion. (ZyX) +Files: src/if_python.c, src/if_python3.c + + +*** ../vim-7.3.655/src/if_python.c 2012-06-30 13:34:29.000000000 +0200 +--- src/if_python.c 2012-09-05 18:52:50.000000000 +0200 +*************** +*** 1025,1032 **** + + static PySequenceMethods BufferAsSeq = { + (PyInquiry) BufferLength, /* sq_length, len(x) */ +! (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 */ +--- 1025,1032 ---- + + static PySequenceMethods BufferAsSeq = { + (PyInquiry) BufferLength, /* sq_length, len(x) */ +! (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,1792 **** +--- 1787,1796 ---- + 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; + } + } + +*** ../vim-7.3.655/src/if_python3.c 2012-06-29 16:28:23.000000000 +0200 +--- src/if_python3.c 2012-09-05 18:52:50.000000000 +0200 +*************** +*** 1817,1822 **** +--- 1817,1826 ---- + 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; + } + } + +*** ../vim-7.3.655/src/version.c 2012-09-05 18:48:22.000000000 +0200 +--- src/version.c 2012-09-05 18:53:20.000000000 +0200 +*************** +*** 721,722 **** +--- 721,724 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 656, + /**/ + +-- +DEAD PERSON: I'm getting better! +CUSTOMER: No, you're not -- you'll be stone dead in a moment. +MORTICIAN: Oh, I can't take him like that -- it's against regulations. + The Quest for the Holy Grail (Monty Python) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org ///