]> granicus.if.org Git - vim/commitdiff
patch 8.2.1325: Vim9: using Vim9 script for autaload not tested v8.2.1325
authorBram Moolenaar <Bram@vim.org>
Wed, 29 Jul 2020 20:11:05 +0000 (22:11 +0200)
committerBram Moolenaar <Bram@vim.org>
Wed, 29 Jul 2020 20:11:05 +0000 (22:11 +0200)
Problem:    Vim9: using Vim9 script for autaload not tested.
Solution:   Add a test.  Update help.

runtime/doc/vim9.txt
src/testdir/sautest/autoload/auto9.vim [new file with mode: 0644]
src/testdir/test_autoload.vim
src/version.c

index 7b2597dc6e445e41aeb49a311e7da1f31e70e25a..5d264b673db88d51883acd1a44fbcb501d8caaf9 100644 (file)
@@ -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 (file)
index 0000000..c89ce3a
--- /dev/null
@@ -0,0 +1,9 @@
+vim9script
+
+func auto9#getsome()
+  return 'some'
+endfunc
+
+def auto9#add42(count: number): number
+  return count + 42
+enddef
index b8c4fa251f6734af68687f0778e3a05d3041f93d..57967bf64fb2cca536709254db8b438695f7b4a4 100644 (file)
@@ -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
index 0734bdc1e343c292ee1b86a88a9d75432239174d..02fa087806ef34e0e60e52d68e3edff213c6c05c 100644 (file)
@@ -754,6 +754,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1325,
 /**/
     1324,
 /**/