patch 9.1.1667: Another outdated comment in eval.c
Commit:
https://github.com/vim/vim/commit/6b5671180440f07f9f6955f46bab380bdc23f950
Author: zeertzjq <[email protected]>
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 <[email protected]>
Signed-off-by: Christian Brabandt <[email protected]>
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 [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/vim_dev/E1uplHB-00Ef1l-Nx%40256bit.org.