summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/if_py_both.h4
-rw-r--r--src/version.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/src/if_py_both.h b/src/if_py_both.h
index 1801967268..3380142d1e 100644
--- a/src/if_py_both.h
+++ b/src/if_py_both.h
@@ -1996,6 +1996,7 @@ DictionaryUpdate(DictionaryObject *self, PyObject *args, PyObject *kwargs)
PyObject *todecref;
char_u *key;
dictitem_T *di;
+ hashitem_T *hi;
if (!(fast = PySequence_Fast(item, "")))
{
@@ -2052,7 +2053,8 @@ DictionaryUpdate(DictionaryObject *self, PyObject *args, PyObject *kwargs)
Py_DECREF(fast);
- if (dict_add(dict, di) == FAIL)
+ hi = hash_find(&dict->dv_hashtab, di->di_key);
+ if (!HASHITEM_EMPTY(hi) || dict_add(dict, di) == FAIL)
{
RAISE_KEY_ADD_FAIL(di->di_key);
Py_DECREF(iterator);
diff --git a/src/version.c b/src/version.c
index b2a3ce40ac..c74f062516 100644
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1283,
+/**/
1282,
/**/
1281,