To: vim_dev@googlegroups.com Subject: Patch 8.2.2670 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.2670 Problem: Vim9: error for append(0, text). Solution: Check for negative number. (closes #8022) Files: src/typval.c, src/testdir/test_vim9_builtin.vim *** ../vim-8.2.2669/src/typval.c 2021-03-27 18:59:21.863043173 +0100 --- src/typval.c 2021-03-28 15:43:05.796569142 +0200 *************** *** 1621,1627 **** if (argvars[0].v_type != VAR_STRING || !in_vim9script()) lnum = (linenr_T)tv_get_number_chk(&argvars[0], NULL); ! if (lnum <= 0) // no valid number, try using arg like line() { int fnum; pos_T *fp = var2fpos(&argvars[0], TRUE, &fnum, FALSE); --- 1621,1627 ---- if (argvars[0].v_type != VAR_STRING || !in_vim9script()) lnum = (linenr_T)tv_get_number_chk(&argvars[0], NULL); ! if (lnum < 0) // no valid number, try using arg like line() { int fnum; pos_T *fp = var2fpos(&argvars[0], TRUE, &fnum, FALSE); *** ../vim-8.2.2669/src/testdir/test_vim9_builtin.vim 2021-03-27 22:20:16.275228566 +0100 --- src/testdir/test_vim9_builtin.vim 2021-03-28 15:42:55.956613672 +0200 *************** *** 123,128 **** --- 123,132 ---- var res2: bool = append(3, 'two') assert_equal(false, res2) assert_equal(['0', 'one', '1', 'two', '2'], getline(1, 6)) + + append(0, 'zero') + assert_equal('zero', getline(1)) + bwipe! enddef def Test_balloon_show() *** ../vim-8.2.2669/src/version.c 2021-03-28 15:29:39.646657785 +0200 --- src/version.c 2021-03-28 15:46:02.091822864 +0200 *************** *** 752,753 **** --- 752,755 ---- { /* Add new patch number below this line */ + /**/ + 2670, /**/ -- Due knot trussed yore spell chequer two fined awl miss steaks. /// 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 ///