patch 8.2.3646: using <sfile> in a function gives an unexpected result
Problem: Using <sfile> in a function gives an unexpected result.
Solution: Give an error in a Vim9 function. (issue #9189)
diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim
index b3890ce..a0acac5 100644
--- a/src/testdir/test_vim9_builtin.vim
+++ b/src/testdir/test_vim9_builtin.vim
@@ -915,6 +915,14 @@
CheckDefAndScriptFailure2(['expand("a", 2)'], 'E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2')
CheckDefAndScriptFailure2(['expand("a", true, 2)'], 'E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3')
expand('')->assert_equal('')
+
+ var caught = false
+ try
+ echo expand("<sfile>")
+ catch /E1245:/
+ caught = true
+ endtry
+ assert_true(caught)
enddef
def Test_expandcmd()