From ea2d8d25718836bf627b67b7fcd28a1e528bb7b9 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Wed, 29 Jul 2020 22:11:05 +0200 Subject: 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. --- runtime/doc/vim9.txt | 10 +++++++--- src/testdir/sautest/autoload/auto9.vim | 9 +++++++++ src/testdir/test_autoload.vim | 5 +++++ src/version.c | 2 ++ 4 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 src/testdir/sautest/autoload/auto9.vim 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 @@ -754,6 +754,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1325, /**/ 1324, /**/ -- cgit v1.2.1