Problem: Dictionary.update() thows an error when used without arguments.
Python programmers don't expect that.
Solution: Make Dictionary.update() without arguments do nothing. (ZyX)
}
else
{
- PyObject *obj;
+ PyObject *obj = NULL;
- if (!PyArg_ParseTuple(args, "O", &obj))
+ if (!PyArg_ParseTuple(args, "|O", &obj))
return NULL;
+ if (obj == NULL)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
if (PyObject_HasAttrString(obj, "keys"))
return DictionaryUpdate(self, NULL, obj);
else
py << EOF
d=vim.bindeval('d')
d['1']='asd'
+d.update() # Must not do anything, including throwing errors
d.update(b=[1, 2, f])
d.update((('-1', {'a': 1}),))
d.update({'0': -1})
py3 << EOF
d=vim.bindeval('d')
d['1']='asd'
+d.update() # Must not do anything, including throwing errors
d.update(b=[1, 2, f])
d.update((('-1', {'a': 1}),))
d.update({'0': -1})
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 176,
/**/
175,
/**/