To: vim_dev@googlegroups.com Subject: Patch 8.2.4871 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.4871 Problem: Vim9: in :def function no error for using a range with a command that does not accept one. Solution: Check for the command to accept a range. (closes #10330) Files: src/vim9compile.c, src/testdir/test_vim9_script.vim *** ../vim-8.2.4870/src/vim9compile.c 2022-05-04 16:46:51.349318219 +0100 --- src/vim9compile.c 2022-05-05 15:12:42.244172341 +0100 *************** *** 3080,3085 **** --- 3080,3090 ---- ea.forceit = TRUE; p = skipwhite(p + 1); } + if ((ea.argt & EX_RANGE) == 0 && ea.addr_count > 0) + { + emsg(_(e_no_range_allowed)); + goto erret; + } } switch (ea.cmdidx) *** ../vim-8.2.4870/src/testdir/test_vim9_script.vim 2022-05-04 17:29:07.767382639 +0100 --- src/testdir/test_vim9_script.vim 2022-05-05 15:18:59.359842202 +0100 *************** *** 67,72 **** --- 67,95 ---- endif enddef + def Test_invalid_range() + var lines =<< trim END + :123 eval 1 + 2 + END + v9.CheckDefAndScriptFailure(lines, 'E481:', 1) + + lines =<< trim END + :123 if true + endif + END + v9.CheckDefAndScriptFailure(lines, 'E481:', 1) + + lines =<< trim END + :123 echo 'yes' + END + v9.CheckDefAndScriptFailure(lines, 'E481:', 1) + + lines =<< trim END + :123 cd there + END + v9.CheckDefAndScriptFailure(lines, 'E481:', 1) + enddef + let g:alist = [7] let g:astring = 'text' let g:anumber = 123 *** ../vim-8.2.4870/src/version.c 2022-05-05 13:52:59.416192105 +0100 --- src/version.c 2022-05-05 15:14:14.712091509 +0100 *************** *** 748,749 **** --- 748,751 ---- { /* Add new patch number below this line */ + /**/ + 4871, /**/ -- hundred-and-one symptoms of being an internet addict: 100. The most exciting sporting events you noticed during summer 1996 was Netscape vs. Microsoft. /// Bram Moolenaar -- Bram@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 ///