To: vim_dev@googlegroups.com Subject: Patch 9.0.0630 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 9.0.0630 Problem: In Vim9 script a numbered function cannot be called. Solution: Do not require "g:" before a numbered function name. (closes #11254) Files: src/userfunc.c, src/testdir/test_vim9_func.vim *** ../vim-9.0.0629/src/userfunc.c 2022-09-24 11:30:38.373605018 +0100 --- src/userfunc.c 2022-09-30 19:08:40.495534878 +0100 *************** *** 2095,2101 **** { return ufunc->uf_name[0] != K_SPECIAL && (ufunc->uf_flags & FC_LAMBDA) == 0 ! && vim_strchr(ufunc->uf_name, AUTOLOAD_CHAR) == NULL; } /* --- 2095,2102 ---- { return ufunc->uf_name[0] != K_SPECIAL && (ufunc->uf_flags & FC_LAMBDA) == 0 ! && vim_strchr(ufunc->uf_name, AUTOLOAD_CHAR) == NULL ! && !isdigit(ufunc->uf_name[0]); } /* *** ../vim-9.0.0629/src/testdir/test_vim9_func.vim 2022-09-23 16:11:33.205103369 +0100 --- src/testdir/test_vim9_func.vim 2022-09-30 19:08:13.735360627 +0100 *************** *** 4210,4215 **** --- 4210,4234 ---- unlet g:mydict enddef + def Test_numbered_function_call() + var lines =<< trim END + let s:legacyscript = {} + func s:legacyscript.Helper() abort + return "Success" + endfunc + let g:legacyscript = deepcopy(s:legacyscript) + + let g:legacy_result = eval("g:legacyscript.Helper()") + vim9cmd g:vim9_result = eval("g:legacyscript.Helper()") + END + v9.CheckScriptSuccess(lines) + assert_equal('Success', g:legacy_result) + assert_equal('Success', g:vim9_result) + + unlet g:legacy_result + unlet g:vim9_result + enddef + def Test_go_beyond_end_of_cmd() # this was reading the byte after the end of the line var lines =<< trim END *** ../vim-9.0.0629/src/version.c 2022-09-30 17:57:32.543287031 +0100 --- src/version.c 2022-09-30 19:09:08.827708936 +0100 *************** *** 701,702 **** --- 701,704 ---- { /* Add new patch number below this line */ + /**/ + 630, /**/ -- The term "free software" is defined by Richard M. Stallman as being software that isn't necessarily for free. Confusing? Let's call it "Stallman software" then! -- Bram Moolenaar /// 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 ///