patch 8.2.2758: Vim9: wrong line number for autoload function with wrong name
Problem: Vim9: wrong line number for autoload function with wrong name.
Solution: Set and restore SOURCING_LNUM. (closes #8100)
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index a97146d..a941a61 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -74,6 +74,30 @@
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