patch 9.1.1667: Another outdated comment in eval.c Commit: https://github.com/vim/vim/commit/6b5671180440f07f9f6955f46bab380bdc23f950 Author: zeertzjq <zeert...@outlook.com> Date: Sat Aug 23 06:10:23 2025 -0400
patch 9.1.1667: Another outdated comment in eval.c Problem: Another outdated comment in eval.c (after 9.1.1665). Solution: Remove that comment as well. Add a few more tests for mapnew() that fail without patch 8.2.1672 (zeertzjq). closes: #18089 Signed-off-by: zeertzjq <zeert...@outlook.com> Signed-off-by: Christian Brabandt <c...@256bit.org> diff --git a/src/eval.c b/src/eval.c index 65c62e7fb..9e6dc7444 100644 --- a/src/eval.c +++ b/src/eval.c @@ -3398,7 +3398,6 @@ skipwhite_and_linebreak(char_u *arg, evalarg_T *evalarg) * Handle zero level expression. * This calls eval1() and handles error message and nextcmd. * Put the result in "rettv" when returning OK and "evaluate" is TRUE. - * Note: "rettv.v_lock" is not set. * "evalarg" can be NULL, EVALARG_EVALUATE or a pointer. * Return OK or FAIL. */ diff --git a/src/testdir/test_filter_map.vim b/src/testdir/test_filter_map.vim index 138ca18b5..d3f8327e8 100644 --- a/src/testdir/test_filter_map.vim +++ b/src/testdir/test_filter_map.vim @@ -221,6 +221,16 @@ func Test_mapnew_dict() const dconst = #{one: 1, two: 2, three: 3} call assert_equal(#{one: 2, two: 3, three: 4}, mapnew(dconst, {_, v -> v + 1})) + + " return value of mapnew() can be modified + let dout = mapnew(dconst, {k, v -> $'{k}={v}'}) + let dout.one ..= '!' + call assert_equal(#{one: 'one=1!', two: 'two=2', three: 'three=3'}, dout) + unlet dout.three + call assert_equal(#{one: 'one=1!', two: 'two=2'}, dout) + " original Dict is still locked + call assert_fails('unlet dconst.three', 'E741:') + call assert_fails('let dconst.one += 1', 'E741:') endfunc func Test_mapnew_list() @@ -231,6 +241,16 @@ func Test_mapnew_list() const lconst = [1, 2, 3] call assert_equal([2, 3, 4], mapnew(lconst, {_, v -> v + 1})) + + " return value of mapnew() can be modified + let lout = mapnew(lconst, {k, v -> $'{k}={v}'}) + let lout[0] ..= '!' + call assert_equal(['0=1!', '1=2', '2=3'], lout) + unlet lout[2] + call assert_equal(['0=1!', '1=2'], lout) + " original List is still locked + call assert_fails('unlet lconst[2]', 'E741:') + call assert_fails('let lconst[0] += 1', 'E741:') endfunc func Test_mapnew_blob() diff --git a/src/version.c b/src/version.c index 8e19f05c6..197d25dee 100644 --- a/src/version.c +++ b/src/version.c @@ -724,6 +724,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1667, /**/ 1666, /**/ -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/vim_dev/E1uplHB-00Ef1l-Nx%40256bit.org.