Patch 8.2.2758 Problem: Vim9: wrong line number for autoload function with wrong name. Solution: Set and restore SOURCING_LNUM. (closes #8100) Files: src/userfunc.c, src/testdir/test_vim9_func.vim
*** ../vim-8.2.2757/src/userfunc.c 2021-04-10 21:38:35.451959655 +0200 --- src/userfunc.c 2021-04-12 21:57:56.808855222 +0200 *************** *** 4058,4064 **** --- 4058,4068 ---- } if (j == FAIL) { + linenr_T save_lnum = SOURCING_LNUM; + + SOURCING_LNUM = sourcing_lnum_top; semsg(_("E746: Function name does not match script file name: %s"), name); + SOURCING_LNUM = save_lnum; goto erret; } } *** ../vim-8.2.2757/src/testdir/test_vim9_func.vim 2021-04-10 21:01:35.017507340 +0200 --- src/testdir/test_vim9_func.vim 2021-04-12 21:57:08.232932427 +0200 *************** *** 74,79 **** --- 74,103 ---- delete('Xdir', 'rf') enddef + def Test_autoload_name_mismatch() + var dir = 'Xdir/autoload' + mkdir(dir, 'p') + + var lines =<< trim END + vim9script + def scriptX#Function() + # comment + g:runtime = 'yes' + enddef + END + writefile(lines, dir .. '/script.vim') + + var save_rtp = &rtp + exe 'set rtp=' .. getcwd() .. '/Xdir' + lines =<< trim END + call script#Function() + END + CheckScriptFailure(lines, 'E746:', 2) + + &rtp = save_rtp + delete(dir, 'rf') + enddef + def CallRecursive(n: number): number return CallRecursive(n + 1) enddef *** ../vim-8.2.2757/src/version.c 2021-04-12 21:20:58.638708968 +0200 --- src/version.c 2021-04-12 21:54:20.941185262 +0200 *************** *** 752,753 **** --- 752,755 ---- { /* Add new patch number below this line */ + /**/ + 2758, /**/ -- >From "know your smileys": % Bike accident. A bit far-fetched, I suppose; although... o _ _ _ _o /\_ _ \\o (_)\__/o (_) _< \_ _>(_) (_)/<_ \_| \ _|/' \/ (_)>(_) (_) (_) (_) (_)' _\o_ /// Bram Moolenaar -- b...@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 /// -- -- 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 vim_dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/vim_dev/202104122003.13CK3NmA791803%40masaka.moolenaar.net.