Skip to content
Snippets Groups Projects
Commit 2fc8802f authored by Bram Moolenaar's avatar Bram Moolenaar
Browse files

updated for version 7.3.516

Problem:    extend(o, o) may crash Vim.
Solution:   Fix crash and add test. (Thinca and Hirohito Higashi)
parent 8071607a
No related branches found
No related tags found
No related merge requests found
......@@ -10191,7 +10191,7 @@ f_extend(argvars, rettv)
EMSG2(_("E737: Key already exists: %s"), hi2->hi_key);
break;
}
else if (*action == 'f')
else if (*action == 'f' && HI2DI(hi2) != di1)
{
clear_tv(&di1->di_tv);
copy_tv(&HI2DI(hi2)->di_tv, &di1->di_tv);
......
......@@ -352,6 +352,24 @@ let l = [0, 1, 2, 3]
:let dict4copy = deepcopy(dict4)
:$put =(l == lcopy)
:$put =(dict4 == dict4copy)
:"
:" Pass the same List to extend()
:let l = [1, 2, 3, 4, 5]
:call extend(l, l)
:$put =string(l)
:"
:" Pass the same Dict to extend()
:let d = { 'a': {'b': 'B'}}
:call extend(d, d)
:$put =string(d)
:"
:" Pass the same Dict to extend() with "error"
:try
: call extend(d, d, "error")
:catch
: $put =v:exception[:15] . v:exception[-1:-1]
:endtry
:$put =string(d)
:endfun
:"
:call Test(1, 2, [3, 4], {5: 6}) " This may take a while
......
......@@ -111,3 +111,7 @@ caught a:000[3]
0
1
1
[1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
{'a': {'b': 'B'}}
Vim(call):E737: a
{'a': {'b': 'B'}}
......@@ -714,6 +714,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
516,
/**/
515,
/**/
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment