summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-07-29 22:11:05 +0200
committerBram Moolenaar <Bram@vim.org>2020-07-29 22:11:05 +0200
commitea2d8d25718836bf627b67b7fcd28a1e528bb7b9 (patch)
tree7e7b8bf47580bd922ef16614903881ef4e8892cd
parentc7e44a7e4caedc1bc33f5c8e481109c0ae002823 (diff)
downloadvim-git-ea2d8d25718836bf627b67b7fcd28a1e528bb7b9.tar.gz
patch 8.2.1325: Vim9: using Vim9 script for autaload not testedv8.2.1325
Problem: Vim9: using Vim9 script for autaload not tested. Solution: Add a test. Update help.
-rw-r--r--runtime/doc/vim9.txt10
-rw-r--r--src/testdir/sautest/autoload/auto9.vim9
-rw-r--r--src/testdir/test_autoload.vim5
-rw-r--r--src/version.c2
4 files changed, 23 insertions, 3 deletions
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index 7b2597dc6..5d264b673 100644
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -118,9 +118,13 @@ Functions and variables are script-local by default ~
*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
diff --git a/src/testdir/sautest/autoload/auto9.vim b/src/testdir/sautest/autoload/auto9.vim
new file mode 100644
index 000000000..c89ce3a33
--- /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
diff --git a/src/testdir/test_autoload.vim b/src/testdir/test_autoload.vim
index b8c4fa251..57967bf64 100644
--- 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
diff --git a/src/version.c b/src/version.c
index 0734bdc1e..02fa08780 100644
--- 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,