Patch 8.2.3053

3 views
Skip to first unread message

Bram Moolenaar

unread,
Jun 26, 2021, 7:29:17 AM6/26/21
to vim...@googlegroups.com

Patch 8.2.3053
Problem: Vim9: cannot assign to @@ in :def function
Solution: Handle '@' like '"'.
Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim


*** ../vim-8.2.3052/src/vim9compile.c 2021-06-26 13:00:45.734565919 +0200
--- src/vim9compile.c 2021-06-26 13:20:18.008217816 +0200
***************
*** 5854,5860 ****
}
else if (*name == '@')
{
! if (!valid_yank_reg(name[1], FALSE) || name[1] == '.')
{
emsg_invreg(name[1]);
return FAIL;
--- 5854,5861 ----
}
else if (*name == '@')
{
! if (name[1] != '@'
! && (!valid_yank_reg(name[1], FALSE) || name[1] == '.'))
{
emsg_invreg(name[1]);
return FAIL;
*** ../vim-8.2.3052/src/testdir/test_vim9_assign.vim 2021-06-25 21:31:03.379070659 +0200
--- src/testdir/test_vim9_assign.vim 2021-06-26 13:23:29.287843017 +0200
***************
*** 228,243 ****
CheckDefFailure(['$SOME_ENV_VAR += "more"'], 'E1051:')
CheckDefFailure(['$SOME_ENV_VAR += 123'], 'E1012:')

- lines =<< trim END
- @c = 'areg'
- @c ..= 'add'
- assert_equal('aregadd', @c)
- END
- CheckDefAndScriptSuccess(lines)
-
- CheckDefFailure(['@a += "more"'], 'E1051:')
- CheckDefFailure(['@a += 123'], 'E1012:')
-
v:errmsg = 'none'
v:errmsg ..= 'again'
assert_equal('noneagain', v:errmsg)
--- 228,233 ----
***************
*** 249,254 ****
--- 239,259 ----
END
enddef

+ def Test_assign_register()
+ var lines =<< trim END
+ @c = 'areg'
+ @c ..= 'add'
+ assert_equal('aregadd', @c)
+
+ @@ = 'some text'
+ assert_equal('some text', getreg('"'))
+ END
+ CheckDefAndScriptSuccess(lines)
+
+ CheckDefFailure(['@a += "more"'], 'E1051:')
+ CheckDefFailure(['@a += 123'], 'E1012:')
+ enddef
+
def Test_reserved_name()
for name in ['true', 'false', 'null']
CheckDefExecAndScriptFailure(['var ' .. name .. ' = 0'], 'E1034:')
*** ../vim-8.2.3052/src/version.c 2021-06-26 13:00:45.734565919 +0200
--- src/version.c 2021-06-26 13:21:10.920114029 +0200
***************
*** 757,758 ****
--- 757,760 ----
{ /* Add new patch number below this line */
+ /**/
+ 3053,
/**/

--
hundred-and-one symptoms of being an internet addict:
34. You laugh at people with a 10 Mbit connection.

/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
Reply all
Reply to author
Forward
0 new messages