changeset 21550:b0b57d91671c v8.2.1325

patch 8.2.1325: Vim9: using Vim9 script for autaload not tested Commit: https://github.com/vim/vim/commit/ea2d8d25718836bf627b67b7fcd28a1e528bb7b9 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Jul 29 22:11:05 2020 +0200 patch 8.2.1325: Vim9: using Vim9 script for autaload not tested Problem: Vim9: using Vim9 script for autaload not tested. Solution: Add a test. Update help.
author Bram Moolenaar <Bram@vim.org>
date Wed, 29 Jul 2020 22:15:05 +0200
parents c32589555cc6
children 24c7210c4134
files runtime/doc/vim9.txt src/testdir/sautest/autoload/auto9.vim src/testdir/test_autoload.vim src/version.c
diffstat 4 files changed, 23 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -118,9 +118,13 @@ Functions and variables are script-local
 							*vim9-scopes*
 When using `:function` or `:def` to specify a new function at the script level
 in a Vim9 script, the function is local to the script, as if "s:" was
-prefixed.  Using the "s:" prefix is optional.
-
-To define or use a global function or variable the "g:" prefix must be used.
+prefixed.  Using the "s:" prefix is optional.  To define or use a global
+function or variable the "g:" prefix must be used.  For functions in an
+autoload script the "name#" prefix is sufficient. >
+	def ThisFunction()          # script-local
+	def s:ThisFunction()        # script-local
+	def g:ThatFunction()	    # global
+	def scriptname#function()   # autoload
 
 When using `:function` or `:def` to specify a new function inside a function,
 the function is local to the function.  It is not possible to define a
new file mode 100644
--- /dev/null
+++ b/src/testdir/sautest/autoload/auto9.vim
@@ -0,0 +1,9 @@
+vim9script
+
+func auto9#getsome()
+  return 'some'
+endfunc
+
+def auto9#add42(count: number): number
+  return count + 42
+enddef
--- a/src/testdir/test_autoload.vim
+++ b/src/testdir/test_autoload.vim
@@ -17,3 +17,8 @@ func Test_source_autoload()
   source sautest/autoload/sourced.vim
   call assert_equal(1, g:loaded_sourced_vim)
 endfunc
+
+func Test_autoload_vim9script()
+  call assert_equal('some', auto9#getsome())
+  call assert_equal(49, auto9#add42(7))
+endfunc
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1325,
+/**/
     1324,
 /**/
     1323,